Visual Basic - Reporte de un solo registro.

Life is soft - evento anual de software empresarial
   
Vista:

Reporte de un solo registro.

Publicado por martin (3 intervenciones) el 23/12/2010 16:57:39
Hola!!!. Quisiera crear un registro individual con una consulta que me traiga dos datos, código y curso.
Armé este código:

Dim opc As String
Dim opc1 As String
Dim Codigo As Integer
Dim CodigoCurso As String

opc = InputBox("Ingrese el código del alumno")

If opc = "" Then
MsgBox "Ingrese un código"
Exit Sub
Else
If Not IsNumeric(opc) Then
MsgBox "Ingrese un código numérico"
Exit Sub
Else
Codigo = opc
End If
End If

opc1 = InputBox("Ingrese el código del curso del alumno")

If opc1 = "" Then
MsgBox "Ingrese un código de curso"
Exit Sub
Else
If Not IsNumeric(opc) Then
MsgBox "Ingrese un código numérico"
Exit Sub
Else
CodigoCurso = opc1
End If
End If

If Not Conectar() Then Exit Sub
sql = "select * from Alumnos where Codigo = " & Codigo & " and Curso = '" & CodigoCurso & "'"
Set Rs = Cn.Execute(sql)
If Not Rs.EOF Then
DataEnvironment1.ReporteIndividualInformes opc
DataReportIndInf.Show vbModal
DataEnvironment1.rsReporteIndividualInformes.Close
Else
MsgBox "El código es incorrecto"
Exit Sub
End If

End Sub

La cuestión es que en la sentencia "DataEnvironment1.ReporteIndividualInformes opc", me leé sólo el dato que se guardó en el primer inputbox y aparecen todos los registros con ese código cuando sólo quiero un solo registro con los datos código y curso.

Saludos!!!!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Reporte de un solo registro.

Publicado por martin (3 intervenciones) el 23/12/2010 17:58:36
Hola!!!. Quisiera crear un reporte individual con una consulta que utilice dos datos, código y curso.
Armé este código:

Dim opc As String
Dim opc1 As String
Dim Codigo As Integer
Dim CodigoCurso As String

opc = InputBox("Ingrese el código del alumno")

If opc = "" Then
MsgBox "Ingrese un código"
Exit Sub
Else
If Not IsNumeric(opc) Then
MsgBox "Ingrese un código numérico"
Exit Sub
Else
Codigo = opc
End If
End If

opc1 = InputBox("Ingrese el código del curso del alumno")

If opc1 = "" Then
MsgBox "Ingrese un código de curso"
Exit Sub
Else
If Not IsNumeric(opc) Then
MsgBox "Ingrese un código numérico"
Exit Sub
Else
CodigoCurso = opc1
End If
End If

If Not Conectar() Then Exit Sub
sql = "select * from Alumnos where Codigo = " & Codigo & " and Curso = '" & CodigoCurso & "'"
Set Rs = Cn.Execute(sql)
If Not Rs.EOF Then
DataEnvironment1.ReporteIndividualAlumnos opc
DataReportAlumnosInd.Show vbModal
DataEnvironment1.rsReporteIndividualAlumnos.Close
Else
MsgBox "El código es incorrecto"
Exit Sub
End If

La cuestión es que en la sentencia "DataEnvironment1.ReporteIndividualAlumnos opc", me leé sólo el dato que se guardó en el primer inputbox y aparecen todos los registros con ese código cuando sólo quiero un solo registro cuyas consultas sean las de código y curso.

Saludos!!!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Reporte de un solo registro.

Publicado por ChupeteSuazo (225 intervenciones) el 23/12/2010 18:14:30
Me gustaria entender tu codigo para poder ayudarte:

'Que haces con este recordset?
If Not Conectar() Then Exit Sub
sql = "select * from Alumnos where Codigo = " & Codigo & " and Curso = '" & CodigoCurso & "'"
Set Rs = Cn.Execute(sql)

'Para que es este loop? cual es el objetivo de este bloque?
If Not Rs.EOF Then
'Aqui solo estas pasando un solo parametro que es opc. Me imagino que deberias pasar 2 parametros: Codigo y CodigoCurso...
DataEnvironment1.ReporteIndividualInformes opc
DataReportIndInf.Show vbModal
DataEnvironment1.rsReporteIndividualInformes.Close
Else
MsgBox "El código es incorrecto"
Exit Sub
End If
End Sub

Dejame saber para poder ayudarte...

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Reporte de un solo registro.

Publicado por martin (3 intervenciones) el 23/12/2010 18:49:30
Con el record set, hago la consulta en la base con los dos datos que recogí de los inputbox anteriores (opc = codigo), (opc1 = curso).

En el loop, si no es fín de archivo, que me traiga todo el registro completo con los datos restantes de la base donde está el alumno y me los muestre en el reporte.

El problema está en lo que marcaste:

DataEnvironment1.ReporteIndividualInformes opc
DataReportIndInf.Show vbModal
DataEnvironment1.rsReporteIndividualInformes.Close

No sé como hacer para que me tome los dos parámetros y no solamente, el primer opc donde me hace todos los reportes con ese código y no, el de un alumno solo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Reporte de un solo registro.

Publicado por ChupeteSuazo (225 intervenciones) el 24/12/2010 03:59:51
Aqui tienes un ejemplo de pasar parametros:
http://www.recursosvisualbasic.com.ar/htm/tutoriales/datareport.htm#4
Suerte!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Reporte de un solo registro.

Publicado por martin (2 intervenciones) el 24/12/2010 19:59:28
Gracias!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar