Erreur de code

Résolu
cs_tenthor Messages postés 55 Date d'inscription dimanche 13 novembre 2005 Statut Membre Dernière intervention 29 juin 2007 - 5 mai 2006 à 14:12
cs_tenthor Messages postés 55 Date d'inscription dimanche 13 novembre 2005 Statut Membre Dernière intervention 29 juin 2007 - 5 mai 2006 à 14:47
Bonjour

je developpe sous access et vba. J'ai un code, mais il doit y avoir une erreur.
Quand je clique sur le bouton rechercher, le code suivant s'execute :

Dim sql As String
Dim cWhere As Boolean

cWhere = False
sql = "select * from ACTION"
MsgBox Me!cDateDeb
MsgBox Me!cDateFin
If Me!cDateDeb And cWhere Then sql sql & " and ACTION.Act_Date_Deb " & Me!tDateDeb
Else
If Me!cDateDeb Then sql sql & " where ACTION.Act_Date_Deb " & Me!tDateDeb
cWhere = True
End If
End If
If Me!cDateFin And cWhere Then sql sql & " and ACTION.Act_Date_Fin " & Me!tDateFin
Else
MsgBox "bou"
If Me!cDateFin Then
MsgBox "re-bou" sql sql & " where ACTION.Act_Date_Fin " & Me!tDateFin
cWhere = True
End If
End If

MsgBox lEtat
MsgBox sql

Lors de l'execution, j'ai le problème suivant : une fenetre s'ouvre ayant pour titre "Microsoft office access" et pour message : "Utilisation incorrect de Null".

Comme vous le voyer j'ai "pister" mon programme. Le message "bou", s'affiche, puis c'est l'erreur (pas de re-bou !).

Petite precisison : j'essaye de faire un moteur de recherche pour ma base de données, qui créé une requete dynamiquement.
Toute les zone de saisie des critères sont désactivé. Si je coche la case, j'active la zone de saisie, puis je saisie mon critère. Enfin je clique sur rechercher. Toute les variables commencant par c sont des case à cocher (sauf cWhere qui me sert a savoir si c'est le premier critère), les variable commencant par l sont des liste de choix et enfin celle par t sont des zone de texte.

Voilà si quelqu'un peut m'aider, ca serait cool
Merci d'avance .

1 réponse

cs_tenthor Messages postés 55 Date d'inscription dimanche 13 novembre 2005 Statut Membre Dernière intervention 29 juin 2007 1
5 mai 2006 à 14:47
J'ai trouver l'erreu. Désolé pour le dérrangement.

Pour info, il faut mettre pour les case à cocher :
If Me!cDateDeb= True And cWhere Then ....

il faut obligatoirement mettre "= true"
je suppose que c'est pas considéré tout à fait comme un booleen
3
Rejoignez-nous