OVH Cloud OVH Cloud

VBA

3 réponses
Avatar
FujitsuChaos
Bonjour a tous

Vou pouvez corriger sur VBA ca ce n'est pas bon

Table
Dim Sql1 As String
Sql1 = "Select [Code] from Table GP A3"
If Not Me.H01 = Sql1 Then
MsgBox "Ce code n'existe pas !", vbOKOnly + vbExclamation,
"Attention"
Me.H01 = ""
End If

Merci

Marco

3 réponses

Avatar
3stone
Salut,

"FujitsuChaos"
| Vou pouvez corriger sur VBA ca ce n'est pas bon


Effectivement...


| Table

qu'est ce ?




| Dim Sql1 As String
| Sql1 = "Select [Code] from Table GP A3"


tu mets dans la variable Sql1 la chaine "Select [Code] from Table GP A3"
mais tu ne l'exécute pas...



| If Not Me.H01 = Sql1 Then


Me.H01 ne peut donc pas contenir la chaîne "Select [Code] from .... "




| MsgBox "Ce code n'existe pas !", vbOKOnly + vbExclamation,
| "Attention"
| Me.H01 = ""
| End If


Le nom de la table c'est "GP A3" ?
Si oui, tu ne peux pas écrire cela ainsi avec des espaces... il faut l'entourer de crochets [GP A3]

Ensuite, tu sélectionne le champ [Code] de la table, bien... mais, il n'y a qu'un seul enregistrement ?
Si oui, tu peux plutôt faire ainsi :

if Me.H01 <> DLookup("[Code]","[GP A3]") then
MsgBox "Ce code n'existe pas..."
'si tu place cela dans l'événement "avant mise à jour" de H01 tu ajoute
Cancel = True
end if



--
A+
Pierre (3stone) Access MVP
Perso: http://users.skynet.be/accesshome/
Conseils MPFA: http://users.skynet.be/mpfa/
Email : http://www.cerbermail.com/?Xfg61Z3IQw
Avatar
FujitsuChaos
Salut Pierre

c'est parfait mais ce n'est pas seul, il y a plusieurs enregistrement dans
la table "GP A3"
Il faut modifier pour rechercher (Dlookup) tous les enregistrements

If Me.H01 <> DLookup("[Code]", "[GP A3]") Then
MsgBox "Ce code n'existe pas !", vbOKOnly + vbExclamation,
"Attention"
Me.H01 = ""
End If
J'attende la réponse Merci Pierre

Marco


Salut,

"FujitsuChaos"

Le nom de la table c'est "GP A3" ?
Si oui, tu ne peux pas écrire cela ainsi avec des espaces... il faut
l'entourer de crochets [GP A3]

Ensuite, tu sélectionne le champ [Code] de la table, bien... mais, il n'y a
qu'un seul enregistrement ?
Si oui, tu peux plutôt faire ainsi :

if Me.H01 <> DLookup("[Code]","[GP A3]") then
MsgBox "Ce code n'existe pas..."
'si tu place cela dans l'événement "avant mise à jour" de H01 tu ajoute
Cancel = True
end if



--
A+
Pierre (3stone) Access MVP
Perso: http://users.skynet.be/accesshome/
Conseils MPFA: http://users.skynet.be/mpfa/
Email : http://www.cerbermail.com/?Xfg61Z3IQw
Avatar
3stone
Salut,

"FujitsuChaos"
| c'est parfait mais ce n'est pas seul, il y a plusieurs enregistrement dans
| la table "GP A3"
| Il faut modifier pour rechercher (Dlookup) tous les enregistrements
|
| If Me.H01 <> DLookup("[Code]", "[GP A3]") Then
| MsgBox "Ce code n'existe pas !", vbOKOnly + vbExclamation,
| "Attention"
| Me.H01 = ""
| End If
| J'attende la réponse Merci Pierre


Regarde l'aide sur la fonction "DLookup"

Il y a un troisième paramètre qui est une instructon "Where NumClient3"
mais sans le mot Where !

Donc, dans ton cas cela sera quelque chose comme:

if Me.H01 <> Dlookup("[Code]","[GP A3]","[Record ID]=" & Me.[Record ID])



--
A+
Pierre (3stone) Access MVP
Perso: http://users.skynet.be/accesshome/
Conseils MPFA: http://users.skynet.be/mpfa/
Email : http://www.cerbermail.com/?Xfg61Z3IQw