Si se asume que todos los campos que el usuario podría seleccionar en de cada uno de estas tablas son el texto, intento:
strApply = “[” y strField y “] = """ y strFilter y """"
Si todos los campos que podrían ser seleccionados no son texto, después usted va a tener que imaginar una manera de determinar el datatype del campo antes de crear strApply. Usted podría utilizar una función como el siguiente:
Función pública FieldType (TableName como secuencia, Fieldname como secuencia) como número entero
strSQL dévil como secuencia
Rs déviles como DAO.Recordset
el strSQL = “SELECCIONA [” y Fieldname y “] DE [” y TableName y “] CUANDO SEA falso”
el strSQL = substituye (substituir (strSQL, “[[”, “["), “]]”, “] ")
Fijar los rs = CurrentDb.OpenRecordset (strSQL, el dbfailonerror)
FieldType = rs. Campos (0). Tipo
rs. Cierre
Fijar los rs = nada
Terminar la función
Y entonces hacer algo como:
intFieldType = FieldType (strReport, strField)
SELECCIONAR el intFieldType del caso
Encajonar el dbBigInt, dbBoolean, dbByte, cbCurrency, dbDecimal, dbDouble, dbFload, dbInteger, dbLong, dbNumeric
strApply = “[” y strField y “] =” y strFilter
Caso dbChar, cbText, dbMemo
strApply = “[” y strField y “] = """ y strFilter y """"
dbDate del caso, dbTime
strApply = “[” y strField y “] = #” y strFilter y “#”
Caso
msgbox “tipo de datos inesperado =” y intFieldType
'Éste debe incluir todos los valores
strApply = ""
Extremo selecto
me.subReport.Report.Filter = strApply
me.subReport.Report.FilterOn = (strApply <> "")