RE:ADOC RECORDSET.FILTER
Publicado por
Miguelmx (1 intervención) el 07/08/2009 06:07:10
.Filter espera una cadena de busqueda, no una sentencia select .
Si quieres usar un select, especificalo en el punto donde dice
Me.ADOCCLIE.CommandType = adCmdTable
Me.ADOCCLIE.RecordSource = NAMETABLA
Remplazandola por
Me.ADOCCLIE.CommandType = adCmdText
Me.ADOCCLIE.RecordSource = "SELECT * FROM " & "[" & NAMETABLA & "]" _
& " WHERE " & FILTRO1 & " " & COND1 & " " & "'" & TEXT1 & "'"
(OJO QUE AQUI QUIEN HACE EL FILTRADO ES EL MOTOR DE BASE DE DATOS)
O si quieres usar filter , tienes q especifcarlo asi
CADBUSQUEDA = FILTRO1 & " " & COND1 & " " & "'" & TEXT1 & "'"
(AQUI EL FILTRADO LO HACE LA MAQUINA CLIENTE)
Filter es mas rapido puesto que trabaja con el recordset que ya se encuentra en tu maquina, pero si tu base tiene cientos de registros, lo mejor seria hacer la discrimancion en el select, de no hacerlo asi, en cada ejecucion tu programa recuperaria los cientos de registros que ya se encuentren en la tabla. Como regla general en bases de datos, ningun select deberia ejecutarse sin un "where".
Saludos!