Je suis en train de concevoir un formulaire dans Access 2002 que je
programme en vba.
Comment récupérer le résultat d'une requête SQL de type "SELECT" dans vba
pour pouvoir la manipuler?
Ca pourra notamment me servir pour récupérer seulement certains noms et
prénoms pour les ajouter dans des combo, ou pour faire des tests.
Par exemple, avant de faire:
CurrentDb.Execute "INSERT INTO Personne (Nom, Prénom) Values (" & SQL & ")"
j'aimerais bien faire un truc du genre:
résultat = CurrentDb.Execute "SELECT Nom, Prénom FROM Personne"
et quitter si le résultat est différent de Null ou un équivalent.
Quelqu'un pourrait-il m'aider? Ca fait déjà plusieurs jours que je cherche.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Raymond [mvp]
Bonjour.
on ne peut pas exécuter de requêtes selection par execute. lis la page http://access.vba.free.fr/execution_standard.htm qui te donnera le code à utiliser pour manipuler une requête sélection avec ou sans paramètres pour savoir si tu obtiens un résultat (au moins 1 enregistrement) il faut utiliser DCount sur une requête enregistrée. If DCount("*", "Requête1") = 0 Then ' il n'y a rien dans les exemples que tu trouveras su la page ci-dessus, pour savoir si tu as au moins un enregistrement il faut tester la propriété BOF: Set Rs = Qry.OpenRecordset If Rs.BOF Then ' ici si pas d'enregistrement End If
Set Rs = CurrentDb.OpenRecordset("requête1") If Rs.BOF Then ' ici si pas d'enregistrement End If
-- @+ Raymond Access MVP http://access.seneque.free.fr/ http://access.vba.free.fr/ http://access2003.free.fr/ http://users.skynet.be/mpfa/ pour débuter sur le forum
"Pal" <#paliegeois#@netcourrier.com> a écrit dans le message de news:
Bonjour,
Je suis en train de concevoir un formulaire dans Access 2002 que je programme en vba.
Comment récupérer le résultat d'une requête SQL de type "SELECT" dans vba pour pouvoir la manipuler? Ca pourra notamment me servir pour récupérer seulement certains noms et prénoms pour les ajouter dans des combo, ou pour faire des tests.
Par exemple, avant de faire: CurrentDb.Execute "INSERT INTO Personne (Nom, Prénom) Values (" & SQL & ")"
j'aimerais bien faire un truc du genre: résultat = CurrentDb.Execute "SELECT Nom, Prénom FROM Personne" et quitter si le résultat est différent de Null ou un équivalent.
Quelqu'un pourrait-il m'aider? Ca fait déjà plusieurs jours que je cherche.
Merci!
Bonjour.
on ne peut pas exécuter de requêtes selection par execute.
lis la page http://access.vba.free.fr/execution_standard.htm qui te donnera
le code à utiliser pour manipuler une requête sélection avec ou sans
paramètres
pour savoir si tu obtiens un résultat (au moins 1 enregistrement) il faut
utiliser DCount sur une requête enregistrée.
If DCount("*", "Requête1") = 0 Then ' il n'y a rien
dans les exemples que tu trouveras su la page ci-dessus, pour savoir si tu
as au moins un enregistrement il faut tester la propriété BOF:
Set Rs = Qry.OpenRecordset
If Rs.BOF Then
' ici si pas d'enregistrement
End If
Set Rs = CurrentDb.OpenRecordset("requête1")
If Rs.BOF Then
' ici si pas d'enregistrement
End If
--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access.vba.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum
"Pal" <#paliegeois#@netcourrier.com> a écrit dans le message de
news:eyEkefggEHA.1656@TK2MSFTNGP09.phx.gbl...
Bonjour,
Je suis en train de concevoir un formulaire dans Access 2002 que je
programme en vba.
Comment récupérer le résultat d'une requête SQL de type "SELECT" dans vba
pour pouvoir la manipuler?
Ca pourra notamment me servir pour récupérer seulement certains noms et
prénoms pour les ajouter dans des combo, ou pour faire des tests.
Par exemple, avant de faire:
CurrentDb.Execute "INSERT INTO Personne (Nom, Prénom) Values (" & SQL &
")"
j'aimerais bien faire un truc du genre:
résultat = CurrentDb.Execute "SELECT Nom, Prénom FROM Personne"
et quitter si le résultat est différent de Null ou un équivalent.
Quelqu'un pourrait-il m'aider? Ca fait déjà plusieurs jours que je
cherche.
on ne peut pas exécuter de requêtes selection par execute. lis la page http://access.vba.free.fr/execution_standard.htm qui te donnera le code à utiliser pour manipuler une requête sélection avec ou sans paramètres pour savoir si tu obtiens un résultat (au moins 1 enregistrement) il faut utiliser DCount sur une requête enregistrée. If DCount("*", "Requête1") = 0 Then ' il n'y a rien dans les exemples que tu trouveras su la page ci-dessus, pour savoir si tu as au moins un enregistrement il faut tester la propriété BOF: Set Rs = Qry.OpenRecordset If Rs.BOF Then ' ici si pas d'enregistrement End If
Set Rs = CurrentDb.OpenRecordset("requête1") If Rs.BOF Then ' ici si pas d'enregistrement End If
-- @+ Raymond Access MVP http://access.seneque.free.fr/ http://access.vba.free.fr/ http://access2003.free.fr/ http://users.skynet.be/mpfa/ pour débuter sur le forum
"Pal" <#paliegeois#@netcourrier.com> a écrit dans le message de news:
Bonjour,
Je suis en train de concevoir un formulaire dans Access 2002 que je programme en vba.
Comment récupérer le résultat d'une requête SQL de type "SELECT" dans vba pour pouvoir la manipuler? Ca pourra notamment me servir pour récupérer seulement certains noms et prénoms pour les ajouter dans des combo, ou pour faire des tests.
Par exemple, avant de faire: CurrentDb.Execute "INSERT INTO Personne (Nom, Prénom) Values (" & SQL & ")"
j'aimerais bien faire un truc du genre: résultat = CurrentDb.Execute "SELECT Nom, Prénom FROM Personne" et quitter si le résultat est différent de Null ou un équivalent.
Quelqu'un pourrait-il m'aider? Ca fait déjà plusieurs jours que je cherche.
Merci!
Pal
GE-NIAL, merci pour l'info
"Raymond [mvp]" a écrit dans le message de news: O$
Bonjour.
on ne peut pas exécuter de requêtes selection par execute. lis la page http://access.vba.free.fr/execution_standard.htm qui te donnera
le code à utiliser pour manipuler une requête sélection avec ou sans paramètres pour savoir si tu obtiens un résultat (au moins 1 enregistrement) il faut utiliser DCount sur une requête enregistrée. If DCount("*", "Requête1") = 0 Then ' il n'y a rien dans les exemples que tu trouveras su la page ci-dessus, pour savoir si tu as au moins un enregistrement il faut tester la propriété BOF: Set Rs = Qry.OpenRecordset If Rs.BOF Then ' ici si pas d'enregistrement End If
Set Rs = CurrentDb.OpenRecordset("requête1") If Rs.BOF Then ' ici si pas d'enregistrement End If
-- @+ Raymond Access MVP http://access.seneque.free.fr/ http://access.vba.free.fr/ http://access2003.free.fr/ http://users.skynet.be/mpfa/ pour débuter sur le forum
"Pal" <#paliegeois#@netcourrier.com> a écrit dans le message de news:
Bonjour,
Je suis en train de concevoir un formulaire dans Access 2002 que je programme en vba.
Comment récupérer le résultat d'une requête SQL de type "SELECT" dans vba
pour pouvoir la manipuler? Ca pourra notamment me servir pour récupérer seulement certains noms et prénoms pour les ajouter dans des combo, ou pour faire des tests.
Par exemple, avant de faire: CurrentDb.Execute "INSERT INTO Personne (Nom, Prénom) Values (" & SQL & ")"
j'aimerais bien faire un truc du genre: résultat = CurrentDb.Execute "SELECT Nom, Prénom FROM Personne" et quitter si le résultat est différent de Null ou un équivalent.
Quelqu'un pourrait-il m'aider? Ca fait déjà plusieurs jours que je cherche.
Merci!
GE-NIAL, merci pour l'info
"Raymond [mvp]" <XYZ.access.seneque@free.fr> a écrit dans le message de
news: O$Hzd2ggEHA.2848@TK2MSFTNGP10.phx.gbl...
Bonjour.
on ne peut pas exécuter de requêtes selection par execute.
lis la page http://access.vba.free.fr/execution_standard.htm qui te
donnera
le code à utiliser pour manipuler une requête sélection avec ou sans
paramètres
pour savoir si tu obtiens un résultat (au moins 1 enregistrement) il faut
utiliser DCount sur une requête enregistrée.
If DCount("*", "Requête1") = 0 Then ' il n'y a rien
dans les exemples que tu trouveras su la page ci-dessus, pour savoir si tu
as au moins un enregistrement il faut tester la propriété BOF:
Set Rs = Qry.OpenRecordset
If Rs.BOF Then
' ici si pas d'enregistrement
End If
Set Rs = CurrentDb.OpenRecordset("requête1")
If Rs.BOF Then
' ici si pas d'enregistrement
End If
--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access.vba.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum
"Pal" <#paliegeois#@netcourrier.com> a écrit dans le message de
news:eyEkefggEHA.1656@TK2MSFTNGP09.phx.gbl...
Bonjour,
Je suis en train de concevoir un formulaire dans Access 2002 que je
programme en vba.
Comment récupérer le résultat d'une requête SQL de type "SELECT" dans
vba
pour pouvoir la manipuler?
Ca pourra notamment me servir pour récupérer seulement certains noms et
prénoms pour les ajouter dans des combo, ou pour faire des tests.
Par exemple, avant de faire:
CurrentDb.Execute "INSERT INTO Personne (Nom, Prénom) Values (" & SQL &
")"
j'aimerais bien faire un truc du genre:
résultat = CurrentDb.Execute "SELECT Nom, Prénom FROM Personne"
et quitter si le résultat est différent de Null ou un équivalent.
Quelqu'un pourrait-il m'aider? Ca fait déjà plusieurs jours que je
cherche.
"Raymond [mvp]" a écrit dans le message de news: O$
Bonjour.
on ne peut pas exécuter de requêtes selection par execute. lis la page http://access.vba.free.fr/execution_standard.htm qui te donnera
le code à utiliser pour manipuler une requête sélection avec ou sans paramètres pour savoir si tu obtiens un résultat (au moins 1 enregistrement) il faut utiliser DCount sur une requête enregistrée. If DCount("*", "Requête1") = 0 Then ' il n'y a rien dans les exemples que tu trouveras su la page ci-dessus, pour savoir si tu as au moins un enregistrement il faut tester la propriété BOF: Set Rs = Qry.OpenRecordset If Rs.BOF Then ' ici si pas d'enregistrement End If
Set Rs = CurrentDb.OpenRecordset("requête1") If Rs.BOF Then ' ici si pas d'enregistrement End If
-- @+ Raymond Access MVP http://access.seneque.free.fr/ http://access.vba.free.fr/ http://access2003.free.fr/ http://users.skynet.be/mpfa/ pour débuter sur le forum
"Pal" <#paliegeois#@netcourrier.com> a écrit dans le message de news:
Bonjour,
Je suis en train de concevoir un formulaire dans Access 2002 que je programme en vba.
Comment récupérer le résultat d'une requête SQL de type "SELECT" dans vba
pour pouvoir la manipuler? Ca pourra notamment me servir pour récupérer seulement certains noms et prénoms pour les ajouter dans des combo, ou pour faire des tests.
Par exemple, avant de faire: CurrentDb.Execute "INSERT INTO Personne (Nom, Prénom) Values (" & SQL & ")"
j'aimerais bien faire un truc du genre: résultat = CurrentDb.Execute "SELECT Nom, Prénom FROM Personne" et quitter si le résultat est différent de Null ou un équivalent.
Quelqu'un pourrait-il m'aider? Ca fait déjà plusieurs jours que je cherche.
Merci!
Daniel STROOBANTS
Bonsoir,
C'est par hasard que j'ai lu votre demande. Je suis loin d'être un spécialiste mais je programme aussi en VBA et j'ai eu à résoudre ce genre de problème. La solution que j'ai trouvée était adaptée au petit programme que j'écrivais dans le sens où j'ai écrit une requête SQL, ensuite j'ai créé un formulaire basé sur cette requête et j'ouvrais ce formulaire le temps de récupérer le contenu du ou des champs désiré(s) dans une variable VBA.
Ce n'est qu'après la fermeture du formulaire que je teste la valeur dans le style
If Not IsNull(variable) then ...exécution des actions désirées ... Else Exit Sub Endif
Il devrait être possible de récupérer le résultat de la requête uniquement en VBA mais il faut bien reconnaitre que la syntaxe VBA de ces requêtes est assez capricieuse et qu'il faut utiliser la concaténation (&) d'une façon adéquate. Pour ma part j'ai préféré la première solution.
Daniel "Pal" <#paliegeois#@netcourrier.com> a écrit dans le message de news: Bonjour,
Je suis en train de concevoir un formulaire dans Access 2002 que je programme en vba.
Comment récupérer le résultat d'une requête SQL de type "SELECT" dans vba pour pouvoir la manipuler? Ca pourra notamment me servir pour récupérer seulement certains noms et prénoms pour les ajouter dans des combo, ou pour faire des tests.
Par exemple, avant de faire: CurrentDb.Execute "INSERT INTO Personne (Nom, Prénom) Values (" & SQL & ")" j'aimerais bien faire un truc du genre: résultat = CurrentDb.Execute "SELECT Nom, Prénom FROM Personne" et quitter si le résultat est différent de Null ou un équivalent.
Quelqu'un pourrait-il m'aider? Ca fait déjà plusieurs jours que je cherche.
Merci!
Bonsoir,
C'est par hasard que j'ai lu votre demande. Je suis loin d'être un
spécialiste mais je programme aussi en VBA et j'ai eu à résoudre ce genre de
problème. La solution que j'ai trouvée était adaptée au petit programme que
j'écrivais dans le sens où j'ai écrit une requête SQL, ensuite j'ai créé un
formulaire basé sur cette requête et j'ouvrais ce formulaire le temps de
récupérer le contenu du ou des champs désiré(s) dans une variable VBA.
Ce n'est qu'après la fermeture du formulaire que je teste la valeur dans le
style
If Not IsNull(variable) then
...exécution des actions désirées ...
Else
Exit Sub
Endif
Il devrait être possible de récupérer le résultat de la requête uniquement
en VBA mais il faut bien reconnaitre que la syntaxe VBA de ces requêtes est
assez capricieuse et qu'il faut utiliser la concaténation (&) d'une façon
adéquate. Pour ma part j'ai préféré la première solution.
Daniel
"Pal" <#paliegeois#@netcourrier.com> a écrit dans le message de
news:eyEkefggEHA.1656@TK2MSFTNGP09.phx.gbl...
Bonjour,
Je suis en train de concevoir un formulaire dans Access 2002 que je
programme en vba.
Comment récupérer le résultat d'une requête SQL de type "SELECT" dans vba
pour pouvoir la manipuler?
Ca pourra notamment me servir pour récupérer seulement certains noms et
prénoms pour les ajouter dans des combo, ou pour faire des tests.
Par exemple, avant de faire:
CurrentDb.Execute "INSERT INTO Personne (Nom, Prénom) Values (" & SQL & ")"
j'aimerais bien faire un truc du genre:
résultat = CurrentDb.Execute "SELECT Nom, Prénom FROM Personne"
et quitter si le résultat est différent de Null ou un équivalent.
Quelqu'un pourrait-il m'aider? Ca fait déjà plusieurs jours que je cherche.
C'est par hasard que j'ai lu votre demande. Je suis loin d'être un spécialiste mais je programme aussi en VBA et j'ai eu à résoudre ce genre de problème. La solution que j'ai trouvée était adaptée au petit programme que j'écrivais dans le sens où j'ai écrit une requête SQL, ensuite j'ai créé un formulaire basé sur cette requête et j'ouvrais ce formulaire le temps de récupérer le contenu du ou des champs désiré(s) dans une variable VBA.
Ce n'est qu'après la fermeture du formulaire que je teste la valeur dans le style
If Not IsNull(variable) then ...exécution des actions désirées ... Else Exit Sub Endif
Il devrait être possible de récupérer le résultat de la requête uniquement en VBA mais il faut bien reconnaitre que la syntaxe VBA de ces requêtes est assez capricieuse et qu'il faut utiliser la concaténation (&) d'une façon adéquate. Pour ma part j'ai préféré la première solution.
Daniel "Pal" <#paliegeois#@netcourrier.com> a écrit dans le message de news: Bonjour,
Je suis en train de concevoir un formulaire dans Access 2002 que je programme en vba.
Comment récupérer le résultat d'une requête SQL de type "SELECT" dans vba pour pouvoir la manipuler? Ca pourra notamment me servir pour récupérer seulement certains noms et prénoms pour les ajouter dans des combo, ou pour faire des tests.
Par exemple, avant de faire: CurrentDb.Execute "INSERT INTO Personne (Nom, Prénom) Values (" & SQL & ")" j'aimerais bien faire un truc du genre: résultat = CurrentDb.Execute "SELECT Nom, Prénom FROM Personne" et quitter si le résultat est différent de Null ou un équivalent.
Quelqu'un pourrait-il m'aider? Ca fait déjà plusieurs jours que je cherche.