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 13/09/2006, 11h25   #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 Chercher une valeur dans un tableau

Bonjour,

J'ai un tableau tab_can() que je remplis avec des valeurs numériques.
Avant d'ajouter une valeur, j'iamerai vérifier qu'elle n'existe pas dans le tableau.

Existe-t-il une fonction qui permet de rechercher une valeur dans un tableau?

Merci
christel1982 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/09/2006, 13h06   #2
Membre régulier
 
Inscription : juillet 2005
Messages : 161
Détails du profil
Informations forums :
Inscription : juillet 2005
Messages : 161
Points : 92
Points : 92
C'est une fonction que j'ai fait pour savoir si une valeur est dans un tableau

Code :
1
2
3
4
5
6
7
8
9
10
11
12
 
Function Intab(valeur,tableau,longueurtab)
    Dim i
    Dim bo
    bo=false
    For i=1 to longueurtab
        If tableau(i)=valeur then
             bo=true
        End if
    Next
    Intab=bo
End Function
Mateache est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/09/2006, 13h38   #3
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
J'ajouterai ceci:
Code :
1
2
3
4
5
6
7
8
9
10
11
12
Function Intab(valeur,tableau,longueurtab)
    Dim i
    Dim bo
    bo=false
    For i=0 to UBOUND(tableau) 'le premier indice d'un tableau est 0
        If tableau(i)=valeur then
             bo=true
             EXIT FOR
        End if
    Next
    Intab=bo
End Function
Ce code ne marche que pour un tableau à une dimension

A+
Immobilis est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/09/2006, 16h15   #4
Membre à l'essai
 
Inscription : octobre 2005
Messages : 82
Détails du profil
Informations forums :
Inscription : octobre 2005
Messages : 82
Points : 24
Points : 24
voici mon code:
Code :
1
2
3
4
5
6
7
8
9
10
11
12
 
u=0
Dim tabcan(500)
while not rsCan.eof
	'numero
	can_num=rsCan("can_num")
 
	if not inTab(can_num, tabcan, 500) then
           tabcan(u)=can_num
        end if
        u=u+1
Wend
Erreur: Erreur d'exécution Microsoft VBScript (0x800A000D)
Type incompatible ...
christel1982 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/09/2006, 16h42   #5
Membre régulier
 
Inscription : décembre 2005
Messages : 177
Détails du profil
Informations personnelles :
Localisation : Belgique

Informations forums :
Inscription : décembre 2005
Messages : 177
Points : 85
Points : 85
essaye en ajoutant can_num=CInt(rsCan("can_num")), c'est peut être parce que ton recordset te renvoit une chaine et que ton tableau contient des valeurs numériques.

Edit : n'oublie pas rsCan.MoveNext, sinon tu pars dans une boucle infinie
Matth_S est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/09/2006, 09h01   #6
Membre à l'essai
 
Inscription : octobre 2005
Messages : 82
Détails du profil
Informations forums :
Inscription : octobre 2005
Messages : 82
Points : 24
Points : 24
merci
christel1982 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



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


 
 
 
 
Partenaires

Hébergement Web