Bonjour,
j'ai appliqué le tuto pour une recherche sur une table, cela fonctionne. Maintenant j'ai essaié de "transformer" le code pour faire une recherche multi criteres mais sur plusieurs tables. Malheureusement sans succès jusqu'ici.
Voici le code de ma sub
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
|
Private Sub RefreshQuery()
Dim SQL As String
Dim SQLWhere As String
SQL = "SELECT T_Liste_ETN_Teile.num_projekt, T_Liste_ETN_Teile.Serien_Num_Baumueller, T_Hauptantrieb.hauptantrieb_typ, T_Microguide_Steuerung.generation FROM T_Microguide_Steuerung INNER JOIN (T_Hauptantrieb INNER JOIN T_Liste_ETN_Teile ON T_Hauptantrieb.id_hauptantrieb = T_Liste_ETN_Teile.HA) ON T_Microguide_Steuerung.id_microguide = T_Liste_ETN_Teile.microguide Where T_Liste_ETN_Teile!id_projekt <>0"
If Me.chkprojektnum = True Then
SQL = SQL & "And T_Liste_ETN_Teile!num_projekt = '" & Me.cmbprojektnum & "'"
End If
If Me.chksteuerung = True Then
SQL = SQL & "And T_Liste_ETN_Teile!microguide = '" & Me.cmbsteuerung & "'"
End If
If Me.chkseriennum = True Then
SQL = SQL & "And T_Liste_ETN_Teile!Serien_Num_Baumueller like '*" & Me.txtseriennum & "*'"
End If
SQLWhere = Trim(Right(SQL, Len(SQL) - InStr(SQL, "Where ") - Len("Where ") + 1))
SQL = SQL & ";"
Me.lblstats.Caption = DCount("*", "T_Liste_ETN_Teile", SQLWhere) & " / " & DCount("*", "T_Liste_ETN_Teile")
Me.lstresults.RowSource = SQL
Me.lstresults.Requery
End Sub |
Access me retourne l'erreur : "type de donnée incompatible dans l’expression du critère"
pour la ligne de code suivante :
Me.lblstats.Caption = DCount("*", "T_Liste_ETN_Teile", SQLWhere) & " / " & DCount("*", "T_Liste_ETN_Teile")
J'ai donc modifié la ligne:
SQL = SQL & "And T_Liste_ETN_Teile!microguide = '" & Me.cmbsteuerung & "'"
Et j'ai mis comme code :
SQL = SQL & "And T_Microguide_Steuerung!generation = '" & Me.cmbsteuerung & "'"
et là j'obtiens le message : " opération annulé"
Donc est il possible d'appliquer le tuto pour plusieurs tables et ou dois je orienter ma recherche?
(Il me semble avoir vu un sujet similaire il y a quelques semaines, mais je ne le retrouve plus.)
Merci d'avance pour vos lumières.
Partager