j'aimerai tester l'existence d'une variable pour éviter que mon programme plante dès que celle-ci n'existe plus.
Je n'arrive pas à trouver comment faire.
<hr size="2" width="100%" />
...
Set InDB = CurrentDb
Set InSatz = InDB.OpenRecordset("Articles")
...
If .SetFieldVal("num2", Nz(c, "")) = False Then
Anzeige "AVERTISSEMENT", UebernahmeArt, InSatz.Fields!num2 & " num2:<" & InSatz.Fields!num2 & ">", Editor.GetLastError
End If
....
<hr size="2" width="100%" />Le problème, c'est que parfois, la variable "num2" n'est pas présente dans ma base donc le programme plante. Ce que j'aimerai, c'est qui cette variable n'existe pas, que je puisse continuer mon programme quand même.
Je ne connait rien aux VBA!! Merci pour votre aide...
Private Sub Test
On Error Goto Handler
....
Exit Sub
Handler:
Msgbox "Une erreur " & err.number & " est survenue :" & vbnewline & _
Err.Description
End Sub
Bonjour,
Tu rajoute simplement un test.
Ta variable est-elle réinitialisée? Si oui à quelle valeur?
Sinon tu rajoute simplement
If num2 > 0 then 'dans le cas où elle est réinitialisée à 0
If .SetFieldVal("num2", Nz(c, "")) = False Then
Anzeige "AVERTISSEMENT", UebernahmeArt, InSatz.Fields!num2 & " num2:<" & InSatz.Fields!num2 & ">", Editor.GetLastError
End If
end if
HellAngel777
<hr />
Les machines ne font pas d'erreurs
Heureusement nous sommes humains
En fait, la variable num2 correspond au nom d'une des colonnes de ma requête dans mon fichier Access. Cette colonne est amené ne pas être présente parfois. A ce moment là, le programme plante car il ne connait pas du num2.
Donc je n'initialise pas mes variables.
Je viens de voir qu'un erreur est présente dans mon premier code, je corrige :
<hr size= "2" width="100%" />
If .SetFieldVal("num2", Nz( InSatz.Fields!num2 , "")) = False Then
Anzeige "AVERTISSEMENT", UebernahmeArt, InSatz.Fields!num2 & " num2:<" & InSatz.Fields!num2 & ">", Editor.GetLastError
End If
<hr size="2" width="100%" />
La partie en gras est justement ce qui fait planter le prog car le champ num2 n'existe pas... Je ne peux pas la tester à null car vu qu'elle n'existe pas, ça plante.
Ce qui me faudrait, c'est une fonction isExiste() !!
Voilà ce qu'il me fallait, c'est parfais... ça règle mon problème.
Par contre je me demandais si je pouvais savoir si une erreur est apparu et ou? Cela me serait utile pour faire un log.