VBA Tableaux structurés & SQL
Bonjour,
Pour des raisons pratiques, je voudrais créer une fonction de recherche SQL valide pour x tableaux structurés.
Je tiens vraiment à cette solution SQL, pas à une boucle ou autre filtres, ça je sais faire.
Type de fonction attendue :
Code:
Function SQLFind(Table As ListObject, ParamArray Champs() As Variant) As String()
Sous-entendu, quelque soit mon tableau structuré, le souhaite retourner tout le contenu d'une ligne en fonction d'un ou plusieurs champs.
J'ai tenté plusieurs approches, et, systématiquement, le Recordset me renvoie une erreur d'exécution '3011' : Le moteur de base de données Microsoft Access n'a pas pu trouver l'objet PETITSDEJEUNERS. Vérifiez...
Mon dernier code de tentative infructueuse :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
| Sub sqlSelect()
' Nécessite la référence Microsoft Office xx.x Access Database Engine Object Library
Dim Table As DAO.Database, RecSet As DAO.Recordset, i As Long, LO As ListObject
Set LO = Worksheets("RESTAURATION").ListObjects("PETITSDEJEUNERS")
Debug.Print LO.Name
Set Table = OpenDatabase(Workbooks("DEPLACEMENTS DPTs").FullName, False, False, "Excel 8.0")
Set RecSet = Table.OpenRecordset("SELECT * FROM " & LO.Name)
If RecSet.RecordCount > 0 Then
RecSet.MoveFirst
For i = 1 To RecSet.RecordCount
If RecSet!Prenom <> "" Then Debug.Print RecSet!Prenom & vbTab & RecSet!Nom
RecSet.MoveNext
Next i
End If
Set LO = Nothing
RecSet.Close
Set RecSet = Nothing
Table.Close
Set Table = Nothing
End Sub |