Con los datos de un listbox (completado con AddItem) generar una consulta , para mas tarde crear un informe Access-VBA

A tod@s los llenos de sabiduría para compartir.

Tengo un listbox, con varias columnas con datos cargados (en el listbox) con la propiedad AddItem... ¿la consuta la genero yo pero como llenar los campos?

5 campos: zona, maquina, tiempo intervencion, tiempo parada, nº intervenciones

Nombre de la consulta: TRATAMIENTODEDATOSFINAL...

Como añado los datos a esta consulta, ¿con AddItem?

Saludos a tod@s

1 Respuesta

Respuesta
1

Valdo: La verdad es que no acabo de entender si los datos que deben aparecerte en el listBox lo hacen o no.

Te resumo: En abstracto un ListBox, sería semejante a un ComboBox que está siempre desplegado.

Para cargarle datos, aparte de poder hacerlo con el Método AddItem, lo puedes hacer poniendo en las Propiedades >> Origen de la Fila algo así como:

SELECT Campo1, Campo2,......FROM TablaXXXX ORDER BY ,,,,,,,,,, Campz;

Después en la pestaña Formato le pones el Nº de columnas etc.

Si es otra cosa lo que buscas, ya me contarás. Saludos >> Jacinto

Hola Jacinto ...gracias por animarte una vez mas con las dudas que me surgen.

Explico mejor, que se ha quedado "mi explicacion en el limbo".

He llenado un listbox, con datos gracias a la propiedad AddItem...porque?...porque tenia que hacer una búsqueda de varios registros que cumpliesen una condición, sumando todos los tiempos (por ciclo o registro) de intervención y de parada maquina...son dos campos que aparecen en el listbox.

Asi pues realizo, la carga del listbox y lo muestra correctamente...mi jefe esta encantado con el resultado obtenido, pero ahora quiere que esos datos los pueda exportar a excell, para realizar graficos...asi que, pensé en crear una consulta llamada TRATAMIENTODEDATOSFINAL, con 5 campos que son ZONA, MAQUINA, TIEMPO INTERVENCION, TIEMPO PARADA,y Nº INTERVENCIONES....y ahora la pregunta.

Como puedo cargar esos datos que cargo en el listbox con la propiedad Additem a una consulta (objeto) ya creado con sus campos iguales a los del listbox?...Se puede utilizar AddItem a una consulta (objeto), como se haría?????  

Gracias Jacinto y animo.

S2

Valdo:
Se me ocurre que puedes llenar una Tabla Temporal con los datos del ListBox y luego la utilizas como y cuando quieras.
Para ello has de Crear una Tabla con los Cinco Campos y darles el Formato que necesites.
A la Tabla le llamamos por ejemplo TblLBoxMaqTmp
Nombres de los Campos: Zona, Maquina, TpoInterv, TpoParada, NumInterv
Yo utilizo nombres cortos, sin espacios y sin caracteres especiales. Es cuestión de formas de ver las cosas
Después de llenar el ListBox, o en un Botón, le pones éste código, suponiendo que su Nombre sea LBoxMaq
Además supongo que el orden de los campos en el ListBox es el que cito.

Dim StrSQL As String
Dim RstTablaTemp As DAO.Recordset
Dim I As Integer

StrSQL = "DELETE * FROM TblLBoxMaqTmp;" 'Borro los datos de la Tabla
DoCmd.SetWarnings False
CurrentDb.Execute StrSQL, dbFailOnError
DoCmd.SetWarnings True

StrSQL = ""

Set RstTablaTemp = CurrentDb.OpenRecordset("TblLBoxMaqTmp", dbOpenDynaset)
LBoxMaq.SetFocus’Dependiendo de dónde esté el código no haría falta
For I = 0 To LBoxMaq.ListCount - 1
RstTablaTemp.AddNew

RstTablaTemp!Zona = LBoxMaq.Column(0, I)
RstTablaTemp!Maquina = LBoxMaq.Column(1, I)
RstTablaTemp!TpoInterv = LBoxMaq.Column(2, I)
RstTablaTemp!TpoParada = LBoxMaq.Column(3, I)
RstTablaTemp!NumInterv = LBoxMaq.Column(4, I)

RstTablaTemp.Update
Next I

RstTablaTemp.Close
Set RstTablaTemp = Nothing

Creo que funcionará. Pruebalo y me cuentas. Saludos >> Jacinto

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas