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 :
Sous-entendu, quelque soit mon tableau structuré, le souhaite retourner tout le contenu d'une ligne en fonction d'un ou plusieurs champs.
Code : Sélectionner tout - Visualiser dans une fenêtre à part Function SQLFind(Table As ListObject, ParamArray Champs() As Variant) As String()
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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
Partager