Buenos dias compañeros pasa lo siguiente utilizo esta función para hacer consultas tipo SELECT a mi BD(SQL Server utilizo un DSN para conectarme a la misma)
Agradesco sus colaboraciones.
Saludos.
Código:
Ahora la forma de acceder a la misma es:Public Function Consultar(ByVal cTabla As String, ByVal cCriterio As String, ByRef Registro As DataRow) As Boolean Dim Sconsulta As String, Fmostrar As Boolean If cTabla <> vbNullString Then If cCriterio <> vbNullString Then Sconsulta = "SELECT * FROM " + Trim(cTabla) + " WHERE " + Trim(cCriterio) Else Sconsulta = "SELECT * FROM " + Trim(cTabla) End If Adaptador = New Odbc.OdbcDataAdapter(Sconsulta, Conexion) Sdataset = New DataSet Try Adaptador.Fill(Sdataset, cTabla) Sdatatable = Sdataset.Tables(0) Registro = Sdatatable.Rows(0) Fmostrar = True Catch ex As Exception MessageBox.Show("Error al extraer los datos de la consulta:" & vbCrLf & ex.Message) Fmostrar = False Exit Function End Try Else MessageBox.Show("ERROR al mostrar los registros: Capa de datos, cadena de parámetros vacia", "Aplicativo_Partes", MessageBoxButtons.OK, MessageBoxIcon.Exclamation) End If Return Fmostrar End Function
Código:
y asi sucesivamente con los demas datos(textbox), mi pregunta es teniendo en cuenta la forma en que rescato los datos de la consulta como podría generar un reporte en Crystal Report? ya que utilizo esa misma funcion Consultar() en el mismo formulario para rescatar diversa información que debe ir en el mismo reporte, he estado mirando los ejemplos por internet del uso del crystal pero siempre hacen el reporte creando un Dataset, por proyecto Add Item y demas cosas, pero yo internamente creo el Dataset y el objeto Registro(DataRow) me devuelve los datos de la consulta.If Consultar("PM_Refe_Spects AS ps INNER JOIN Part_Master AS pm ON ps.unidad = pm.PRTNUM_01 INNER JOIN PM_Refe_Details AS pd ON ps.unidad = pd.Unidad", "ps.unidad = '" & Me.estructura.SelectedNode.Tag & "' AND pd.Unidad = '" & Me.estructura.SelectedNode.Tag & "'", Registro) Then 'MOSTRAR DATOS DE LA CONSULTA Me.referencia.Text = Registro("unidad") Me.ccodigo.Text = Registro("codigo_comodidad") Me.planta.Text = Registro("codigo_planta") Me.revision.Text = Registro("revision_refe") Me.fecha.Text = Registro("fecha_rev") Me.roriginal.Text = Registro("und_original") Me.ctarro.Text = Registro("colort") Me.cscreen.Text = Registro("cscreen")
Agradesco sus colaboraciones.
Saludos.