Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > Langages serveur > ASP
ASP Forum sur la programmation ASP. Avant de poster : Cours ASP, FAQ ASP
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 12/09/2006, 11h06   #1
Membre à l'essai
 
Inscription : octobre 2005
Messages : 82
Détails du profil
Informations forums :
Inscription : octobre 2005
Messages : 82
Points : 24
Points : 24
Par défaut Tester si une variable est vide

Bonjour,

je n'arrive pas à tester si une variable est vide ou pas.
J'ai essaye isNull mais cela ne fonctionne pas:

specialite=rsFor("spe_code")
if specialite isNull then
specialite="valeur"
end if

J'ai également essaye
=0
=""
=" "

Une erreur de syntaxe?

Merci
Christel
christel1982 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/09/2006, 11h11   #2
Membre actif
 
Inscription : avril 2004
Messages : 202
Détails du profil
Informations personnelles :
Âge : 36

Informations forums :
Inscription : avril 2004
Messages : 202
Points : 192
Points : 192
j'ai une fonction qui fait ça très bien et qui met une valeur par défaut :
Code :
1
2
3
4
5
6
7
function default_value(pChaine, pValue)
	if pChaine = "" or isnull(pChaine) then
		default_value = pValue
	else
		default_value = pChaine
	end if
end function
__________________
Nico, l'agrotic géomatic
agrotic est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/09/2006, 11h36   #3
Membre à l'essai
 
Inscription : octobre 2005
Messages : 82
Détails du profil
Informations forums :
Inscription : octobre 2005
Messages : 82
Points : 24
Points : 24
J'ai essaye et ca marche tres bien quand pValue est égal à quelque chose.
Mais en fait moi je veux que ma variable soit égale à 6 espaces.

En fait je recupere ma valeur : specialite=rsFor("spe_code")
si c'est NULL dans la base de données je veux que specialite=" "
mais je n'arrive pas à remplir ma variable de 6 espaces...
christel1982 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/09/2006, 11h40   #4
Membre actif
 
Inscription : avril 2004
Messages : 202
Détails du profil
Informations personnelles :
Âge : 36

Informations forums :
Inscription : avril 2004
Messages : 202
Points : 192
Points : 192
ça ne fait pas ce que tu veux, ça ?
Code :
specialite = default_value(rsFor("spe_code"), "      ")
ça devrait ...
__________________
Nico, l'agrotic géomatic
agrotic est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/09/2006, 11h42   #5
Membre à l'essai
 
Inscription : octobre 2005
Messages : 82
Détails du profil
Informations forums :
Inscription : octobre 2005
Messages : 82
Points : 24
Points : 24
specialite=rsFor("spe_code")
response.write default_value(specialite, " ")
response.write "-" & specialite & "-<br>"

Résultat:
--
--
--
--

(4 occurrences NULL)
christel1982 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/09/2006, 11h44   #6
Membre actif
 
Inscription : avril 2004
Messages : 202
Détails du profil
Informations personnelles :
Âge : 36

Informations forums :
Inscription : avril 2004
Messages : 202
Points : 192
Points : 192
si tu ne demandes pas à remplacer 'specialite' par ce que renvoit la fonction default_value, c'est normal, non ?
__________________
Nico, l'agrotic géomatic
agrotic est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/09/2006, 11h57   #7
Membre à l'essai
 
Inscription : octobre 2005
Messages : 82
Détails du profil
Informations forums :
Inscription : octobre 2005
Messages : 82
Points : 24
Points : 24
effectivement lol
Code :
1
2
3
4
 
specialite=rsFor("spe_code")
specialite = default_value(specialite, "      ")
response.write can_num & "-" & specialite & "-<br>"
Me donne:

- -
- -
- -
- -

soit un seul espace !
christel1982 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/09/2006, 12h00   #8
Membre actif
 
Inscription : avril 2004
Messages : 202
Détails du profil
Informations personnelles :
Âge : 36

