Visual Basic para Aplicaciones - estudiante

Life is soft - evento anual de software empresarial
   
Vista:

estudiante

Publicado por Gustavo Badell (2 intervenciones) el 06/01/2010 21:29:46
Hola amigos. Es mi primera incursión en este Foro y espero poder recibir ayuda de Uds.
De antemano, muchas gracias por ello.
Mi pregunta es: Estoy iniciandome en Visual Basic con un programa para control de ordenes de servicio. No he podido obtener un reporte de varias ordenes asociadas a una misma cédula de cliente, siempre imprime todas las ordenes.
esta es la sentencia:
Private Sub CmdImprimir_Click()
If Txtcedula = "" Then
MsgBox "Debe marcar cédula a consultar.", vbInformation
Exit Sub
Else
SQL = "SELECT AM.*, txtcedula as expr1 " _
& "FROM AM, reportes " _
& "WHERE AM.txtCedula = AM.txtcedula "
Data.rsreportes.Open , , adOpenDynamic, adLockOptimistic
Data.rsreportes.AddNew
Data.rsreportes!Cedula = Txtcedula.Text
Data.rsreportes.Update
Data.rsreportes.Close
Reportecliente.Show
Data.rsAM.Properties.Refresh
Data.rsreportes.Close
Exit Sub
End If

End Sub
... y esta es para hacer la búsqueda:
Private Sub Cmdbuscar_Click()
Dim tabla As New Recordset
tabla.Open "AM", conexion, adOpenDynamic, adLockOptimistic
If Not (tabla.BOF And tabla.EOF) Then
tabla.MoveFirst
While Not tabla.EOF
If tabla!Cedula = Txtcedula.Text Then
Txtcedula.Text = tabla!Cedula
Txtnombre.Text = tabla!nombre & " " & tabla!apellido
txtOrden.Text = tabla!Orden
txtEquipo.Text = tabla!equipo
TxtMarca.Text = tabla!marca
tabla.Close
Exit Sub
End If
tabla.MoveNext
Wend
MsgBox "Elemento no Encontrado", vbExclamation, " Advertencia"
Call borrar
Else
MsgBox "No hay Elementos en la Lista.", vbInformation, "Advertencia"
End If
tabla.Close
End Sub
Saludos, Gustavo
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
Imágen de perfil de JuanC

RE:estudiante

Publicado por JuanC (431 intervenciones) el 07/01/2010 12:08:05
creo que el error está en
AM.txtCedula = AM.txtcedula
selecciona donde una cédula es igual a si misma... es decir, todas...

Saludos, desde Baires, JuanC
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:estudiante

Publicado por Estudiante (2 intervenciones) el 08/01/2010 19:10:56
Gracias por tu atención y sugerencia JuanC.
Lamentablemente no me funcionó. Sigue igual el error y me muestra todas las órdenes sin clasificar por cliente y cédula.
Seguiré intentando.
Un cordial abrazo
GustavoB
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

Sugerencia

Publicado por Juan Tumbaco (2 intervenciones) el 22/01/2010 15:08:51
Saludos cordiales:
Estuve revisando tu codigo y concuerdo con Juan C, tu error esta en la sentencia sql que envias estas comparando el campo de la misma tabla, y lo que deberias hacer es un join entre la tabla AM y la tabla reportes. algo asi:

SQL = "SELECT AM.*, txtcedula as expr1 " _
& "FROM AM, reportes " _
& "WHERE AM.txtCedula = reportes.txtcedula "

Espero que puedas solucionar tu problema.

Atentamente,

Juan Tumbaco
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