Annehmen, dass alle Felder, die der Benutzer von in jeder dieser Tabellen vorwählen könnte, Text sind, Versuch:
strApply = „[“ u. strField u. „] = """ u. strFilter u. """"
Wenn alle Felder, die vorgewählt werden konnten, nicht Text sind, dann werden Sie eine Weise herausfinden müssen, das datatype des Feldes festzustellen, vor strApply verursachen. Sie konnten eine Funktion wie das folgende verwenden:
Allgemeine Funktion FieldType (TableName als Schnur, Fieldname als Schnur) als ganze Zahl
Schwaches strSQL als Schnur
Schwache rs als DAO.Recordset
strSQL = „VORWÄHLEN [“ u. Fieldname u. „] VON [“ u. TableName u. „] WO falsch“ ch
strSQL = ersetzen (ersetzen (strSQL, „[[“, „["), „]]“, „] ")
Rs = CurrentDb.OpenRecordset (strSQL, dbfailonerror) einstellen
FieldType = rs. Felder (0). Art
rs. Abschluss
Rs einstellen = nichts
Funktion beenden
Und etwas wie dann tun:
intFieldType = FieldType (strReport, strField)
Fall intFieldType VORWÄHLEN
Das dbBigInt, dbBoolean, dbByte, das cbCurrency, dbDecimal, dbDouble, dbFload, dbInteger, das dbLong umkleiden, dbNumeric
strApply = „[“ u. strField u. „] =“ u. strFilter
Fall dbChar, cbText, dbMemo
strApply = „[“ u. strField u. „] = """ u. strFilter u. """"
Fall dbDate, dbTime
strApply = „[“ u. strField u. „] = #“ u. strFilter u. „#“
Fall sonst
msgbox „unerwartete Datenart =“ u. intFieldType
'Dieses sollte alle Werte einschließen
strApply = ""
Ende auserwählt
me.subReport.Report.Filter = strApply
me.subReport.Report.FilterOn = (strApply <> "")