Problème d'ouverture de formulaire à partir d'un autre
gumbi machine
Messages postés
57
Date d'inscription
Statut
Membre
Dernière intervention
-
le meruvien Messages postés 1130 Date d'inscription Statut Membre Dernière intervention -
le meruvien Messages postés 1130 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
J'ai un problème pour ouvrir un formulaire d'un autre.
J'ai créé un formulaire de sélection contenant une liste déroulante qui affiche un SELECT DISTINCT des informations d'un des champs de mon formulaire de consultation d'inventaire.
Donc, je sélectionne une occurrence dans la liste déroulante, je clic sur mon bouton et mon formulaire de consultation s'ouvre et affiche uniquement les items d'inventaire correspondant à ma sélection du formulaire précédent.
Jusque là, tout fonction très bien...
Mon problème est que mon champ est un champ texte et lorsque celui-ci contient une apostrophe ( ' ), j'ai le message d'erreur suivant:
Exemple:
Erreur de syntaxe (opérateur absent) dans l'expression [CHAMP]='aujourd'hui".
Je sais que le problème est en lien avec l'apostrophe dans mon champ...
Voici le code VB de mon bouton:
Dim stDocName As String
Dim stLinkCriteria As String
stDocName = "F_CNSUL_INV"
Dim stMac As String
stLinkCriteria = "[CHAMP]=" & "'" & Me![SELECT_CHAMP] & "'"
DoCmd.OpenForm stDocName, , , stLinkCriteria
Je ne suis pas très fort en VB...
Quelqu'un a une idée pour régler mon problème ?
Merci à l'avance
J'ai un problème pour ouvrir un formulaire d'un autre.
J'ai créé un formulaire de sélection contenant une liste déroulante qui affiche un SELECT DISTINCT des informations d'un des champs de mon formulaire de consultation d'inventaire.
Donc, je sélectionne une occurrence dans la liste déroulante, je clic sur mon bouton et mon formulaire de consultation s'ouvre et affiche uniquement les items d'inventaire correspondant à ma sélection du formulaire précédent.
Jusque là, tout fonction très bien...
Mon problème est que mon champ est un champ texte et lorsque celui-ci contient une apostrophe ( ' ), j'ai le message d'erreur suivant:
Exemple:
Erreur de syntaxe (opérateur absent) dans l'expression [CHAMP]='aujourd'hui".
Je sais que le problème est en lien avec l'apostrophe dans mon champ...
Voici le code VB de mon bouton:
Dim stDocName As String
Dim stLinkCriteria As String
stDocName = "F_CNSUL_INV"
Dim stMac As String
stLinkCriteria = "[CHAMP]=" & "'" & Me![SELECT_CHAMP] & "'"
DoCmd.OpenForm stDocName, , , stLinkCriteria
Je ne suis pas très fort en VB...
Quelqu'un a une idée pour régler mon problème ?
Merci à l'avance
A voir également:
- Problème d'ouverture de formulaire à partir d'un autre
- Whatsapp formulaire opposition - Guide
- Creer un groupe whatsapp a partir d'un autre groupe - Guide
- Formulaire de réclamation facebook - Guide
- Formulaire de reclamation instagram - Guide
- Comment faire une recherche à partir d'une photo - Guide
5 réponses
bonjour,
En effet, l'erreur vient des guillemets!
[champ], c'est quoi? un champ du form ou un simple nom?
si c'est un champ du form, enlève les guillemets, sinon, enlève les []
essaie ça:
En effet, l'erreur vient des guillemets!
[champ], c'est quoi? un champ du form ou un simple nom?
si c'est un champ du form, enlève les guillemets, sinon, enlève les []
essaie ça:
stLinkCriteria = "CHAMP=" & Me![SELECT_CHAMP]
DoCmd.OpenForm stDocName, , , stLinkCriteria
ou:
stLinkCriteria = [CHAMP]=" & Me![SELECT_CHAMP]
Bonjour le meruvien,
ça ne fonctionne pas...
Dans mon exemple, (aujourd'hui) est le texte sélectionné dans la liste déroulante du champ [SELECT_CHAMP], [SELECT_CHAMP] est le champ de mon formulaire source et [CHAMP] est celui de mon formulaire cible.
merci de m'aider !
ça ne fonctionne pas...
Dans mon exemple, (aujourd'hui) est le texte sélectionné dans la liste déroulante du champ [SELECT_CHAMP], [SELECT_CHAMP] est le champ de mon formulaire source et [CHAMP] est celui de mon formulaire cible.
merci de m'aider !
oui, par exemple:
une table "magasin" avec auchan, leclerc, carrefour
ces noms sont donc dans la liste deroulante!
si je veut ouvrir le form d'auchan, je sélectionne "auchan" dans ma LD, et mon code sera donc:
ou tu met directement:
une table "magasin" avec auchan, leclerc, carrefour
ces noms sont donc dans la liste deroulante!
si je veut ouvrir le form d'auchan, je sélectionne "auchan" dans ma LD, et mon code sera donc:
stLinkCriteria = [magasin]=Me![SELECT_CHAMP]
ou tu met directement:
docmd.openform stdocname,,,"[magasin]=Me![SELECT_CHAMP]"
C'est ça...
Sauf que dans mon cas, c'est (d'auchan) qui s'affiche dans ma liste déroulante... il y a l'apostrophe ( ' ) à l'intérieur de mon champ... et c'Est ce qui cause le problème...
Quand il n'y a pas d'apostrophe dans la sélection, tout fonctionne à merveille !
comment je peux faire pour que le code VB "oubli" l'apostrophe ?
Sauf que dans mon cas, c'est (d'auchan) qui s'affiche dans ma liste déroulante... il y a l'apostrophe ( ' ) à l'intérieur de mon champ... et c'Est ce qui cause le problème...
Quand il n'y a pas d'apostrophe dans la sélection, tout fonctionne à merveille !
comment je peux faire pour que le code VB "oubli" l'apostrophe ?
Disons que j'ai 2 choix dans ma liste déroulante...
Demain
Aujourd'hui
Si je sélectionne Demain, le lien se fait et mon formulaire s'ouvre avec tous (et uniquement) les enregistrements qui ont Demain dans le champ [CHAMP]
Si je sélectionne Aujourd'hui (dans lequel il y a un apostrophe (single quote)), j'ai le message d'erreur...
Demain
Aujourd'hui
Si je sélectionne Demain, le lien se fait et mon formulaire s'ouvre avec tous (et uniquement) les enregistrements qui ont Demain dans le champ [CHAMP]
Si je sélectionne Aujourd'hui (dans lequel il y a un apostrophe (single quote)), j'ai le message d'erreur...
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Les guillemets ne fonctionne pas, j'ai tout essayé...
Et je ne peut pas tricher, je ne serai pas l'utilisateur final.
Je dois pouvoir gérer la présence de l'apostrophe à l'intérieur du champ.
il doit y avoir un moyen qu'il ce fasse une conversion de l'apostrophe en un autre caractère lorsque présent à l'intérieur du champ pour que ça n'entre pas en conflit ?
Et je ne peut pas tricher, je ne serai pas l'utilisateur final.
Je dois pouvoir gérer la présence de l'apostrophe à l'intérieur du champ.
il doit y avoir un moyen qu'il ce fasse une conversion de l'apostrophe en un autre caractère lorsque présent à l'intérieur du champ pour que ça n'entre pas en conflit ?