Imprimir Record en Access

¿Hice un data base en access pero cuando quiero imprimir el record que estoy trabajando me imprime todos los que estén dentro de la bse de datos como puedo hacer para que solo me imprima el que estoy trabajando?

1 Respuesta

Respuesta
1
Supongo que has creado un botón para lanzar el informe desde el formulario, si miras el código visual basic que lanza el click del botón, aparece
stDocName = "Hoja1"
DoCmd. OpenReport stDocName, acPreview
Lo tienes que modificar para añadirle un where en el 4 parámetro
stDocName = "Hoja1"
DoCmd. OpenReport stDocName, acPreview,, "poner aqui el Where del registro actual"
Debes poner como where la clave principal del registro para que muestre solo el actual.
Si no sabes crearlo me lo dices.
Si esto es todo.
Este es el código que tiene el botón:
'------------------------------------------------------------
' Command8_Click
'
'------------------------------------------------------------
Private Sub Command8_Click()
On Error GoTo Command8_Click_Err
DoCmd.OpenReport "Carta Compromiso del Cliente", acViewPreview, "", "", acNormal
DoCmd.RunCommand acCmdPrint
Command8_Click_Exit:
Exit Sub
Command8_Click_Err:
MsgBox Error$
Resume Command8_Click_Exit
End Sub
Donde le tengo que hacer ese cambio que me dices.
Donde te pongo el where en negrita tienes que poner la instrucción where
no se cual es tu campo de clave pero tienes que poner algo como
"ID = " + me.Id
donde me.Id hace referencia al campo del formulario.
DoCmd.OpenReport "Carta Compromiso del Cliente", acViewPreview, "", where, acNormal
DoCmd. RunCommand acCmdPrint
Buenos día
Ok ya puse lo que me informaste y cuando le doy al botón me sale un recuadro que me pregunta cual es el file osea el ID y tengo que ingresar el numero de record como quien dice.
¿Pero yo lo que esto buscando es que lo haga automático se puede hacer?
Este es mi código nuevo:
'------------------------------------------------------------
' Command3_Click
'
'------------------------------------------------------------
Private Sub Command3_Click()
On Error GoTo Command3_Click_Err
DoCmd.OpenReport "Analisis 3 Page", acPreview, "", "ID =NUM_PREST", acNormal
DoCmd.RunCommand acCmdPrint
Command3_Click_Exit:
Exit Sub
Command3_Click_Err:
MsgBox Err.Description
Resume Command3_Click_Exit
End Sub
Y una pregunta tiene que hacer obligatoriamente el preview??
Lo que te pongo es un ejemplo, lo tienes que hacer con los nombres de campos que tienes tu en el form
Busca como se llama el campo que quieres filtrar en el listado y como se llama el control en el formulario.
Ejemplo:
EL listado es de la tabla clientes, y la tabla clientes tiene como ID el campo CodigoCliente.
En el formulario, busca como se llama el campo donde esta el código de cliente, por ejemplo digamos que se llama txtCliente, pues en este caso hipotético debes poner:
Private Sub Command3_Click()
On Error GoTo Command3_Click_Err
DoCmd.OpenReport "Analisis 3 Page", acPreview, "", "CodigoCliente = '" & txtCliente & "'", acNormal
DoCmd.RunCommand acCmdPrint
Command3_Click_Exit:
Exit Sub
*en el caso que te expongo, el valor debe estar entre comilla simple, por que es texto, si es numerico no hacen falta
si no me acabas de entender, enviame la consulta del informe y el diseño de la tabla, y como se llama el texto del fomulario y te lo monto yo.
Ok sale el print del reporte completo pero me salen todos los casos a la misma vez no se si estaré haciendo algo mal en lo que me explicas
Enviame tu email para enviarte las pantallas para que las veas si no te explico los pasos que estoy siguiendo...
Explicación:
1- En el formulario introduzco la información del préstamo que es de lo que estamos hablando en estos momentos.
2- Dentro de ese formulario cuando termino de llenar la información completa hay un botón que habré un formulario que están los botones para imprimir diversas páginas del record.
3- Cuando oprimo el botón de Análisis 3 Páginas, me imrprime todos los record que tengo dentro del reporte y yo solo deseo el que estoy viendo.
Esto es lo que pongo en el código:
'------------------------------------------------------------
' Command3_Click
'
'------------------------------------------------------------
Private Sub Command3_Click()
On Error GoTo Command3_Click_Err
DoCmd.OpenReport "Analisis 3 Page", acPreview, "", "NUM_PREST =" & NUM_PREST & "", acNormal
DoCmd.RunCommand acCmdPrint
Command3_Click_Exit:
Exit Sub
Command3_Click_Err:
MsgBox Err.Description
Resume Command3_Click_Exit
End Sub
Que fue lo que me indicaste...
El Texto del Formulario es "NUM_PREST"
Parece que lo tienes correcto, pon un break point en la línea
DoCmd.OpenReport "Analisis 3 Page", acPreview, "", "NUM_PREST =" & NUM_PREST & "", acNormal
y mira a ver que valor te llega en NUM_PREST (en negrita)
Para mirar el valor, cuando se pare el código, ¿pulsas Ctrl+G y en la ventana de inmediato escribes? NUM_PREST y pulsas enter
Si no sale ningún valor puede ser por que el campo no se llama así o porque lo tienes vacío si escribes Me. Te deben aparecer en la lista todos los nombres de campos, busca el que te interesa.
Si no lo consigues, si quieres me envías la bbdd y te lo miro, si no puedes seguimos intentándolo...
A done te puede subir el file.
Envíamelo a [email protected]
Puedes cerrar la pregunta, gracias

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas