Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Problème de requête en VBA

11 réponses
Avatar
Eric
Bonjour,
J'ai un problème avec une requête exécutée dans un formulaire en VBA.
La requête est bonne, et elle fonctionne quand je l'utilise directement dans
Access. Mais dans mon formulaire, elle affiche "La requête ne renvoie aucun
enregistrement." J'ai mis la requête dans un msgbox, elle est correctement
interprétée. La table source et la table destination ont EXACTEMENT la même
structure.

Voici le code :
Me.RecordSource = "INSERT INTO [Comptes effacés] ( Compte, [Compte test],
client, serveur, [Mot de passe], [option vérification], [Adresse e-mail],
Offre, etat, [Commentaire compte], [date expiration] ) SELECT
Comptes.Compte, Comptes.[Compte test], Comptes.client, Comptes.serveur,
Comptes.[Mot de passe], Comptes.[option vérification], Comptes.[Adresse
e-mail], Comptes.Offre, Comptes.etat, Comptes.[Commentaire compte],
Comptes.[date expiration] FROM Comptes WHERE (((Comptes.compte)='" &
[Compte] & "'));"
Me.Requery

10 réponses

1 2
Avatar
Thierry (ze Titi)
Bonjour Eric

Il me paraît curieux de mettre une requête action en source de
formulaire... Met la requête sélection en source et exécute la requête
action au chargement, ça devrait fonctionner beaucoup mieux de cette
façon, non ?

Dans ton message du mardi
Bonjour,
J'ai un problème avec une requête exécutée dans un formulaire en VBA.
La requête est bonne, et elle fonctionne quand je l'utilise directement dans
Access. Mais dans mon formulaire, elle affiche "La requête ne renvoie aucun
enregistrement." J'ai mis la requête dans un msgbox, elle est correctement
interprétée. La table source et la table destination ont EXACTEMENT la même
structure.

Voici le code :
Me.RecordSource = "INSERT INTO [Comptes effacés] ( Compte, [Compte test],
client, serveur, [Mot de passe], [option vérification], [Adresse e-mail],
Offre, etat, [Commentaire compte], [date expiration] ) SELECT Comptes.Compte,
Comptes.[Compte test], Comptes.client, Comptes.serveur, Comptes.[Mot de
passe], Comptes.[option vérification], Comptes.[Adresse e-mail],
Comptes.Offre, Comptes.etat, Comptes.[Commentaire compte], Comptes.[date
expiration] FROM Comptes WHERE (((Comptes.compte)='" & [Compte] & "'));"
Me.Requery


--
Cordialement,
Thierry

Tout pour réussir avec Access :
http://www.mpfa.info

Avatar
Eric
Thierry (ze Titi) wrote:
Bonjour Eric

Il me paraît curieux de mettre une requête action en source de
formulaire... Met la requête sélection en source et exécute la requête
action au chargement, ça devrait fonctionner beaucoup mieux de cette
façon, non ?



Tu veux dire faire deux requêtes au lieu d'une ? PAr requête action, tu
parles sûrement de l'INSERT INTO. Mais de quel chargement parles-tu ?

Avatar
Thierry (ze Titi)
Effectivement, je parlais bien de l'INSERT INTO.
Je voulais dire "au chargement du formulaire, tu exécutes ton INSERT
INTO."



Message du mardi 21/08/2007

Thierry (ze Titi) wrote:
Bonjour Eric

Il me paraît curieux de mettre une requête action en source de
formulaire... Met la requête sélection en source et exécute la requête
action au chargement, ça devrait fonctionner beaucoup mieux de cette
façon, non ?



Tu veux dire faire deux requêtes au lieu d'une ? PAr requête action, tu
parles sûrement de l'INSERT INTO. Mais de quel chargement parles-tu ?


--
Cordialement,
Thierry

Tout pour réussir avec Access :
http://www.mpfa.info


Avatar
Eric
Thierry (ze Titi) wrote:
Effectivement, je parlais bien de l'INSERT INTO.
Je voulais dire "au chargement du formulaire, tu exécutes ton INSERT
INTO."

Je veux transférer les données quand je clique sur un bouton. Pourquoi ne

peut-on pas le faire en une requête ? Elle est correcte.

Avatar
Thierry (ze Titi)
Je veux transférer les données quand je clique sur un bouton. Pourquoi ne
peut-on pas le faire en une requête ? Elle est correcte.


A ce moment là, un
DoCmd.RunSQL "INSERT INTO..."
dans l'évènement "sur clic" du bouton suffit.

Dans ton message <u8KpBm# du mardi
Thierry (ze Titi) wrote:
Effectivement, je parlais bien de l'INSERT INTO.
Je voulais dire "au chargement du formulaire, tu exécutes ton INSERT
INTO."

Je veux transférer les données quand je clique sur un bouton. Pourquoi ne

peut-on pas le faire en une requête ? Elle est correcte.


--
Cordialement,
Thierry

Tout pour réussir avec Access :
http://www.mpfa.info


Avatar
Eric
Thierry (ze Titi) wrote:
Je veux transférer les données quand je clique sur un bouton.
Pourquoi ne peut-on pas le faire en une requête ? Elle est correcte.


A ce moment là, un
DoCmd.RunSQL "INSERT INTO..."
dans l'évènement "sur clic" du bouton suffit.

Merci, je vais essayer . Quelle différence entre RunSQL et RecordSource ?



Avatar
Thierry (ze Titi)
RunSQL exécute juste une instruction SQL alors que RecordSource sert à
renseigner la propriété Source dans l'onglet "Données" des propriétés
du formulaire.

Message du mardi 21/08/2007

Thierry (ze Titi) wrote:
Je veux transférer les données quand je clique sur un bouton.
Pourquoi ne peut-on pas le faire en une requête ? Elle est correcte.


A ce moment là, un
DoCmd.RunSQL "INSERT INTO..."
dans l'évènement "sur clic" du bouton suffit.

Merci, je vais essayer . Quelle différence entre RunSQL et RecordSource ?



--
Cordialement,
Thierry

Tout pour réussir avec Access :
http://www.mpfa.info



Avatar
Eric
Thierry (ze Titi) wrote:
RunSQL exécute juste une instruction SQL alors que RecordSource sert à
renseigner la propriété Source dans l'onglet "Données" des propriétés
du formulaire.



Merci, ça fonctionne. Par contre, est-il possible de supprimer la
confirmation indiquant le nombre d'enregistrements copiés qui apparaît comme
lorsqu'on exécute la requête directement dans Access

Avatar
Thierry (ze Titi)
Place un
DoCmd.SetWarnings False
avant le Docmd.RunSQL
et un
DoCmd.SetWarnings True
juste après.

Message du mercredi 22/08/2007

Thierry (ze Titi) wrote:
RunSQL exécute juste une instruction SQL alors que RecordSource sert à
renseigner la propriété Source dans l'onglet "Données" des propriétés
du formulaire.



Merci, ça fonctionne. Par contre, est-il possible de supprimer la
confirmation indiquant le nombre d'enregistrements copiés qui apparaît comme
lorsqu'on exécute la requête directement dans Access


--
Cordialement,
Thierry

Tout pour réussir avec Access :
http://www.mpfa.info


Avatar
Eric
Thierry (ze Titi) wrote:
Place un
DoCmd.SetWarnings False
avant le Docmd.RunSQL
et un
DoCmd.SetWarnings True
juste après.

Message du mercredi 22/08/2007

Thierry (ze Titi) wrote:
RunSQL exécute juste une instruction SQL alors que RecordSource
sert à renseigner la propriété Source dans l'onglet "Données" des
propriétés du formulaire.



Merci, ça fonctionne. Par contre, est-il possible de supprimer la
confirmation indiquant le nombre d'enregistrements copiés qui
apparaît comme lorsqu'on exécute la requête directement dans Access



Merci pour ton aide



1 2