ACCESS 2003: access+vba+sql

Fermé
seb_thiery Messages postés 6 Date d'inscription vendredi 11 juillet 2008 Statut Membre Dernière intervention 12 août 2008 - 12 août 2008 à 11:32
seb_thiery Messages postés 6 Date d'inscription vendredi 11 juillet 2008 Statut Membre Dernière intervention 12 août 2008 - 12 août 2008 à 13:46
Bonjour,
Alors c'est tout simple, je veux faire un tri par une requete SQL sur le choix d'une box dans un formulaire.
Tout marche bien mais une seule fois... ma requete est bien créée a chaque fois, mon tri fonctionne lorsque je rregarde ma requete mais la liste liée a cette requete n'est pas mise a jour.
voici mon code:

Function tri() As Recordset

Dim rs As DAO.Recordset
Dim Qry As DAO.QueryDef
Dim strSQL As String

    strSQL = "SELECT FaultCode.Fault_ID, FaultCode.Code, FaultCode.English FROM FaultCode WHERE "
    strSQL = strSQL & "((FaultCode.ProductLine)= """ & ProductLine.Column(1) & """ );"
    DoCmd.DeleteObject acQuery, "req"       'supprime la requête
    CurrentDb.CreateQueryDef "req", strSQL  'crée une nouvelle requete
    Set Qry = CurrentDb.QueryDefs("req")

End Function


cette fonction est bien appelée a chaque fois que je veux afficher ma liste (merci les breakpoints)
dans les proprietes de mon champs ou l'affichage se fait, je mets dans 'Contenu':

SELECT req.Fault_ID, req.Code, req.English FROM req;
A voir également:

1 réponse

seb_thiery Messages postés 6 Date d'inscription vendredi 11 juillet 2008 Statut Membre Dernière intervention 12 août 2008
12 août 2008 à 13:46
je viens de rajouter un bout de code en suivant des conseils sur la toile... mais ca change rien...
voici ce que j'ai rajouté dans ma fonction:
    ' Remplace la string SQL de la requête
    Qry.sql = strSQL
    ' Détruit l'objet (libération de mémoire)
    Qry.Close
    Set Qry = Nothing
    CurrentDb.QueryDefs.Refresh


Le probleme semblerait venir des proprietes de la zone de liste, non?
que dois - je mettre dans 'source controle' de ma zone de liste deroulante?
-1