![]() |
![]() |
![]() |
![]() |
![]() |
FTP | ![]() |
![]() |
CCD | ![]() |
![]() |
Buscar | ![]() |
![]() |
Trucos | ![]() |
![]() |
Trabajo | ![]() |
![]() |
Foros | ![]() |
|
#1
|
|||
|
|||
Ok aqui el codigo
Primero se graba la factura y en el after post va lo siguiente.
procedure TfrmContado.qryContadoAfterPost(DataSet: TDataSet); begin inherited; DM.DB.ApplyUpdates([qryContado]); z := qryContadoIDCLIENTE.AsInteger; y := qryContadoIDAUTO.AsInteger; end; Despues al momento de imprimir hago lo siguiente procedure TfrmContado.btnImprimirClick(Sender: TObject); begin inherited; if (Application.MessageBox('Desea Imprimir el Contrato?', 'Confirmar', MB_YESNO) = IDYES) then begin frmreportes := Tfrmreportes.Create(self); qryContado.Close; // este query se conecta a la tabla ventas// qryContado.Open; ***este es otro query (aunque llamado igualque esta en la forma de reportes) el cual se conecta a la vista****** frmReportes.qryContado.ParamByName('idcliente').AsInteger := z; frmReportes.qryContado.ParamByName('idauto').AsInteger := y; frmReportes.qryContado.Open; frmreportes.repContado1.Print; frmreportes.repContado2.Print; frmreportes.repContado3.Print; end; end; el query de la vista en la sentencia sql tiene: select * from VW_Contado where idcliente =:z and idauto =:y el query de la tabla en la sentencia sql tiene: select * from ventas Gracias por la ayuda
__________________
Gracias a Todos Por su ayuda.. "Hoy por mi mañana por ti" |
#2
|
||||
|
||||
Hola.
Prieba a poner un frmReportes.qryContado.Close, antes de la asignación de los parámetros, no sea que ya estuviese abierto. Aunque no debería haber problemas, no me gusta demasiado utilizar variables globales, a menos que sean estrictamente necesarias. En lugar de usarl las variables z e y ¿ no puedes asignar directamente qryContadoIDCLIENTE.AsInteger al parámetro ?, o es que ¿ qryContado va a apuntar a un registro distinto ?. En cualquier caso, asegúrate de poner un punto de interrupción en el momento de asignar los parámetros, y comprueba que z e y contienen los valores que esperas. Saludos.
__________________
Marc Guillot (Hi ha 10 tipus de persones, els que saben binari i els que no). |
#3
|
|||
|
|||
Modificaciones
Hola y gracias por tu ayuda guillotmarc, de hecho a mi tampoco me gustan las variables y ya tenia el proyecto asignando los valores del query pero en la busqueda de una solucion improvise lo de las variables ahora son locales y con las modificaciones q me diste lo deje de la siguiente manera:
frmreportes := Tfrmreportes.Create(self); qryContado.Close; qryContado.Open; frmReportes.qryContado.Close; z:=qryContadoIDCLIENTE.AsInteger; y:=qryContadoIDAUTO.AsInteger; frmReportes.qryContado.ParamByName('idcliente').AsInteger := z; frmReportes.qryContado.ParamByName('idauto').AsInteger := y; frmReportes.qryContado.Open; frmreportes.repContado1.Print; Si viene con los valores que espero, y dichos valores estan registrados el error que me da es el siguiente 'qrycontado ![]()
__________________
Gracias a Todos Por su ayuda.. "Hoy por mi mañana por ti" |
#4
|
||||
|
||||
Que curioso que antes no te diera este error.
Entra en la colección Parameters en las propiedades del qryContado en frmReportes, y verifica que tengas idcliente y idauto, y que ambas sean de tipo integer. Saludos.
__________________
Marc Guillot (Hi ha 10 tipus de persones, els que saben binari i els que no). |
#5
|
|||
|
|||
Vistas
Este error lo he tenido siempre, es por eso que no puedo avanzar...el tipo de dato si esta entero en los dos parametros, lo que no tengo es el param type, ahi no se si se ponga algo o no....
Gracias
__________________
Gracias a Todos Por su ayuda.. "Hoy por mi mañana por ti" |
#6
|
||||
|
||||
![]() Cita:
de tal manera que debieras hacer: frmReportes.qryContado.ParamByName('z').AsInteger := z; frmReportes.qryContado.ParamByName('y').AsInteger := y; Además, te recomiendo que aprendas a utilizar la etiqueta code para indentar trozos de código, que son mucho mas legibles de esta forma. Hasta luego. ![]()
__________________
Juan Antonio Castillo Hernández (jachguate) Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate |
#7
|
|||
|
|||
Gracias
Código:
alert("select * from vw_credito where idcliente =:z and idauto =:y"); alert("Espero asi se utilice esta etiqueta");
__________________
Gracias a Todos Por su ayuda.. "Hoy por mi mañana por ti" |
![]() |
|
|
![]() |
|