ACCESS 2003: access+vba+sql

seb_thiery Messages postés 6 Date d'inscription   Statut Membre Dernière intervention   -  
seb_thiery Messages postés 6 Date d'inscription   Statut Membre Dernière intervention   -
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;

1 réponse

seb_thiery Messages postés 6 Date d'inscription   Statut Membre Dernière intervention  
 
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