Insertar texto en criterio de consulta con VBA
Tengo definida una consulta que extrae criterios desde un formulario (la mayoría con generador de expresiones).
Sin embargo, en el formulario, tengo un cuadro de lista desde el que me gustaría extraer los datos y copiarlos en el criterio de una de los campos de la consulta (la cual ya esta definida y tiene varios otros campos con otros criterios).
Mi interés es copiar todos los items del cuadro de lista (los cuales son números) y colocarlos en la celda de criterio. He visto ejemplo donde copian los items que están seleccionados (multiselect) los cuales tienen un origen en alguna tabla (pero esto no me ha servido). Mi cuadro de lista utiliza la opción de "lista de valores". A modo de ejemplo quiero copiar " 1 O 2 O 16 O 32 " dentro del criterio para que la consulta filtre sólo esos cuatro números
Lo que me gustaría pedirte es la manera en que puedo acceder al criterio especifico del campo de la consulta y copiar un texto dentro de él, utilizando VBA. (El cómo seleccionar los datos a copiar y cómo configurar el texto que deseo escribir no es problema.).
He probado con código de esta naturaleza:
Dim qdef As DAO.QueryDef
........
Set qdef = CurrentDb.QueryDefs("consulta1")
qdef.SQL = strSQL
DoCmd. OpenQuery "consulta1", acViewNormal
pero finalmente sólo consigo crear una nueva consulta con un único criterio ó mantener la consulta definida pero borrando todos los valores previos.
Sin embargo, en el formulario, tengo un cuadro de lista desde el que me gustaría extraer los datos y copiarlos en el criterio de una de los campos de la consulta (la cual ya esta definida y tiene varios otros campos con otros criterios).
Mi interés es copiar todos los items del cuadro de lista (los cuales son números) y colocarlos en la celda de criterio. He visto ejemplo donde copian los items que están seleccionados (multiselect) los cuales tienen un origen en alguna tabla (pero esto no me ha servido). Mi cuadro de lista utiliza la opción de "lista de valores". A modo de ejemplo quiero copiar " 1 O 2 O 16 O 32 " dentro del criterio para que la consulta filtre sólo esos cuatro números
Lo que me gustaría pedirte es la manera en que puedo acceder al criterio especifico del campo de la consulta y copiar un texto dentro de él, utilizando VBA. (El cómo seleccionar los datos a copiar y cómo configurar el texto que deseo escribir no es problema.).
He probado con código de esta naturaleza:
Dim qdef As DAO.QueryDef
........
Set qdef = CurrentDb.QueryDefs("consulta1")
qdef.SQL = strSQL
DoCmd. OpenQuery "consulta1", acViewNormal
pero finalmente sólo consigo crear una nueva consulta con un único criterio ó mantener la consulta definida pero borrando todos los valores previos.
1 respuesta
Respuesta de dayvitt
gracias, creo que me sirve para solucionar algunas cosas jejeaquí está loo que quiero hacer :(ACCESS: Listado Personalizado según "campo" Módulo VBA - Gato de Campo