Problème de requête en VBA

Le
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
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses Page 1 / 2
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Thierry (ze Titi)
Le #6308671
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
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

Eric
Le #6308581
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 ?

Thierry (ze Titi)
Le #6308571
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


Eric
Le #6308561
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.

Thierry (ze Titi)
Le #6308551
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
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


Eric
Le #6308401
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 ?



Thierry (ze Titi)
Le #6395471
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



Eric
Le #6395421
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

Thierry (ze Titi)
Le #6395411
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


Eric
Le #6395341
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



Publicité
Poster une réponse
Anonyme