Visual Basic - AYUDA PLEASE.

Life is soft - evento anual de software empresarial
 
Vista:

AYUDA PLEASE.

Publicado por Juan (30 intervenciones) el 05/06/2006 14:37:19
Hola, tengo una base de datos con un apartado (text y command) para realizar búsquedas donde text7 es donde pongo el texto a buscar, Command7 el botón para comenzar a buscar. La cuestión es que incluyo abajo, despues de que busque en os distintos campos, incluyo un código para que en el caso de que no encuentre ningun registro, aparezca el msgbox "NO", pues bien, si no encuentra el dato, aparece el mensaje, pero si encuentra el dato tambien aparece el mensaje, logicamente solo debe aparecer cuando no encuentra el dato ¿que falla? el código es el siguiente ¿QUE AÑADO, QUE MODIFICO?:

Private Sub Command17_Click()

' Se coloca en el primer registro para realizar la búsqueda.
Data1.Recordset.MoveFirst
' Buscar la primera coincidencia en el recordset del Data1en el campo nombre.
Data1.Recordset.FindNext "nombre Like '" & Text7.Text & "'"
' Lo mismo.
Data1.Recordset.FindNext "apellidos Like '" & Text7.Text & "'"
' Lo mismo.
Data1.Recordset.FindNext "dni Like '" & Text7.Text & "'"
' Lo mismo.
Data1.Recordset.FindNext "coche Like '" & Text7.Text & "'"
' Lo mismo.
Data1.Recordset.FindNext "matricula Like '" & Text7.Text & "'"

If Data1.Recordset.NoMatch Then
MsgBox "NO"
End If

End Sub
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:AYUDA PLEASE.

Publicado por jose carlos (340 intervenciones) el 05/06/2006 18:16:08
pienso que debes de poner todas las búsquedas en una misma línea mediante la orden OR y en el NOMATCH te falta el ELSE (que es si lo encuentra lo que debe hacer), pienso que al buscar el primer dato y lo encuentra, intenta buscar el segundo y si lo encuentra ya deja de apuntar al primer dato que encontró y así sucesivamente con lo cual solo se quedaría con el dato del último y quizás ese dato no esté en la base.

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:AYUDA PLEASE.

Publicado por CSDK (127 intervenciones) el 05/06/2006 18:22:12
RST_EMPLEADO.Source = "SELECT * FROM TB_CON WHERE CVL_EMP=" & TXT_CVL_EMP.Text & ";" 'BUSKEDA Y CONDICIONES
RST_EMPLEADO.ActiveConnection = ADOCONN'CONEXXION
RST_EMPLEADO.Open

If Not RST_EMPLEADO.EOF Then 'SI LO ENCUENTRA
TXT_NOM.Text = RST_EMPLEADO.Fields("nombre")
TXT_ASIG.Text = RST_EMPLEADO.Fields("AGIN")
TXT_DOMI.Text = RST_EMPLEADO.Fields("domicilio")
TXT_EDAD.Text = RST_EMPLEADO.Fields("edad")
TXT_EDOCIVIL.Text = RST_EMPLEADO.Fields("edi_civil")
TXT_NACIO.Text = RST_EMPLEADO.Fields("nacionalidad")
TXT_POR.Text = RST_EMPLEADO.Fields("porsen")
TXT_PUESTO.Text = RST_EMPLEADO.Fields("puesto")
TXT_SALARIO.Text = RST_EMPLEADO.Fields("salario")
TXT_VAC.Text = RST_EMPLEADO.Fields("vacaciones")
Combo1.Text = RST_EMPLEADO.Fields("pago")
Combo2.Text = RST_EMPLEADO.Fields("comi")
Combo3.Text = RST_EMPLEADO.Fields("CATEGORIA")
Combo4.Text = RST_EMPLEADO.Fields("TIP")
TXT_GT.Text = RST_EMPLEADO.Fields("FECHH")
desconectar
MsgBox ("El registto ya Existe"), vbInformation, "REGISTROS"
CMD_ACEPTAR.Enabled = False
Command2.Enabled = True
Command3.Enabled = True
Command4.Enabled = True
Command5.Enabled = True
Else'SI NO LO ENCUENTRA
MSGBOX("EL REGISTRO NO EXIXTE")

desconectar
End If
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:AYUDA PLEASE.

Publicado por Arnoldo (9 intervenciones) el 05/06/2006 19:14:32
¿Todos los datos están en el Text7?. Supongo que será un error de escritura y cada uno estará en un Text.
Prueba poniendo la instrucción así:
Dim sBusca As String
sBusca = "nombre = '" & Text2 & "' And apellidos = '" & Text3 & "' And dni = '" & Text4 & "'"
Data1.Recordset.FindFirst sBusca
If Data1.Recordset.NoMatch Then
MsgBox "no se encontró"
End If
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