[Access2007] VBA problème sur SELECT
Résolu
ppc77
Messages postés
49
Statut
Membre
-
ppc77 Messages postés 49 Statut Membre -
ppc77 Messages postés 49 Statut Membre -
Bonjour à tous
Besoin d’un coup de main, je galère depuis ce matin sur ces quelques lignes (ACCES 2007)
ci-dessous ma routine VBA, qui devait me permettre de visualiser dans un formulaire le numéro de dossier d’un client en recherchant d’après le nom du client (champ ClientNOM dans le formulaire) dans la table CLIENT.
Cela me semblait tout bête, puisque déjà fait plusieurs fois…. Pis… ben la chaleur, la fatigue ? impossible de mettre au point cette… de séquence.
Si je remplace par
LIGNE A :VarSql = "SELECT CliNumDossier FROM Clients WHERE Clinom= '' & ''DUPONT" & '' ;"
Cela fonctionne
Si je compare visuellement le contenu de varsql de la ligne A au contenu de varsql LigneB : il sont (ou du moins semblent identiques).
Si j’incluse dans ma routine un varsql bis pour la ligne B et que je fasse un if varsql <> varsqlBis…. Ils sont différents.
Je suis incapable de voir cette différence
Alors je m’en remets à vous….Merci à tous pour votre aide
Bonne vacances à ceux qui vont partir
Patrick
Private Sub Dossier_GotFocus()
If Dossier = 0 Then
‘Si le numéro de dossier est égal à 0, recherche dans CLIENTS sur nom et prénom pour trouver dossier
Dim db As DAO.Database
Dim rs As DAO.Recordset
Dim VarSql As String
Set db = Application.CurrentDb
On Error GoTo ErrCherchDos
LIGNE B : VarSql = "SELECT CliNumDossier FROM Clients WHERE (Clinom= ''" & Me.ClientNom & "'');"
‘Clinom = Nom du champ dans la table ‘clients’
‘ClientNOM = Dans le formulaire ouvert, nom du champ contenant le nom du client à rechercher
Set rs = db.OpenRecordset(VarSql)
‘******************************* VISU MESSAGE D’ERREUR
‘Erreur d’exécution 3075
‘Erreur de syntaxe (opérateur absent) dans l’expression '' (Clinom= ''DUPONT'') ''
‘**************************************************************
If rs.RecordCount > 0 Then
Me.DossierINSERR = rs!ExpNumDossier
Else
Me.DossierINSERR = 0
End If
rs.Close
Set db = Nothing
Set rs = Nothing
End If
Exit Sub
ErrCherchDos: MsgBox Err.Description
End Sub
Besoin d’un coup de main, je galère depuis ce matin sur ces quelques lignes (ACCES 2007)
ci-dessous ma routine VBA, qui devait me permettre de visualiser dans un formulaire le numéro de dossier d’un client en recherchant d’après le nom du client (champ ClientNOM dans le formulaire) dans la table CLIENT.
Cela me semblait tout bête, puisque déjà fait plusieurs fois…. Pis… ben la chaleur, la fatigue ? impossible de mettre au point cette… de séquence.
Si je remplace par
LIGNE A :VarSql = "SELECT CliNumDossier FROM Clients WHERE Clinom= '' & ''DUPONT" & '' ;"
Cela fonctionne
Si je compare visuellement le contenu de varsql de la ligne A au contenu de varsql LigneB : il sont (ou du moins semblent identiques).
Si j’incluse dans ma routine un varsql bis pour la ligne B et que je fasse un if varsql <> varsqlBis…. Ils sont différents.
Je suis incapable de voir cette différence
Alors je m’en remets à vous….Merci à tous pour votre aide
Bonne vacances à ceux qui vont partir
Patrick
Private Sub Dossier_GotFocus()
If Dossier = 0 Then
‘Si le numéro de dossier est égal à 0, recherche dans CLIENTS sur nom et prénom pour trouver dossier
Dim db As DAO.Database
Dim rs As DAO.Recordset
Dim VarSql As String
Set db = Application.CurrentDb
On Error GoTo ErrCherchDos
LIGNE B : VarSql = "SELECT CliNumDossier FROM Clients WHERE (Clinom= ''" & Me.ClientNom & "'');"
‘Clinom = Nom du champ dans la table ‘clients’
‘ClientNOM = Dans le formulaire ouvert, nom du champ contenant le nom du client à rechercher
Set rs = db.OpenRecordset(VarSql)
‘******************************* VISU MESSAGE D’ERREUR
‘Erreur d’exécution 3075
‘Erreur de syntaxe (opérateur absent) dans l’expression '' (Clinom= ''DUPONT'') ''
‘**************************************************************
If rs.RecordCount > 0 Then
Me.DossierINSERR = rs!ExpNumDossier
Else
Me.DossierINSERR = 0
End If
rs.Close
Set db = Nothing
Set rs = Nothing
End If
Exit Sub
ErrCherchDos: MsgBox Err.Description
End Sub
A voir également:
- [Access2007] VBA problème sur SELECT
- Incompatibilité de type vba ✓ - Forum Programmation
- Excel compter cellule couleur sans vba - Guide
- Please select boot device - Forum Windows
- Find vba - Astuces et Solutions
- Reboot and select proper boot device asus - Forum Matériel & Système
2 réponses
Salut,
pourquoi est-ce que tu mets des quotes à n'en plus finir ?
Essaye ça :
A+ Blux
pourquoi est-ce que tu mets des quotes à n'en plus finir ?
Essaye ça :
(Clinom= '" & Me.ClientNom & "');"
A+ Blux
"Les cons, ça ose tout. C'est même à ça qu'on les reconnait"
bonjour blux
pourquoi tant de quotes ???? bonne question .... Bien entendu ta réponse a résolu le 'problème' qui n'aurait pas dû en être un...
Avoir perdu tant de temps pour ça, on peut dire que les quotes m'on co(u)té cher.
Merci beaucoup à toi et tous les autres, et encore une fois bonnes vacances pour les concernés.
Patrick
pourquoi tant de quotes ???? bonne question .... Bien entendu ta réponse a résolu le 'problème' qui n'aurait pas dû en être un...
Avoir perdu tant de temps pour ça, on peut dire que les quotes m'on co(u)té cher.
Merci beaucoup à toi et tous les autres, et encore une fois bonnes vacances pour les concernés.
Patrick