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 17/09/2011, 16h41   #1
Membre du Club
 
Homme Seb
Inscription : février 2008
Messages : 130
Détails du profil
Informations personnelles :
Nom : Homme Seb
Localisation : France

Informations forums :
Inscription : février 2008
Messages : 130
Points : 40
Points : 40
Par défaut erreur code lors d'une verification de doublon

Bonjour,

J'ai un formulaire de saisie qui sert a renseigner une table.
J'essaye de faire un code qui verifie que tous les champs sont renseignés et que la saisie n'a pas été deja renseignée dans la table pour cette année.
Mon code renvoi une erreur:
Citation:
Erreur d'execution'2471'
L'expression entrée comme paramètre de requete est à l'origine de l'erreur suivante: "EXTI".
EXTI est la valeur du type_vop du formulaire

Je vous donne le code, j'ai mis en rouge la ligne est en défaut:
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
Private Sub Commande11_Click()


Dim intRep As String
'Controler la saisie des champs
If (Me.Type_vop <> "") And (Me.cie <> "") And (Me.date_vop) <> "" And (Me.note.Value <> 1) Then
'déclaration de la variable qui servira pour la verification de doublure, renvoi 0 s'il n'y a pas de doublure
Dim dblverif As Long, dvop As Date
dvop = Year(CDate(Me!date_vop))
dblverif = Nz(DLookup("[Type_vop]", "vop", "([Type_vop]<>" & Nz(Me!Type_vop.Value, 0) & ") and ([cie] <>" & Me!cie.Value & ") and year(date_vop)<>" & dvop), 0)'mettre le controle des doublons
If (dblverif = 0) Then
    
    DoCmd.Close acForm, "vop"
   Else
      MsgBox ("Ce type de contrôle a déja été enregistré cette année pour cette compagnie !")
   End If
   
Else
   MsgBox ("Erreur de saisie, veuillez renseigner tous les champs et la note !")
End If

End Sub
Merci de votre aide

Bonne journée

Seb
sebing est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/09/2011, 20h05   #2
Rédacteur/Modérateur

 
Avatar de loufab
 
Homme Fabrice CONSTANS
Ingénieur développement logiciels
Inscription : avril 2005
Messages : 7 089
Détails du profil
Informations personnelles :
Nom : Homme Fabrice CONSTANS
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Ingénieur développement logiciels

Informations forums :
Inscription : avril 2005
Messages : 7 089
Points : 11 622
Points : 11 622
Bonjour,

Une piste pour apprendre à se corriger.

Que renvoi cette expression ?

Code :
debug.print "([Type_vop]<>" & Nz(Me!Type_vop.Value, 0) & ") and ([cie] <>" & Me!cie.Value & ") and year(date_vop)<>" & dvop
Cordialement,
__________________
Classe MELA(CRUD) Opérateur IN et zone de liste
MsGraph et VBA - 1e Partie 2e partie
Entête d'états-Opérateur LIKE-Evénements formulaires-Cours 2010
Complément :Générateur de msgbox
Visitez mon Blog
Les questions techniques par MP ne sont pas lues et je ne pratique pas l'extispicine
loufab est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 17/09/2011, 21h34   #3
Membre du Club
 
Homme Seb
Inscription : février 2008
Messages : 130
Détails du profil
Informations personnelles :
Nom : Homme Seb
Localisation : France

Informations forums :
Inscription : février 2008
Messages : 130
Points : 40
Points : 40
Dans la fenetre d'execution j'ai:
Code :
1
2
3
4
5
6
([Type_vop]<>EPI) and ([cie] <>clic) and year(date_vop)<>2011
([Type_vop]<>EPI) and ([cie] <>clic) and year(date_vop)<>2011
([Type_vop]<>EPI) and ([cie] <>clic) and year(date_vop)<>2011
([Type_vop]<>EPI) and ([cie] <>clic) and year(date_vop)<>2011
([Type_vop]<>EPI) and ([cie] <>clic) and year(date_vop)<>2011
([Type_vop]<>EPI) and ([cie] <>clic) and year(date_vop)<>2011
Je comprend rien

Merci de l'aide apporté

Cordialement
Seb
sebing est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/09/2011, 08h04   #4
Rédacteur/Modérateur

 
Avatar de loufab
 
Homme Fabrice CONSTANS
Ingénieur développement logiciels
Inscription : avril 2005
Messages : 7 089
Détails du profil
Informations personnelles :
Nom : Homme Fabrice CONSTANS
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Ingénieur développement logiciels

Informations forums :
Inscription : avril 2005
Messages : 7 089
Points : 11 622
Points : 11 622
Avec des valeurs de type Texte(string) il faut les séparateurs.

soit doubler le double cote soit utiliser les simples cotes.

Code :
([Type_vop]<>EPI) and ([cie] <>clic) and year(date_vop)<>2011
[Type_vop] et [cie] sont des valeurs texte. Voici l'expression que tu dois obtenir.

Code :
([Type_vop]<>'EPI') and ([cie] <>'clic') and year(date_vop)<>2011
Voici comment tu dois modifier la ligne

Code :
"([Type_vop]<>'" & Nz(Me!Type_vop.Value, 0) & "') and ([cie] <>'" & Me!cie.Value & "') and year(date_vop)<>"
Tu as un bon tuto sur ce sujet :
le fonction de domaine et le debogage des requetes en VBA. A lire obligatoirement.

Cordialement,
__________________
Classe MELA(CRUD) Opérateur IN et zone de liste
MsGraph et VBA - 1e Partie 2e partie
Entête d'états-Opérateur LIKE-Evénements formulaires-Cours 2010
Complément :Générateur de msgbox
Visitez mon Blog
Les questions techniques par MP ne sont pas lues et je ne pratique pas l'extispicine
loufab est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 18/09/2011, 17h23   #5
Membre du Club
 
Homme Seb
Inscription : février 2008
Messages : 130
Détails du profil
Informations personnelles :
Nom : Homme Seb
Localisation : France

Informations forums :
Inscription : février 2008
Messages : 130
Points : 40
Points : 40
Merci, ça marche
J'ai lu les tutos en diagonale, ils sont sympas.
Le débogage est un peu dur à comprendre.
Je vais sortir les tutos en papier et les lire tranquillement à tête reposée.

Encore merci

Bonne journée

Seb
sebing 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 02h15.


 
 
 
 
Partenaires

Hébergement Web