[VBA-ACCESS] Requête SQL

Fermé
rodeur2080 - 30 juin 2008 à 15:26
 rodeur2080 - 30 juin 2008 à 17:00
Bonjour,
Voicimon programme :

Private Sub dbt_Click()
Dim num As Integer
Dim ReqSQL As String
if (Me.Num_Eleve!="")
num = Me.Num_Eleve
ReqSQL = "SELECT DatedbtD FROM ELEVE,DIVISION WHERE ELEVE.Num_Division=DIVISION.Num_Division AND Num_Eleve =" & num
Me.Datedbt = ReqSQL
End If

End Sub

=> je voudrais que le résultat de la requête soit récupérer par une liste box du formulaire Me.Datedbt
Voila, d'avance merci

11 réponses

Petit modif après lecture du forum, mais ça fonctionne toujours pas :

Private Sub dbt_Click()
Dim num As Integer
Dim dmd As String
Dim gpi As DAO.Database
Dim req As DAO.Recordset
Set gpi = CurrentDb()
num = Me.Num_Eleve
dmd = "SELECT DatedbtD FROM ELEVE,DIVISION WHERE ELEVE.Num_Division=DIVISION.Num_Division AND Num_Eleve =" & num
DoCmd.RunSQL dmd
Set req = gpi.OpenRecordset(SQL)
Me.Datedbt = req
0
CapitainCo Messages postés 126 Date d'inscription mardi 24 juin 2008 Statut Membre Dernière intervention 5 novembre 2009 61
30 juin 2008 à 16:10
La tu dis que ton formulaire "Me.Datedbt" prend les valeurs de ta requete

mais tu dois prendre ton probleme dans l'autre sens, c'est quand tu affiche ton formulaire "Me.Datedbt" que ta liste box doit prendre les valeurs de ta requete

sauf si j'ai rien compris et que ta liste box ce nomme Datedbt ?
dans ce cas
Datedbt.RowSource=req
0
Merci beaucoup de m'avoir répondu ! Mais ça fonctionne encore pas
Donc je fais un ptit résumer des listebox

Listebox source => Num_Eleve
Listebox receptrice => Datedbt

J'ai essayer de mettre Datedbt.RowSource = req, j'ai eu le message d'erreur suivant :
Erreur de compilation : incompatibilité de type ?
0
CapitainCo Messages postés 126 Date d'inscription mardi 24 juin 2008 Statut Membre Dernière intervention 5 novembre 2009 61
30 juin 2008 à 16:27
Private Sub dbt_Click()
Dim num As Integer
Dim dmd As String
Dim gpi As DAO.Database
Dim req As DAO.Recordset
Set gpi = CurrentDb()
num = Me.Num_Eleve
dmd = "SELECT DatedbtD FROM ELEVE,DIVISION WHERE ELEVE.Num_Division=DIVISION.Num_Division AND Num_Eleve =" & num
DoCmd.RunSQL dmd //sert a rien
Set req = gpi.OpenRecordset(SQL) //Set req = gpi.OpenRecordset(dmd)
Me.Datedbt = req //Datedbt.RowSource=req
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
J'ai toujours la même erreur, et j'ai .RowSource qui est surligner en jaune.
Je précise que Datedbt est en texte de taille 50 !
Merci j'avais fais quelques erreur, mais .RowSource ne fonctionne pas, l'entête de fonction n'est elle pas responsable de ce problème Private Sub dbt_Click() , pas de paramètre entre les () mais je pense pas vu qu'il ni a aucun retour ??
0
CapitainCo Messages postés 126 Date d'inscription mardi 24 juin 2008 Statut Membre Dernière intervention 5 novembre 2009 61
30 juin 2008 à 16:41
tente ca alors
Do While Not Req.EOF
Datedbt.AddItem (Req![0])
Req.MoveNext
Loop

Req.Close
0
Désolé je débute dans le language VBA, peux tu me le mettre dans le code stp ;)
0
CapitainCo Messages postés 126 Date d'inscription mardi 24 juin 2008 Statut Membre Dernière intervention 5 novembre 2009 61
30 juin 2008 à 16:50
Set req = gpi.OpenRecordset(dmd)
Do While Not Req.EOF
Me.Datedbt.AddItem (Req![0])
Req.MoveNext
Loop
Req.Close
0
Arg ça fonctionne presque Erreur 3265 Element non trouver dans la collection, pourtant quand je tape Me. j'ai une liste déroulante qui s'ouvre et me propose Datedbt par contre je fais entrer ça passe direct à la ligne, dur dur.
0
CapitainCo Messages postés 126 Date d'inscription mardi 24 juin 2008 Statut Membre Dernière intervention 5 novembre 2009 61
30 juin 2008 à 16:58
Désolé j'ai fini mon taf, bonne chance ++
0
Ok bah merci beaucoup!! Je suis un gros noob, mais je vais essayer de me débrouiller avec ça !
0