Iniciado en access y algunas dudas

SALUDOS! Mirad gente, tengo el siguiente problema... Primero que todo, soy un iniciado en access :0. A ver mi problema es el siguiente:
Tengo una tabla con unos 600 registros de unos 2000 clientes. El problema es que al crear un INFORME para poder imprimir lo que yo quiera modificando dicho informe hasta conseguir el formato deseado y tal... Me sucede que me muestra en el INFORME... TODOS LOS REGISTROS!
Quiero decir que NO SE COMO HACER PARA CONSEGUIR SACAR UN INFORME DEL CLIENTE O REGISTRO QUE YO QUIERA. Tampoco sé que es lo que tengo que hacer para poder elegir el cliente que yo quiera y que dicha elección me genere el informe a imprimir...
RESUMEN: Lo que yo quiero es elegir de esa tabla de 2000 clientes, el que yo quiera, y que SEA ESE SOLO(o sea el elegido por mi)el cual me aparezca en el informe, y así poder imprimirlo.
Explico por pasos:
1-Abrir la tabla.
2-Elegir el cliente que quiera.
3.Q SOLO ese cliente y sus respectivos datos sea el que me aparezca en el INFORME a imprimir.
Espero respuesta... SALUDOS AMIGOS!

1 respuesta

Respuesta
1
Vamos pasito a pasito...
Se supone que tienes un formulario con un cuadro de texto donde indicarás el cliente... además tendrás un botón para realizar el informe.
El cuadro de texto lo llamaremos txtCliente. Al botón btnImprimir.
Abre las propiedades del btnImprimir. En la pestaña Eventos sitúate sobre AlHacerClick... aparecerá a mano derecha un botoncito con 3 puntos... haz click sobre él... Si te aparece un cuadro de diálogo, marca la opción Generar Código... ahora se te ha abierto una nueva ventana con el texto siguiente..
Sub btnAceptar_click()
Exit sub
Escribe entre las dos líneas el siguiente código...
Dim strReportName as string
Dim strNombreCampoCodigoCliente as string
Dim strCondition as string
dim intVista as integer
'Si quieres visualizar el listado
intVista=acViewPreview
'Si quieres imprimir el listado
intVista=acViewNormal
strReportName="Nombre del informe"
StrNombreCampoCodigoCliente="Nombre del campo de la tabla que contiene el código del cliente"
'Si el usuario no ha indicado ningún código de cliente
'No hacer nada y salir
if isnull(txtCliente") then exit sub
'Si código de cliente es numérico...
strCondition=strNombreCampoCodigoCliente & " = " & me.txtCliente
'Si código de cliente es texto...
strCondition=strNombreCampoCodigoCliente & " = '" & me.txtCliente & "'"
on error resume next
DoCmd. OpenReport strReportName, intVista,, strCondition
Para evitar el proceso de una línea, escribe un apostrofe delante...
Antes de imprimir el informe es bueno situar el código On Error Resume Next... sobre todo si en el propio informe tienes escrito el código de validación por si no tienes datos.. P.Ej.:
Escribe en el módulo del informe, y en el evento AlNoHaberDatos...
msgbox "No existen datos para mostrar.",vbCritical
Cancel=true
Este código devuelve un error al llamarlo por DoCmd. OpenReport... con lo que si no indicamos On Error Resume next nos mostrará el error 2401 .. Se canceló la operación Open Report..
Espero haber sido de utilidad.
Saludos.
Jordi Pérez i Madern
Mataró (Barcelona)

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas