Erreur de syntaxe (opérateur absent) dans l'expression acces
Ferméyg_be Messages postés 23427 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 14 janvier 2025 - 30 déc. 2022 à 19:27
- Erreur de syntaxe (opérateur absent) dans l'expression acces
- Erreur 0x80070643 - Accueil - Windows
- Erreur 0x80070643 Windows 10 : comment résoudre le problème de la mise à jour KB5001716 - Accueil - Windows
- 0668 quel opérateur ✓ - Forum Opérateurs & Réseaux mobiles
- 0650 quel opérateur - Forum Opérateurs & Réseaux mobiles
- Erreur 1001 outlook - Accueil - Bureautique
5 réponses
29 déc. 2022 à 16:59
Salut,
c'est normal, ton délimiteur de chaine est l'apostrophe et dans ton nom, tu as une apostrophe, donc access ne sait pas gérer, il croit que tu cherches Facture N° 1111 / ABBAYE DE L et ensuite il trouve ETOILE' qui ne correspond à aucune syntaxe connue de lui.
Change le délimiteur par un guillemet : "
29 déc. 2022 à 17:29
Et si tu ne changes les ' par des " que pour la condition [ec_intitule] ?
Parce que je me méfie des données qui semblent être numériques mais qu'on va tester comme des chaines (genre [CT_Num]).
29 déc. 2022 à 17:48
Private Sub Effacer_Recherche_Click()
Me.Rech_RefClient.Value = ""
Me.Rech_Client.Value = ""
Me.Rech_Collab.Value = ""
Forms![Gestion des Plafonds]![Controle Depassement Client].Form.RecordSource = "SELECT [Controle Depassement Client].RefClient,[Controle Depassement Client].Client,[Controle Depassement Client].Plafond,[Controle Depassement Client].SoldeTot,[Controle Depassement Client].Depassement,[Controle Depassement Client].SoldeA,[Controle Depassement Client].SoldeB,[Controle Depassement Client].CO_Nom,[Controle Depassement Client].BL,[Controle Depassement Client].[Total BL] from [Controle Depassement Client] where [Controle Depassement Client].Client Like '*" & Replace(Me.[Rech_Client], "'", "''") & "*'"
End Sub
Private Sub Rech_Client_AfterUpdate()
Forms![Gestion des Plafonds]![Controle Depassement Client].Form.RecordSource = "SELECT [Controle Depassement Client].RefClient,[Controle Depassement Client].Client,[Controle Depassement Client].Plafond,[Controle Depassement Client].SoldeTot,[Controle Depassement Client].Depassement,[Controle Depassement Client].SoldeA,[Controle Depassement Client].SoldeB,[Controle Depassement Client].CO_Nom,[Controle Depassement Client].BL,[Controle Depassement Client].[Total BL] from [Controle Depassement Client] where [Controle Depassement Client].Client Like '*" & Replace(Me.[Rech_Client], "'", "''") & "*'"
End Sub
Private Sub Rech_Client_Change()
Forms![Gestion des Plafonds]![Controle Depassement Client].Form.RecordSource = "SELECT [Controle Depassement Client].RefClient,[Controle Depassement Client].Client,[Controle Depassement Client].Plafond,[Controle Depassement Client].SoldeTot,[Controle Depassement Client].Depassement,[Controle Depassement Client].SoldeA,[Controle Depassement Client].SoldeB,[Controle Depassement Client].CO_Nom,[Controle Depassement Client].BL,[Controle Depassement Client].[Total BL] from [Controle Depassement Client] where [Controle Depassement Client].Client Like '*" & Me.[Rech_Client] & "*'"
End Sub
Private Sub Rech_Client_Enter()
Forms![Gestion des Plafonds]![Controle Depassement Client].Form.RecordSource = "SELECT [Controle Depassement Client].RefClient,[Controle Depassement Client].Client,[Controle Depassement Client].Plafond,[Controle Depassement Client].SoldeTot,[Controle Depassement Client].Depassement,[Controle Depassement Client].SoldeA,[Controle Depassement Client].SoldeB,[Controle Depassement Client].CO_Nom,[Controle Depassement Client].BL,[Controle Depassement Client].[Total BL] from [Controle Depassement Client] where [Controle Depassement Client].Client Like '*" & Me.[Rech_Client] & "*'"
End Sub
Private Sub Rech_Collab_AfterUpdate()
Forms![Gestion des Plafonds]![Controle Depassement Client].Form.RecordSource = "SELECT [Controle Depassement Client].RefClient,[Controle Depassement Client].Client,[Controle Depassement Client].Plafond,[Controle Depassement Client].SoldeTot,[Controle Depassement Client].Depassement,[Controle Depassement Client].SoldeA,[Controle Depassement Client].SoldeB,[Controle Depassement Client].CO_Nom,[Controle Depassement Client].BL,[Controle Depassement Client].[Total BL] from [Controle Depassement Client] where [Controle Depassement Client].CO_Nom Like '*" & Me.[Rech_Collab] & "*'"
End Sub
Private Sub Rech_Collab_Change()
Forms![Gestion des Plafonds]![Controle Depassement Client].Form.RecordSource = "SELECT [Controle Depassement Client].RefClient,[Controle Depassement Client].Client,[Controle Depassement Client].Plafond,[Controle Depassement Client].SoldeTot,[Controle Depassement Client].Depassement,[Controle Depassement Client].SoldeA,[Controle Depassement Client].SoldeB,[Controle Depassement Client].CO_Nom,[Controle Depassement Client].BL,[Controle Depassement Client].[Total BL] from [Controle Depassement Client] where [Controle Depassement Client].CO_Nom Like '*" & Me.[Rech_Collab] & "*'"
End Sub
Private Sub Rech_RefClient_AfterUpdate()
Forms![Gestion des Plafonds]![Controle Depassement Client].Form.RecordSource = "SELECT [Controle Depassement Client].RefClient,[Controle Depassement Client].Client,[Controle Depassement Client].Plafond,[Controle Depassement Client].SoldeTot,[Controle Depassement Client].Depassement,[Controle Depassement Client].SoldeA,[Controle Depassement Client].SoldeB,[Controle Depassement Client].CO_Nom,[Controle Depassement Client].BL,[Controle Depassement Client].[Total BL] from [Controle Depassement Client] where [Controle Depassement Client].RefClient Like '*" & Me.[Rech_RefClient] & "*'"
End Sub
Private Sub Rech_RefClient_Change()
Forms![Gestion des Plafonds]![Controle Depassement Client].Form.RecordSource = "SELECT [Controle Depassement Client].RefClient,[Controle Depassement Client].Client,[Controle Depassement Client].Plafond,[Controle Depassement Client].SoldeTot,[Controle Depassement Client].Depassement,[Controle Depassement Client].SoldeA,[Controle Depassement Client].SoldeB,[Controle Depassement Client].CO_Nom,[Controle Depassement Client].BL,[Controle Depassement Client].[Total BL] from [Controle Depassement Client] where [Controle Depassement Client].RefClient Like '*" & Me.[Rech_RefClient] & "*'"
End Sub
Private Sub Rech_RefClient_Enter()
Forms![Gestion des Plafonds]![Controle Depassement Client].Form.RecordSource = "SELECT [Controle Depassement Client].RefClient,[Controle Depassement Client].Client,[Controle Depassement Client].Plafond,[Controle Depassement Client].SoldeTot,[Controle Depassement Client].Depassement,[Controle Depassement Client].SoldeA,[Controle Depassement Client].SoldeB,[Controle Depassement Client].CO_Nom,[Controle Depassement Client].BL,[Controle Depassement Client].[Total BL] from [Controle Depassement Client] where [Controle Depassement Client].RefClient Like '*" & Me.[Rech_RefClient] & "*'"
End Sub
voici un peu les autres requetes qui regissent le macro. j'ai repris le travail de quelqu'un et j'ai du mal à comprendre ce qu'il a fait au fait
29 déc. 2022 à 18:09
bonjour,
quand tu partages du code, merci de tenir compte de ceci: https://codes-sources.commentcamarche.net/faq/11288-poster-un-extrait-de-code
Quel est le lien entre l'expression montrée au départ et le code montré en #4?
Comme tu as modifié le code montré au départ, ne penses-tu pas utile de montrer ce qu'il est devenu?
30 déc. 2022 à 12:46
Merci @yg_be StatutContributeur. D'accord. je prendrai compte de cela. Je montre juste les modules sur lesquels fonctionnent le formulaire Access
Le code montré au départ, je l'ai modifié en remplaçant les ' par les "
30 déc. 2022 à 19:27
montre nous le code modifié.
29 déc. 2022 à 18:09
Le requête en erreur n'est pas dans le code que tu as donné...
30 déc. 2022 à 12:46
donc cela se trouve dans la première alors. Bonjour @blux StatutModérateur
29 déc. 2022 à 18:17
Comment se fait-il que ce problème apparaisse subitement?
Modifies-tu le travail de quelqu'un sans comprendre ce qu'il a fait?
29 déc. 2022 à 18:29
Comment se fait-il que ce problème apparaisse subitement?
C'est peut-être la récente création de l'abbaye qui le déclenche...
29 déc. 2022 à 18:46
Le code existant semble se prémunir contre la présence d'apostrophe dans les champs:
"SELECT ... where Client Like '*" & Replace(Me.[Rech_Client], "'", "''") & "*'"
30 déc. 2022 à 12:47
J'essaie de modifier en comprenant. Mais je me suis perdu voila pourquoi je me tourne vers les experts.
30 déc. 2022 à 12:48
tout à fait. c'est pour cela que je me sens perdu
30 déc. 2022 à 12:49
y'a pas eu de nouvelle création. le client a toujours existé on a juste changé de représentant au client
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question30 déc. 2022 à 14:05
Donc je maintiens ce que j'ai dit, l'erreur que tu nous montres ne semble pas couverte par le traitement spécifique des autres requêtes dont tu nous as donné le code (la clause "replace...").
29 déc. 2022 à 17:17
Merci @blux StatutModérateur j'ai changé les ' par " et là il me retourne aucune donnée pourtant y'a des données à retourner au fait. et là, sur tous les autres clients, il retourne aucune données alors qu'avant c'est seulement les clients avec apostrophe qui retournait erreur de syntaxe