Informations forums :
Inscription : avril 2004
Messages : 202
Points : 192
Points : 192
dans ton code, je ne vois qu'un seul espace au niveau du default_value

donc, le résultat ne me parait pas abhérrant
__________________
Nico, l'agrotic géomatic
agrotic est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/09/2006, 12h02   #9
Membre à l'essai
 
Inscription : octobre 2005
Messages : 82
Détails du profil
Informations forums :
Inscription : octobre 2005
Messages : 82
Points : 24
Points : 24
oui c'est le forum qui me les a enlevés, voir plus haut j'ai mis les balises codes:

Code :
1
2
3
4
 
specialite=rsFor("spe_code")
specialite = default_value(specialite, "      ")
response.write can_num & "-" & specialite & "-<br>"
christel1982 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/09/2006, 13h16   #10
Membre actif
 
Inscription : avril 2004
Messages : 202
Détails du profil
Informations personnelles :
Âge : 36

Informations forums :
Inscription : avril 2004
Messages : 202
Points : 192
Points : 192
dans ce cas, je te dirai que certains navigateurs font un peu n'importe quoi avec les séries d'espace... préfère un autre caractère pour tester (ou un len(specialite))
__________________
Nico, l'agrotic géomatic
agrotic est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/09/2006, 13h41   #11
Membre à l'essai
 
Inscription : octobre 2005
Messages : 82
Détails du profil
Informations forums :
Inscription : octobre 2005
Messages : 82
Points : 24
Points : 24
en fait le but c'est d'ecrire dans un fichier des informations avec des espaces si jamais les données sont null.
je vais chercher une solution. si je trouve je la mets sur le site
christel1982 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/09/2006, 14h07   #12
Membre éprouvé
 
Inscription : septembre 2004
Messages : 368
Détails du profil
Informations forums :
Inscription : septembre 2004
Messages : 368
Points : 402
Points : 402
Salut

j'utilise cete fonction

Code :
1
2
3
4
5
6
7
8
9
 
'Retourne la valeur de strDefault dans le cas ou valeur est nulle
Function fDefaultValue(byval strValue,byval strDefault)
	If len(strValue) = 0 or IsNull(strValue) then
		fDefaultValue= strDefault
	Else
		fDefaultValue= strValue
	End If
End Function
Gwenn est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/09/2006, 14h13   #13
Expert Confirmé Sénior

 
Avatar de Immobilis
 
Inscription : mars 2004
Messages : 5 849
Détails du profil
Informations forums :
Inscription : mars 2004
Messages : 5 849
Points : 5 965
Points : 5 965
Tu pourrais faire des tests sur le contenu du type
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 
on error resume next
Select case rsFor("spe_code")
    case isnull
        response.write("is null")
    case ""
        response.write("Rien")
    case 0
        response.write("egal 0")
    case isEmpty
        response.write("Vide")
    case else
        response.write("Else")
End select
Ca te permettrait d'y voir plus clair.

PS: je ne sais plus si c'est isnull ou is null et isempty ou is empty qui marche pour ces tests. Ou peut-être:
Code :
1
2
3
4
5
6
 
Select case isnull(rsFor("spe_code"))
  case true
  case false
  case else
end select
A+
Immobilis est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/09/2006, 11h01   #14
Membre à l'essai
 
Inscription : octobre 2005
Messages : 82
Détails du profil
Informations forums :
Inscription : octobre 2005
Messages : 82
Points : 24
Points : 24
Le test marche à présent. LE problème est le remplissage de la variable par 6 espaces
specialite=" "
ca ne me prend qu'un espace ...

J'ai également essaye:
Code :
1
2
3
4
5
6
7
8
9
10
 
                     if len(specialite)<6 then
				nb_blanc=6-len(specialite)
				i=0
				'response.write nb_blanc
				DO WHILE (i<nb_blanc)
					specialite=  specialite& " " 
					i=i+1
				Loop
			end if
christel1982 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 05h48.


 
 
 
 
Partenaires

Hébergement Web