Ver Mensaje Individual
  #3 (permalink)  
Antiguo 31/01/2009, 07:33
spiderman78
 
Fecha de Ingreso: abril-2008
Mensajes: 281
Antigüedad: 16 años, 1 mes
Puntos: 1
De acuerdo Respuesta: Imprimir texbox en un datareport

Cita:
Iniciado por Avellaneda Ver Mensaje
Para poder responder bien, deberías sustituir "pero no me funciona" por el motivo por el cual no funciona (da error, no salen los datos deseados..)
De todas formas ahí van unas observaciones:
1º Si el campo idpaciente es numérico, le tienes que quitar las comillas simples a la variable "cadena"
2º Si idpaciente es único, es mas efectivo utilizar el operador de igual que Like.
3º Se da por hecho que la variable receta1 está declarada para todo el módulo.
4º Antes ( y no después) de asignar los campos a la propiedad DataField le tienes que asignar al DataReport el recordset.

Código:
Set DataReceta.DataSource = receta1
With DataReceta.Sections("section1").Controls
	.Item("Text2").DataField = "receta"
	.Item("Text3").DataField = "fecha"
	.Item("Text4").DataField = "nombre"
	' .....
End With
DataReceta.Show
Asumiendo que tu DataReport está en inglés.


Que tal gracias por las observaciones, haciendo las modificaciones recomendadas mi codigo quedaria de la siguiente manera

Código:
Private Sub ConsultaReceta()
    Dim sql As String, cadena As String
    Call VisualizarReceta
    cadena = Text1(3).Text
        sql = "SELECT receta,fecha,nombre,apellidos,proxima FROM receta WHERE idpaciente=" & cadena & " "
        Set receta1 = New ADODB.Recordset
        receta1.Open sql, BD, adOpenKeyset, adLockOptimistic
End Sub

Private Sub Imprimir()
  Call ConsultaReceta
    Set DataReceta.DataSource = receta1
With DataReceta.Sections("section1").Controls
    .Item("Text2").DataField = "receta"
    .Item("Text3").DataField = "fecha"
    .Item("Text4").DataField = "nombre"
    .Item("text5").DataField = "apellidos"
    .Item("text6").DataField = "proxima"
End With
    DataReceta.Show
End Sub
Pero me marca el siguiente error " Report sections do not match data source"

Y si efectivamente la variable receta1 la tengo dada de alta en todo el modulo, lo q si no entendi fue eso de suponiendo q mi datareport estuviera en ingles....

Tambien lo q tengo una duda desde q estuve investigando sobre como mandar los datos es: si en este linea
.Item("Text2").DataField = "receta", el text2 debe de ser el campo del datareport o el campo del formulario??


Gracias por la ayuda
Saludos