OVH Cloud OVH Cloud

Exécution Requête SQL

5 réponses
Avatar
Mohamed
Bonjour,

J´ai un petit problème pour ce qui est de l´exécution d´une requête SQL.
Voici mon code :

Private Sub Valider_Click()

Dim strSQL As String

strSQL = "SELECT T_Assurance.Numéro from T_Assurance WHERE [Année] = 1999"

End Sub

J´aurais aimé savoir quelle était la ligne de code qui me permet d´afficher
le résultat de cette requête
en cliquant sur le bouton valider?

Merci

5 réponses

Avatar
Raymond [mvp]
Bonjour.

tu peux utiliser
DoCmdOpenQuery "requête1"
mais il faut créer ta requête avant.
le fait d'afficher une requête à l'écran par code n'a que peu de valeur et
est rarement utilisé. Si tu veux modifier des champs, il faut passer par un
formulaire basé sur cette même requête par exemple.

--
@+
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


"Mohamed" a écrit dans le message de
news:
Bonjour,

J´ai un petit problème pour ce qui est de l´exécution d´une requête SQL.
Voici mon code :

Private Sub Valider_Click()

Dim strSQL As String

strSQL = "SELECT T_Assurance.Numéro from T_Assurance WHERE [Année] 1999"

End Sub

J´aurais aimé savoir quelle était la ligne de code qui me permet
d´afficher

le résultat de cette requête
en cliquant sur le bouton valider?

Merci


Avatar
Raymond [mvp]
j'espère que tu te rends compte de la distance entre tes deux questions ?
faut penser un peu à ceux qui lisent tes questions et qui vont essayer de
répondre.
pour les listes en sélection multiple en paramètre de requête voir la page :
http://access.vba.free.fr/selection_multiple.htm

--
@+
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


"Mohamed" a écrit dans le message de
news:
Bonjour,

En réalité, mon problème est un peu plus complexe.
Je dispose d´une listBox à sélection multiple et je veux passer chaque
item

sélectionné en paramètre.
Voici mon code :

Private Sub Befehl21_Click()
Dim frm As Form, ctl As Control
Dim varItem As Variant
Dim strSQL As String
Set frm = [Forms]![Frm Jahr]
Set ctl = [frm]![listausJahr]
strSQL = "SELECT T_Schaden.VU_Nr FROM T_Schaden WHERE "
'On suppose que la valeur de type long, [EmpID], est le champ contre
'lequel on se comparera aux valeurs choisies dans la
'liste à choix multiple
For Each varItem In ctl.ItemsSelected
strSQL = strSQL & "([Jahr]='" & ctl.ItemData(varItem) & "')" & "
OR "

Next varItem
strSQL = Left$(strSQL, Len(strSQL) - 3)
MsgBox (strSQL)



End Sub

J´ai mis à la fin MsgBox(strSQL) pour tester la requête. Donc la requête
semble correcte.
Mais je n´arrive pas à l´exécuter...

Comment faire?

Merci





Bonjour.

tu peux utiliser
DoCmdOpenQuery "requête1"
mais il faut créer ta requête avant.
le fait d'afficher une requête à l'écran par code n'a que peu de valeur
et


est rarement utilisé. Si tu veux modifier des champs, il faut passer par
un


formulaire basé sur cette même requête par exemple.

--
@+
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


"Mohamed" a écrit dans le message de
news:
Bonjour,

J´ai un petit problème pour ce qui est de l´exécution d´une requête
SQL.



Voici mon code :

Private Sub Valider_Click()

Dim strSQL As String

strSQL = "SELECT T_Assurance.Numéro from T_Assurance WHERE [Année]
1999"


End Sub

J´aurais aimé savoir quelle était la ligne de code qui me permet
d´afficher

le résultat de cette requête
en cliquant sur le bouton valider?

Merci









Avatar
Raymond [mvp]
on peut le faire mais il faudra placer 3 fois la fonction sous un nom
différent pour pouvoir traiter les 3 listes séparément.

--
@+
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


"Mohamed" a écrit dans le message de
news:
Oui cela marche parfaitement. Encore merci

Mais dis-moi est-ce que l´on peut réaliser la même chose avec des ListBox
d´autres formulaires.

Je m´explique.
J´ai 3 formulaires avec 1 ListBox dans chacun des formulaires.
J´ai une table avec les champs Assurance, Position et Année.
Chaque ListBox est basé sur ces champs.
Les formulaires sont reliés entre eux par des boutons "Ouvrir Formulaire".
Je veux qu´en cliquant sur le bouton du dernier formulaire, on
exécute la requête basée sur ces 3 champs.

Est-ce possible?


Avatar
Raymond [mvp]
as-tu bien dupliqué toutes les fonctions et variables (tout le module) pour
que chaque liste fasse appel à ses propres fonctions ?

--
@+
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


"Mohamed" a écrit dans le message de
news:
Dans un premier temps, j´ai essayé de combiner 2 ListBox multisélection
dans un même formulaire.
Toutefois, j´ai un petit problème. Quoique je fasse, la requête
,qui est lancée après avoir cliqué sur le bouton en question, est vide.
La fenêtre s´affiche bien mais il n´y a rien dedans.

Est-ce bien normal?



Avatar
Raymond [mvp]
réponse donnée par mail:

Tu as inversé tes fonctions.
Ta requête serait mieux ainsi:
SELECT T_SCHADEN.*, CompareListe([Jahr]) AS Expr1, CompareList([VU_Nr]) AS
Expr2 FROM T_SCHADEN WHERE (((CompareListe([Jahr]))=True) AND
((CompareList([VU_Nr]))=True));

--
@+
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


"Raymond [mvp]" a écrit dans le message de
news:%
as-tu bien dupliqué toutes les fonctions et variables (tout le module)
pour

que chaque liste fasse appel à ses propres fonctions ?

--
@+
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


"Mohamed" a écrit dans le message de
news:
Dans un premier temps, j´ai essayé de combiner 2 ListBox multisélection
dans un même formulaire.
Toutefois, j´ai un petit problème. Quoique je fasse, la requête
,qui est lancée après avoir cliqué sur le bouton en question, est vide.
La fenêtre s´affiche bien mais il n´y a rien dedans.

Est-ce bien normal?