Ayuda urgente por favor

15/06/2005 - 17:34 por Nacho | Informe spam
Tengo una bdd en .mdb que estoy pasando a proyecto .adp. El problema es que
en un formulario de presupuestos tengo un boton para que me imprima ese
presupuesto en el que estoy. Para ello tengo una consulta que se llama
filtro presupuestos que lo que hace es que cuando pulsas el boton del
formulario te coge solo el registro que tu estas viendo y luego te imprime
un informe. El codigo que le pongo en la consulta es:
en el campo ID DE PRESUPUESTO, pongo en criterio: [Forms]![Presupuestos]![ID
DE PRESUPUESTO]
Pero el problema es que al crear el proyecto y pasar las consultas a vistas
o a procedimientos almacenados, no se como crear esto. Si no pongo esta
consulta, cuando desde el formulario le doy al boton, aunque este en un
registro, me imprime todos los presupuestos, no el que yo estoy viendo en
ese momento.
Podeis decirme como tengo que hacerlo? No tengo casi nada de idea de SQL, y
tengo muchas consultas de estas para imprimir un presupuesto, mandarlo por
email, por fax, al igual que me pasa con las facturas.

Muchas gracias

Nacho Lopez

Preguntas similare

Leer las respuestas

#1 Manuel Vera
15/06/2005 - 18:09 | Informe spam
A ver si esto te sirve...

Debes modificar tu consulta, quitando el criterio de seleccion
ID DE PRESUPUESTO = [Forms]![Presupuestos]![ID DE PRESUPUESTO]

y lo grabas.
Luego en tu FORM, cuando presionas el boton, entonces le asignas el
criterio.
Coloca lo que haces al presionar el boton o explicalo

Salu2
MV
Respuesta Responder a este mensaje
#2 Nacho
15/06/2005 - 18:15 | Informe spam
Manuel: gracias por contestar.
El codigo del boton en el formulario de access 2003 es:

Private Sub Imprimir_presupuesto_de_hardware_Click()
' Este código está creado por el Asistente para botones de comando.
On Error GoTo Err_Imprimir_presupuesto_de_hardware_Click

Dim cadNombreDocumento As String

cadNombreDocumento = "Imprimir presupuesto"
' Informe Imprimir Factura, usa la consulta Fitro Facturas para imprimir
la
' factura del pedido actual.
DoCmd.OpenReport cadNombreDocumento, acViewNormal, "Filtro presupuestos"

Salir_Imprimir_presupuesto_de_hardware_Click:
Exit Sub

Err_Imprimir_presupuesto_de_hardware_Click:
' Si el usuario cancela la acción, no mostrar un mensaje de error.
Const conErrDoCmdCancelado = 2501
If (Err = conErrDoCmdCancelado) Then
Resume Salir_Imprimir_presupuesto_de_hardware_Click
Else
MsgBox Err.Description
Resume Salir_Imprimir_presupuesto_de_hardware_Click
End If

End Sub

El problema es que ahora en el proyecto .adp no se en SQL como crear la
consulta para que funcione. No se si crear una vista, un procedimiento
almacenado o que, y como poner el codigo que te he contado antes de la
consulta filtro presupuestos para que me coja solo el registro en el que
estoy. A lo mejor en SQL se puede hacer algo mas facil que como lo tenia en
el access 2003, pero no lo se.

Muchas gracias de verdad.





"Manuel Vera" escribió en el mensaje
news:
A ver si esto te sirve...

Debes modificar tu consulta, quitando el criterio de seleccion
ID DE PRESUPUESTO = [Forms]![Presupuestos]![ID DE PRESUPUESTO]

y lo grabas.
Luego en tu FORM, cuando presionas el boton, entonces le asignas el
criterio.
Coloca lo que haces al presionar el boton o explicalo

Salu2
MV


Respuesta Responder a este mensaje
#3 Manuel Vera
15/06/2005 - 18:29 | Informe spam
Creo que la opcion más fácil y rápida es crear una vista en SQL:

create view EL_NOMBRE as
TU_CODIGO_SQL
(sin colocar el criterio de seleccion)
go

con eso creas la vista y digamos que TU_CODIGO_SQL es:
select <los campos>, ID DE PRESUPUESTO
from <presupuestos...>

Luego, en Access, al menos en versiones anteriores, podias colocar el
filtro, algo como:

DoCmd.OpenReport cadNombreDocumento, acViewNormal, "Filtro presupuestos"
en este comando, en algunos de los parametros, podias pasar el valor a
buscar.
algo asi:

DoCmd.OpenReport cadNombreDocumento, acViewNormal, _
"Filtro presupuestos", " ID DE PRESUPUESTO = " & _
[Forms]![Presupuestos]![ID DE PRESUPUESTO]

No recuerdo la posicion exacta del parametro, por en uno de esos esta.

Luego, ese reporte de Access debes colocarle la VISTA recien creada como el
origen de datos.
Debes tener en cuenta como conectas desde Access a la vista en SQL.
En versiones anteriores yo usaba un objeto Query y lo defenia como
SQLPassthrough.
Actualmente no se como se hace con las nuevas versiones de Access.

Salu2
MV
Respuesta Responder a este mensaje
#4 Nacho
15/06/2005 - 18:32 | Informe spam
Gracias Manuel. Voy a probarlo.

"Manuel Vera" escribió en el mensaje
news:
Creo que la opcion más fácil y rápida es crear una vista en SQL:

create view EL_NOMBRE as
TU_CODIGO_SQL
(sin colocar el criterio de seleccion)
go

con eso creas la vista y digamos que TU_CODIGO_SQL es:
select <los campos>, ID DE PRESUPUESTO
from <presupuestos...>

Luego, en Access, al menos en versiones anteriores, podias colocar el
filtro, algo como:

DoCmd.OpenReport cadNombreDocumento, acViewNormal, "Filtro presupuestos"
en este comando, en algunos de los parametros, podias pasar el valor a
buscar.
algo asi:

DoCmd.OpenReport cadNombreDocumento, acViewNormal, _
"Filtro presupuestos", " ID DE PRESUPUESTO = " & _
[Forms]![Presupuestos]![ID DE PRESUPUESTO]

No recuerdo la posicion exacta del parametro, por en uno de esos esta.

Luego, ese reporte de Access debes colocarle la VISTA recien creada como
el
origen de datos.
Debes tener en cuenta como conectas desde Access a la vista en SQL.
En versiones anteriores yo usaba un objeto Query y lo defenia como
SQLPassthrough.
Actualmente no se como se hace con las nuevas versiones de Access.

Salu2
MV


email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida