Egalite de chaie ?

cs_lhomme Messages postés 27 Date d'inscription lundi 7 juin 2004 Statut Membre Dernière intervention 21 juillet 2004 - 14 juin 2004 à 16:45
cs_lhomme Messages postés 27 Date d'inscription lundi 7 juin 2004 Statut Membre Dernière intervention 21 juillet 2004 - 16 juin 2004 à 08:47
Je teste si deux variables ( qui sont des string ) sont egales.

mais jobtient une erreur !! D ou cela peut bien venir?

Voila mon code :
sql1 "select ID_HOTFIX from HOTFIX where ID_SERVER" & stock
    Set rs = dbs.OpenRecordset(sql1, dbOpenDynaset)
    
    While Not rs.EOF
        a = 0
        For j = 1 To retour
            If  rs.Fields("HOTFIX") = Séparer(iHotfixs, ";").PosAlr(j)  Then
                a  = a + 1
            End If
        Next
        
        If a = 0 Then
            MsgBox ("a effacer")
        End If
    Wend
    
    rs.Close


separer decoupe une chaine et en renvoie un morceau

Merci

5 réponses

cs_CanisLupus Messages postés 3757 Date d'inscription mardi 23 septembre 2003 Statut Membre Dernière intervention 13 mars 2006 20
14 juin 2004 à 17:16
Salut,

D'abord, tu n'aurais pas oublié un tit rs.movenext ?
Et puis, pourquoi tu n'écrirais pas :
if instr (iHotfixs,rs.Fields("HOTFIX")) then a=a+1

sinon, si ta fonction est analogue à split, c peut-être

Séparer(iHotfixs, ";")(PosAlr(j)) ou Séparer(iHotfixs, ";")(j)

qu'il faudrait écrire.

Cordialement

CanisLupus
0
Mooiz Messages postés 128 Date d'inscription mercredi 25 juin 2003 Statut Membre Dernière intervention 8 juillet 2005
14 juin 2004 à 17:17
a tout hasard essaye :
strcomp(rs.Fields("HOTFIX"), Séparer(iHotfixs, ";").PosAlr(j))

plutot que ton égalité
0
cs_lhomme Messages postés 27 Date d'inscription lundi 7 juin 2004 Statut Membre Dernière intervention 21 juillet 2004
15 juin 2004 à 09:27
je ne pense pas que lon ai besoin de mettre un rs.MoveNext dans ma boucle puisque je fais un :

While XXXXXXXXX ........ Wend

sinon le strcomp ne fonctionne pas. Jai fait un test :

j ai mis rs.Fields("HOTFIX") dans une variable string et Séparer(iHotfixs, ";").PosAlr(j) dans une autre string.

et Le programme affiche une erreur a :

str1 = rs.Fields("HOTFIX")
str2 = Séparer(iHotfixs, ";").PosAlr(j)

Comme si le type de rs.Fields("HOTFIX") et de Séparer(iHotfixs, ";").PosAlr(j) n etait STRING.

hum hum bizarre
0
cs_CanisLupus Messages postés 3757 Date d'inscription mardi 23 septembre 2003 Statut Membre Dernière intervention 13 mars 2006 20
15 juin 2004 à 19:53
D'abord, le while .... wend ne te dispense pas d'un rs.movenext. Finalement tu as de la chance d'avoir une erreur dès le départ car tu rentrerais dans une boucle interminable Personnellement je préfère le do ... loop c plus souple.

Cela dit, si tu disais quel message d'erreur tu as, ça serait plus simple.

Que le type de rs.Fields("HOTFIX") et de Séparer(iHotfixs, ";").PosAlr(j) ne soit pas string, je ne crois pas car si tes variables str1 et str2 sont du string ça marche quand même. La preuve, essaie str1=5, ça convertit le numérique en string.

D'un autre côté, je viens de m'apercevoir que ds ta requete, il n'y a pas le champ HOTFIX mais ID_HOTFIX. C ptet la que ça pèche non ? J'aurais du mieux lire ton bout de code.

Cordialement

CanisLupus
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_lhomme Messages postés 27 Date d'inscription lundi 7 juin 2004 Statut Membre Dernière intervention 21 juillet 2004
16 juin 2004 à 08:47
oui en effet j ai mis ID_HOTFIX au lieu de * !!

merci
0
Rejoignez-nous