SoloCodigo
Programación General => Visual Basic 6.0 e inferiores => Mensaje iniciado por: solcito en Martes 28 de Diciembre de 2004, 19:54
-
Quiero imprimir un formulario, pero los datos se los mando desde otro formulario, probé mandandole el recordset, pero no me funciona, tambien probe mandando los datos por separado y en el form load cargar cada dato en una label, pero tampoco me funciono ya que los datos parecerian perderse,
Como puedo hacer para mandar un recordset a un formulario, asignar los valores a las distintas labels y luego imprimirlo!!
y como siempre desde ya muchas gracias!!
-
:devil:
Hola.. mira si quieres es imprimir es el formulario pones asi
formulario.PrintForm
sobre a pasar los valores del recordset es facil
por ejm. :comp:
formPrinter.etiqueta.caption = .fields("campo")
No se si es eso lo que querias... es que no espesificas bien..
saludos :scream:
-
No es eso lo que necesitaba, igualmente Gracias
Imprimir el formulario no es problema y asignarle a las labels el campo del recordset tampoco, el problema es el siguiente:
Desde el Form1 le paso por propiedad al Form2 el recordset, si yo luego en el Form_load quier cargar los datos en las distintas labels me da error, es como si el recordset se hubiera borrado.
El que me pueda dar una minima ayuda sera MUY BIEN BENIDA :smartass:
-
:comp: Yo he estado trabajando en algo similar, y lo que hago es lo siguiente: igualo cada etiqueta a una variable, por ejemplo: nombre=label1.caption, esta variable nombre debes declararla como Global en un modulo, ejemplo:
Global nombre as String. Luego al cargar el segundo formulario, llamas a estas variables y se las asignas a la propiedad caption de las etiquetas ubicadas en el form2.
OBSERVACION: Yo he tenido ese problema de que cuando asigno un procedimiento al evento Load o al evento Activate me da error: si te sigue dando el error has la siguiente prueba, agrega un boton al form2 y asignale el procedimiento que pusiste en Load (obviamente debes quitar este del Load), luego ejecutalo para que sucede. Deberia funcionar, si es asi vas a tener que ingeniartela, aqui te mando una trampa que yo hago y es la que,el procedimiento que tu deseas ejecutar en el load se lo asigno a un timer ubicado en el form2 le cambias la propiedad interval a 100 o menos si lo deseas, y la propiedad enabled=false y en el form2 activate
colocas timer1.enabled=true y al final del procedimiento que escribiste dentro del timer coloca timer1.enabled=false. Respondeme si te sirvio la ayuda y si no tambien para ver que hacemos
-
gracias por tus consejos la verdad que me sirvieron, pero algunas cosas no las entendi :huh: por ejemplo para que en el form activate poner timer1.enabled=true
yolo resolvi de la siguiente manera y me funciona pero si encuentras algo que esta mal o se podria hacer mejor, te lo agredeceria :lol:
esto en el form2
Private Sub Command1_Click()
Label6.Caption = gDependencia
Label7.Caption = gEstado
Label8.Caption = gIdentificacion
Label9.Caption = gNumeroRep
Label10.Caption = gMotivo
Timer1.Enabled = True
Me.CommonDialog1.CancelError = True
Me.CommonDialog1.ShowPrinter
Me.PrintForm
Unload Me
End Sub
Private Sub Timer1_Timer()
Command1_Click
Timer1.Enabled = False
End Sub
Desd ya muchisimas Gracias tu ayuda ha sido muy valiosa :smartass: