Cita:
Iniciado por spiderman78
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

1º si el campo idpaciente es numérico:
sql = "SELECT receta,fecha,nombre,apellidos,proxima FROM receta WHERE idpaciente=" & cadena
2º Si el DataReport está en español, tendrás que sustituir Section1 por Sección1 y TextN por TextoN
3º .Item("Text??") se refiere al nombre del campo del DataReport (el que asigna cuando insertas un control de cuadro de texto).
Saludos