Je voudrais mettre à jour une requête après avoir choisi dans une liste ComboBox, le critère de tri : en l'occurrence, je souhaiterais que ne s'affichent que les enregistrements à partir d'Extraction-Carte de visite$ dont lc.structure = serv (ci-dessous)

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
serv = "DEPOS" ' contenu de la variable serv récupéré

MsgBox TypeName(serv)

    With Selection.QueryTable
        .Connection = Array(Array( _
        "ODBC;DSN=Fichiers Excel;DBQ=Y:\Cartes de visite\Extraction-Carte de visite.xls;DefaultDir=Y:\Cartes de visite;DriverId=790;MaxBuffer" _
        ), Array("Size=2048;PageTimeout=5;"))
        .CommandText = _
        "SELECT `'Extraction-Carte de visite$'`.lc_structure, `'Extraction-Carte de visite$'`.c_civilite, `'Extraction-Carte de visite$'`.nom_usuel, `'Extraction-Carte de visite$'`.prenom, `'Extraction-Carte de visite$'`.no_telephone, `'Extraction-Carte de visite$'`.type_no, `'Extraction-Carte de visite$'`.ind_qualite, `'Extraction-Carte de visite$'`.cpt_email, `'Extraction-Carte de visite$'`.cpt_domaine FROM `Y:\Cartes de visite\Extraction-Carte de visite`.`'Extraction-Carte de visite$'` `'Extraction-Carte de visite$'` WHERE `'Extraction-Carte de visite$'`.lc_structure = " & serv
        .Refresh BackgroundQuery:=False
L'instruction ci-dessus met un message d'erreur comme quoi il y a trop peu de paramètres.
    End With
End Sub
Si dans l'instruction WHERE `'Extraction-Carte de visite$'`.lc_structure = je mets en clair 'DEPOS', cela fonctionne ; si je mets le nom de la variable serv, ça ne marche pas... Je dois me mélanger entre les " , les ' et l'endroit où il faudrait les mettre.

Si quelqu'un a une idée merci de me répondre. C'est ma 1ère demande...