Voilà, j'ai fait un formulaire de recherche avancé qu marche très bien, et proposé par Loufab. :
Voici pour mémoire le début du code:
La suite du code permet de récupérer le nom de la table et du champ servant de base à la recherche:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 Private Sub cbo_table_BeforeUpdate(Cancel As Integer) Me.cbo_champ.RowSource = Me.cbo_table.Value Me.cbo_champ.Requery End Sub
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
21
22
23
24
25
26
27
28
29
30
31
32 Private Sub cmd_recherche_Click() On Error GoTo Err_cmd_recherche_Click Dim strTable As String, strField As String, strCriteria As String, strSql As String Dim Criter As Variant strTable = Me.cbo_table ' recupère le nom de la table sans espace dans le nom strField = Me.cbo_champ ' recupère le nom du champ sans espace dans le nom ' construit la requête sql strSql = "SELECT DISTINCTROW " & strTable & ".*" strSql = strSql & " FROM " & strTable strSql = strSql & " WHERE ((" & strCriteria & "));" Me.lst_Resultat.RowSource = strSql ' affecte sql a lst_Resultat Me.lst_Resultat.Requery ' recalcule la liste ' fin du code d'erreur************* Exit_cmd_recherche_Click: Exit Sub Err_cmd_recherche_Click: MsgBox Err.Description Resume Exit_cmd_recherche_Click '************************************** End Sub
Donc jusque là, c'est super.
Mais il s'avère que cet autre frm de recherche que je fais en ce moment, n'a pas besoin de partir sur une liste de choix des tables et des champs.
Je voudrais écrire le code de 2 façons ( la 1ère simplement pour savoir comment appeler une table et un champ, mais la 2ème c'est mon besoin) :
1°) Cibler une table unique "tblUnique" et un champ unique "MonChampUnique".
Sachant que cette 2ème façon sembe être la plus importante.
2°) Cibler une requête unique "qryUnique" et un champ unique "MonChampUnique".
Comme je suis un débutant, après avoir cherché, j'en appel à votre bon coeur.
Merci par avance à tous.
Partager