Autor |
Tema Buscar Opciones del Tema
|
Adrianet
Habitual
Unido: 26/Marzo/2015
Localización: Valencia
Estado: Sin conexión
Puntos: 135
|
Tema: Informe a partir de selección en cuadro de lista Enviado: 22/Julio/2022 a las 12:31 |
Hola amigos del foro. estoy teniendo problemas con el siguiente asunto: Imprimir un informe con los registros seleccionados en
un cuadro de lista.
En un formulario, tenemos
un cuadro de lista con tres columnas: codtrab, apellidos, nombre
También tenemos un botón
para ejecutar el procedimiento de previsualización de informes.
El objetivo es conseguir
que se visualicen tantos informes en pantalla como registros haya seleccionado
en el cuadro de lista, … pero no lo consigo
El código que utilizo es
el siguiente:
Private Sub cmdImprimirHorSel_Click()
Dim vCodigos As String, vItem As Variant
For Each vItem In Me.ListaTrab.ItemsSelected
vCodigos = vCodigos & Me.ListaTrab.ItemData(vItem) &
","
Next
If Len(vCodigos) > 0
Then
vCodigos = Left(vCodigos, Len(vCodigos) - 1)
MsgBox vCodigos
DoCmd.OpenReport
"Horas_Trabajadores_Imprimir", acViewPreview, , "CodTrab
IN('" & vCodigos & "')"
Else
MsgBox "No se ha seleccionado ningún
trabajador, ...", vbExclamation
Exit Sub
End If
End Sub
NOTAS : Si se selecciona
más de un registro ya no funciona, en cambio si se selecciona uno sólo sí que
visualiza el informe de ese trabajador.
‘ ** no sé dónde está el
error, … le estoy dando muchas vueltas
al asunto y nada, …
Agradecería una ayuda para
ver donde me estoy equivocando, … o donde me falta indicar algo más al código.
Gracias Amigos. Adrián.
|
|
fcoval
Asiduo
Unido: 19/Enero/2013
Estado: Sin conexión
Puntos: 225
|
Enviado: 22/Julio/2022 a las 13:05 |
cambia la linea
vCodigos = vCodigos & Me.ListaTrab.ItemData(vItem) & ","
por
vCodigos = vCodigos & Chr(34) & Me.ListaTrab.ItemData(vItem) & Chr(34) & ","
y me cuentas
|
|
fcoval
Asiduo
Unido: 19/Enero/2013
Estado: Sin conexión
Puntos: 225
|
Enviado: 22/Julio/2022 a las 13:13 |
y esta otra tambien, que se parecen pero no son iguales
DoCmd.OpenReport "Horas_Trabajadores_Imprimir", acViewPreview, , "CodTrab IN('" & vCodigos & "')"
por
DoCmd.OpenReport "Horas_Trabajadores_Imprimir", acViewPreview, , "CodTrab IN(" & vCodigos & ")"
|
|
Adrianet
Habitual
Unido: 26/Marzo/2015
Localización: Valencia
Estado: Sin conexión
Puntos: 135
|
Enviado: 22/Julio/2022 a las 13:17 |
Hola Fcoval, ... he cambiado esa línea, .... pero sigue sin funcionar, no muestra ningún dato de informe
Además en la línea que tengo de control : MsgBox vCodigos antes mostraba bien las capturas, por ejemplo: 306040, 306050
pero ahora los muestra con comillas, ... y me parece que no debería ser así ahora muestra esto: "306040", "306050" lo cual creo que no está bien, ...
el campo a mostrar es el CodTrab, que es de tipo texto, ...
gracias, de todas formas, ... por tu ayuda
saludos. Adrián
|
|
fcoval
Asiduo
Unido: 19/Enero/2013
Estado: Sin conexión
Puntos: 225
|
Enviado: 22/Julio/2022 a las 13:19 |
¿ Has cambiado las DOS lineas ?
|
|
Adrianet
Habitual
Unido: 26/Marzo/2015
Localización: Valencia
Estado: Sin conexión
Puntos: 135
|
Enviado: 22/Julio/2022 a las 13:36 |
Hola Fcoval, .
tienes toda la razón,,, sólo había cambiado la primera línea, ... en la segunda he quitado las comillas simples, ... y ahora funciona, ... ya me muestra por pantalla los informes, ... Muchas gracias por tu ayuda.
Un comentario: entiendo que el Chr(34) es para entrecomillar el valor seleccionado porque luego en el msgbox me los muestra "306040", "306050" y después sí que los coge bien para visualizar los informes de dichos códigos.
'- sólo me queda arreglar el diseño informe, pues me saca una página en blanco adicional, ...
saludos, y gracias de nuevo. Adrián.
|
|
fcoval
Asiduo
Unido: 19/Enero/2013
Estado: Sin conexión
Puntos: 225
|
Enviado: 22/Julio/2022 a las 13:45 |
Si, o bien pones...
vCodigos = vCodigos & Chr(34) & Me.ListaTrab.ItemData(vItem) & Chr(34) & ","
o puedes poner
vCodigos = vCodigos & "'" & Me.ListaTrab.ItemData(vItem) & "'" & ","
la idea era que cada valor quedara entrecomillado al ser un campo texto.
Lo de la pagina adicional en blanco no tiene nada que ver con esto como ya sabras.
saludos.
|
|
Adrianet
Habitual
Unido: 26/Marzo/2015
Localización: Valencia
Estado: Sin conexión
Puntos: 135
|
Enviado: 22/Julio/2022 a las 13:54 |
Hola Fcoval, .. Muchas gracias por tu ayuda.
Creo que pueden cerrar este hilo. Saludos Adrián.
|
|