Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Access > VBA Access
VBA Access Le forum pour les questions relatives au code VBA sous Access, et à son environnement de développement VBE.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 14/07/2011, 19h14   #1
Membre habitué
 
Inscription : août 2005
Messages : 365
Détails du profil
Informations personnelles :
Âge : 44
Localisation : France, Gironde (Aquitaine)

Informations professionnelles :
Secteur : Santé

Informations forums :
Inscription : août 2005
Messages : 365
Points : 105
Points : 105
Par défaut Problème champ vide

Bonjour

Je rencontre des problème de déclaration de variables sur des recherches de domaine qui répondent "vide".

Code :
1
2
3
4
5
6
7
8
9
10
 
Private Sub Form_BeforeInsert(Cancel As Integer)
    Dim mespontages As Variant
 
    mespontages = Nz(DLookup("[remarque]", "T_type_chirurgie", "[ID_intervention]='" & Me!ID_Intervention & "'" And "[type_chirurgie]='Pontage*'"), 0)
 
    If mespontages =0  Then
        MsgBox "vous devez rentrer le détail des pontages"
    End If
End Sub
Le débogage me dit que mespontages =vide. il me semblait que le type variant gérait les champs vides. Le message d'erreur est une "incompatibilité de type"
Merci d'avance pour vos suggestions.
docjo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/07/2011, 19h34   #2
Rédacteur/Modérateur
 
Avatar de Philippe JOCHMANS
 
Homme Philippe JOCHMANS
Développeur informatique
Inscription : mai 2005
Messages : 17 616
Détails du profil
Informations personnelles :
Nom : Homme Philippe JOCHMANS
Âge : 44
Localisation : France, Loir et Cher (Centre)

Informations professionnelles :
Activité : Développeur informatique
Secteur : Communication - Médias

Informations forums :
Inscription : mai 2005
Messages : 17 616
Points : 30 961
Points : 30 961
Envoyer un message via MSN à Philippe JOCHMANS Envoyer un message via Skype™ à Philippe JOCHMANS
Bonjour

Vide ne veut pas dire qu'il n'y a pas de résultat.

Lorsque tu écris :
Code :
 "[type_chirurgie]='Pontage*'"
Si je lis tu veux tous les type de chirurgie qui commencent par Pontage, si c'est le cas il faut utiliser Like et non le symbole d'égalité.

Philippe
__________________
Détaillez vos questions, sinon vous aurez des réponses erronées et vous irez tout droit dans le et lisez les règles sinon
Si vous pensez commencer sans un livre, oublier : livres pour débuter
Vous pouvez consulter mes articles sur Access et PowerPoint
Le blog Office.

Inutile de m'envoyer un MP pour des questions techniques ou de me relancer , je n'y répondrais pas.
Philippe JOCHMANS est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/07/2011, 20h27   #3
Membre habitué
 
Inscription : août 2005
Messages : 365
Détails du profil
Informations personnelles :
Âge : 44
Localisation : France, Gironde (Aquitaine)

Informations professionnelles :
Secteur : Santé

Informations forums :
Inscription : août 2005
Messages : 365
Points : 105
Points : 105
Merci, je dois être fatigué car je n'avais pas vu cette bétise.
en outre, j'avais exclus le <AND>.
Le bon code pour moi est:

Code :
1
2
3
4
5
6
7
8
9
10
 
Private Sub Form_BeforeInsert(Cancel As Integer)
    Dim mespontages As Variant
 
    mespontages = Nz(DLookup("[remarque]", "T_type_chirurgie", "[ID_intervention]=" & Me!ID_Intervention & " And [type_chirurgie] like 'Pontage*'"), 0)
 
    If mespontages =0  Then
        MsgBox "vous devez rentrer le détail des pontages"
    End If
End Sub
Merci encore.
docjo est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 21h58.


 
 
 
 
Partenaires

Hébergement Web