OVH Cloud OVH Cloud

De l'aide sur la methode FIND

2 réponses
Avatar
gminot
j'ai une table avec entre autres les champs MATRI et TECHNI


matri techni
401 bro.jerome
402 rieutord.alain
403 VERICEL.JL Ect

je cree un recordset avec

Dim bds As DAO.Database
Dim rst As DAO.Recordset
Set bds = CurrentDb
monsql = "SELECT * FROM PRODACCESS_AGENDA1 WHERE "
Moncritère = "AGENCE= " & "'" & 40 & "'" & " AND DATES Like " &
"'*" & [scrCDate] & "*'" & " AND STATIN<>'15'"
MonJeuEnreg = monsql & Moncritère

Set rst = bds.OpenRecordset(MonJeuEnreg)
'vérifie si record pas vide
If rst.BOF Then
MsgBox "il n'y a pas d'enregistrements"
GoTo Exit_Subfin
End If
jusque la tout va bien mais aprés j'utilise

MATRICULE = 4 & Format(T1, "00")
rst.FindFirst ("[MATRI] = " & [MATRICULE])
technicien = rst!TECHNI
et la je ne trouve jamais technicien=BRO pour 401 ect je trouve
toujours RIEUTORD ALAIN

Merci de votre aide car je coince sur ce truc qui parait simple mais
....

2 réponses

Avatar
3stone
Salut,

"gilles"
j'ai une table avec entre autres les champs MATRI et TECHNI
matri techni
401 bro.jerome
402 rieutord.alain
403 VERICEL.JL Ect

je cree un recordset avec

Dim bds As DAO.Database
Dim rst As DAO.Recordset
Set bds = CurrentDb
monsql = "SELECT * FROM PRODACCESS_AGENDA1 WHERE "
Moncritère = "AGENCE= " & "'" & 40 & "'" & " AND DATES Like " &
"'*" & [scrCDate] & "*'" & " AND STATIN<>'15'"
MonJeuEnreg = monsql & Moncritère

Set rst = bds.OpenRecordset(MonJeuEnreg)
'vérifie si record pas vide
If rst.BOF Then
MsgBox "il n'y a pas d'enregistrements"
GoTo Exit_Subfin
End If
jusque la tout va bien mais aprés j'utilise

MATRICULE = 4 & Format(T1, "00")
rst.FindFirst ("[MATRI] = " & [MATRICULE])
technicien = rst!TECHNI
et la je ne trouve jamais technicien=BRO pour 401 ect je trouve
toujours RIEUTORD ALAIN




Oui... mais de cette facon tu ne vérifie pas SI tu as trouvé...

Utilise plutot...

[...]
MATRICULE = 4 & Format(T1, "00")
rst.FindFirst ("[MATRI] = " & [MATRICULE])
If rst.Nomatch Then
MsgBox "Pas trouvé!"
else
technicien = rst!TECHNI
end if



--
A+
Pierre (3stone) Access MVP
-----------------------------
http://users.skynet.be/mpfa
-----------------------------

Avatar
gminot
merci beaucoup pour ton aide effectivement je navais pas compris que
meme si le critere n'était pas respécte il trouvait le premier enreg
Bon dieu mais s''est bien sur . Maintenant avec ton test cela
fonctionne .l'experience étant une somme de connerie j'avance donc un
peu aujourd hui en core merci




"3stone" wrote in message news:...
Salut,

"gilles"
j'ai une table avec entre autres les champs MATRI et TECHNI
matri techni
401 bro.jerome
402 rieutord.alain
403 VERICEL.JL Ect

je cree un recordset avec

Dim bds As DAO.Database
Dim rst As DAO.Recordset
Set bds = CurrentDb
monsql = "SELECT * FROM PRODACCESS_AGENDA1 WHERE "
Moncritère = "AGENCE= " & "'" & 40 & "'" & " AND DATES Like " &
"'*" & [scrCDate] & "*'" & " AND STATIN<>'15'"
MonJeuEnreg = monsql & Moncritère

Set rst = bds.OpenRecordset(MonJeuEnreg)
'vérifie si record pas vide
If rst.BOF Then
MsgBox "il n'y a pas d'enregistrements"
GoTo Exit_Subfin
End If
jusque la tout va bien mais aprés j'utilise

MATRICULE = 4 & Format(T1, "00")
rst.FindFirst ("[MATRI] = " & [MATRICULE])
technicien = rst!TECHNI
et la je ne trouve jamais technicien=BRO pour 401 ect je trouve
toujours RIEUTORD ALAIN




Oui... mais de cette facon tu ne vérifie pas SI tu as trouvé...

Utilise plutot...

[...]
MATRICULE = 4 & Format(T1, "00")
rst.FindFirst ("[MATRI] = " & [MATRICULE])
If rst.Nomatch Then
MsgBox "Pas trouvé!"
else
technicien = rst!TECHNI
end if