Bonjour,
Tout d'abord un grand merci pour ce tuto !!!! Une aide bien précieuse pour moi qui n'est pas un novice, mais non plus un expert de VBA.
Je souhaite faire une vérification dans un champ si une référence existe :
Dans le champ OF, j'ai 400 lignes avec des références uniques.
J'ai placé dans Option Explicit :
1 2
| Public OF_NUMBER As Long
Public ID_USI60 As Long |
Puis
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
| Sub VERIF_OF_USI60()
'On réinitialise Result_Enr_Info
Result_Enr_Info = 0
' Ouvre une connexion:
If ADO.Cnn_Initialise(Cnn1, "I:\070_IND\03_Fabrication\09_Muret\500 - ARCHIVES\BDD_LIEBHERR1_V1.5.accdb") = True Then
' Initialisation du traitement ADO avec transaction:
ADO.Cnn_Debut AvecTransaction
If Not ADO.Enr_Info(Cnn1, "REF_USI60_V1", "OF='" & NumOF & "'", valeur, "ID") = 0 Then
ID_USI60 = ADO.Enr_Info(Cnn1, "REF_USI60_V1", "OF='" & NumOF & "'", valeur, "ID")
Else
MsgBox "Aucune donnée trouvée."
End If
'J'AI TESTE AUSSI CECI...
'ID_USI60 = ADO.Enr_Info(Cnn1, "REF_USI60_V1", "OF='" & NumOF & "'", valeur, "ID")
'If ID_USI60 = 0 Then
'MsgBox "La valeur du champ est : " & ID_USI60
'MsgBox ("Dans Verif_USI60, la valeur de ID_USI60 : " & ID_USI60)
'Else
' MsgBox "Aucune donnée trouvée."
' MsgBox ("Dans Verif_USI60, la valeur de ID_USI60 : " & ID_USI60)
'End If
'On ferme la transaction
'ADO.Cnn_Fin SansMessage
ADO.Cnn_Fin AvecMessage
End If
End Sub |
Malgré des test dans tous les sens... J'ai toujours cette erreur si, et uniquement si, l'OF n'existe pas dans mon champ OF :

En fait, je n'arrive pas à trouver une solution pour que Enr_Info, si il ne trouve pas de valeur, cela ne déclenche pas d'erreur.
Sinon crée une requete sous ACCESS, puis en VBA y faire appel pour voir si l'OF existe et si oui je récupére son ID.... Mais là aussi, ça dépasse mes compétences...
Merci à tous pour vos retours.
1 |
0 |