[VBA-ACCESS] Requête SQL

rodeur2080 -  
 rodeur2080 -
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
Configuration: Windows XP
Firefox 3.0

11 réponses

  1. rodeur2080
     
    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
  2. CapitainCo Messages postés 127 Statut Membre 61
     
    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
  3. rodeur2080
     
    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
  4. CapitainCo Messages postés 127 Statut Membre 61
     
    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
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. rodeur2080
     
    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
  7. CapitainCo Messages postés 127 Statut Membre 61
     
    tente ca alors
    Do While Not Req.EOF
    Datedbt.AddItem (Req![0])
    Req.MoveNext
    Loop

    Req.Close
    0
  8. rodeur2080
     
    Désolé je débute dans le language VBA, peux tu me le mettre dans le code stp ;)
    0
  9. CapitainCo Messages postés 127 Statut Membre 61
     
    Set req = gpi.OpenRecordset(dmd)
    Do While Not Req.EOF
    Me.Datedbt.AddItem (Req![0])
    Req.MoveNext
    Loop
    Req.Close
    0
  10. rodeur2080
     
    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
  11. CapitainCo Messages postés 127 Statut Membre 61
     
    Désolé j'ai fini mon taf, bonne chance ++
    0
  12. rodeur2080
     
    Ok bah merci beaucoup!! Je suis un gros noob, mais je vais essayer de me débrouiller avec ça !
    0