Foros del Web » Programación para mayores de 30 ;) » Programación General » Visual Basic clásico »

Ayuda para buscar registros

Estas en el tema de Ayuda para buscar registros en el foro de Visual Basic clásico en Foros del Web. Tengo un problema a la hora de buscar un registro de la base de datos me marca error run-time error -2147217900(80040e14) pues la verdad segun ...
  #1 (permalink)  
Antiguo 04/02/2008, 16:48
 
Fecha de Ingreso: febrero-2008
Mensajes: 6
Antigüedad: 16 años, 3 meses
Puntos: 0
Ayuda para buscar registros

Tengo un problema a la hora de buscar un registro de la base de datos me marca error run-time error -2147217900(80040e14)
pues la verdad segun yo el codigo esta bien escrito y tambien la forma de desarrollo tiene logica
alguien que me pueda ayudar dejo el codigo aqui






Private Sub Clientes_Validate(Action As Integer, Save As Integer)

End Sub

Private Sub Command1_Click()
Dim buscartel As String
buscartel = UCase(InputBox("Ingrese El Telefono A Buscar.", "Buscar Producto"))
adoclien.RecordSource = "Select * From Telefono where Clientes ='" & buscar & "'"
adoclien.Refresh
End Sub

Public Sub buscarr(criterio As String, dato As String)
adoclien.Recordset.MoveFirst
adoclien.Recordset.Find criterio
If adoclien.Recordset.EOF Then
frmcuadro.Show
frmcuadro.lblmensaje.Caption = "No Se Encuentra El Dato: " + dato
adoclien.Recordset.MoveFirst
End If
End Sub

Private Sub Form_Unload(Cancel As Integer)
adoclien.Recordset.Close
End Sub

Private Sub mnusal_Click()
mdiPrincipal.Show
End Sub
  #2 (permalink)  
Antiguo 04/02/2008, 21:15
Avatar de mexhost  
Fecha de Ingreso: febrero-2008
Mensajes: 47
Antigüedad: 16 años, 3 meses
Puntos: 0
Re: Ayuda para buscar registros

.net o 6.0 ?¿
  #3 (permalink)  
Antiguo 05/02/2008, 17:06
 
Fecha de Ingreso: febrero-2008
Mensajes: 6
Antigüedad: 16 años, 3 meses
Puntos: 0
Re: Ayuda para buscar registros

es 6.0
y setoy utilizando ADO
  #4 (permalink)  
Antiguo 06/02/2008, 01:17
Colaborador
 
Fecha de Ingreso: enero-2008
Ubicación: Unas veces aquí, otras veces allí
Mensajes: 1.482
Antigüedad: 16 años, 3 meses
Puntos: 37
Re: Ayuda para buscar registros

¿Cual es la descripción del error y en qué linea lo marca?

Hay algunos cosas que no entiendo de ese código. p.e. en el evento Click del Command1:

adoclien.RecordSource = "Select * From Telefono where Clientes ='" & buscar & "'"

¿Qué es buscar, donde declaraste esa variable? ¿No querrás decir buscartel ?

¿Buscar en la tabla Telefono por el campo Clientes, no será al contrario?

Yo creo que la consulta debería ser así:
"Select * From Clientes Where Telefono = '" & buscartel & "'"

Además a continuación del InputBox deberías verificar que el valor de buscartel no es nulo (que el usuario no haya introducido ningún dato) ya que daría error en la consulta.

Por otra parte, en el procedimiento "buscarr" deberías indicar que contiene el parámetro "criterio" ya que es posible que sea ahí donde está el error.
  #5 (permalink)  
Antiguo 06/02/2008, 21:51
 
Fecha de Ingreso: febrero-2008
Mensajes: 6
Antigüedad: 16 años, 3 meses
Puntos: 0
Re: Ayuda para buscar registros

Private Sub Command1_Click()
Dim buscartel As String
buscartel = UCase(InputBox("Ingrese El Telefono A Buscar.", "Buscar Producto"))
adoclien.RecordSource = "Select * From Clientes Where Telefono = '" & buscartel & "'"
adoclien.Refresh
End Sub

en esa linea me marca error, podria ser por que nunca muestra los datos... pero aun asi no deberia marcar error se tomaria como basura csimplemente y no arrojaria nada...
la verdad hace mucho que no utilizo el visual basic, por eso pido ayuda...
gracias
  #6 (permalink)  
Antiguo 07/02/2008, 02:01
Colaborador
 
Fecha de Ingreso: enero-2008
Ubicación: Unas veces aquí, otras veces allí
Mensajes: 1.482
Antigüedad: 16 años, 3 meses
Puntos: 37
Re: Ayuda para buscar registros

¿Cual es la descripción del error?

¿Seguro que el campo Telefono de la tabla Clientes es de tipo texto?
  #7 (permalink)  
Antiguo 07/02/2008, 16:45
 
Fecha de Ingreso: febrero-2008
Mensajes: 6
Antigüedad: 16 años, 3 meses
Puntos: 0
Re: Ayuda para buscar registros

pues mira
me marca este error
run-time error -2147217900(80040e14)
pero si me puedes ayudar
te paso el archivo comprimido
en el archivo bienen todo el programa y a los que dicen ejemplos no les hagas caso por que se me pasaron de mas, solo eliminalos (es lo que hice alguna vez)

http://www.mediafire.com/?dnnzy1wvdm0
  #8 (permalink)  
Antiguo 08/02/2008, 03:31
Colaborador
 
Fecha de Ingreso: enero-2008
Ubicación: Unas veces aquí, otras veces allí
Mensajes: 1.482
Antigüedad: 16 años, 3 meses
Puntos: 37
Re: Ayuda para buscar registros

Efectivamente, como me temía, el error es porque el campo "Telefono" es numérico y lo estás considerando como de texto.

La consulta debería ser así: adoclien.RecordSource = "Select * From Clientes Where Telefono = " & buscartel
pero para que lo anterior funcione debes modificar las siguientes propiedades del control dataADO (adoclien):
CommandType = 1 - adCCmdText
RecordSource = Select * From Clientes

Para efectuar la búsqueda en una única tabla, es mas sencillo hacerlo con el método "Find" y sin modificar las propiedades anteriores.

Bueno, yo pondría el código así:

Código:
Private Sub Command1_Click()
Dim buscartel As String
Dim lTel As Long
buscartel = InputBox("Ingrese El Telefono A Buscar.", "Buscar Producto")
' si no se escribió nada o se pulsó en "Cancelar", salimos
If buscartel = "" Then Exit Sub
' verificar que solamente se escribieron números
If Not IsNumeric(buscartel) Then
    MsgBox "Sólo números"
    Exit Sub
End If
' convertir la variable "buscartel" a número
lTel = CLng(buscartel)
adoclien.Recordset.MoveFirst
adoclien.Recordset.Find "Telefono = " & lTel
If adoclien.Recordset.EOF Then
    MsgBox "No encontrado"
End If
' adoclien.Refresh<-- instrucción no necesaria, ya que los TextBox
' están enlazados a los campos de la tabla
End Sub
Suerte con tu proyecto!
  #9 (permalink)  
Antiguo 08/02/2008, 23:27
 
Fecha de Ingreso: febrero-2008
Mensajes: 6
Antigüedad: 16 años, 3 meses
Puntos: 0
Re: Ayuda para buscar registros

Gracias !! me sirvio mucho pero ahora... tengo un problema a la hora de guardar en el ADO, me dice codigo no correcto o algo asi
Pero Te agradezco
  #10 (permalink)  
Antiguo 09/02/2008, 05:44
Colaborador
 
Fecha de Ingreso: enero-2008
Ubicación: Unas veces aquí, otras veces allí
Mensajes: 1.482
Antigüedad: 16 años, 3 meses
Puntos: 37
Re: Ayuda para buscar registros

¿Y cómo lo guardas?

Si no pones el código, no podremos ayudarte.
  #11 (permalink)  
Antiguo 10/02/2008, 09:46
 
Fecha de Ingreso: febrero-2008
Mensajes: 6
Antigüedad: 16 años, 3 meses
Puntos: 0
Re: Ayuda para buscar registros

pues para almacenar segun yo (pero estoy incorrectamente en sintaxis) es

adoclien.updaterecord

y tambien intente con

adoclien.recordsurce.update
  #12 (permalink)  
Antiguo 10/02/2008, 11:03
Colaborador
 
Fecha de Ingreso: enero-2008
Ubicación: Unas veces aquí, otras veces allí
Mensajes: 1.482
Antigüedad: 16 años, 3 meses
Puntos: 37
Re: Ayuda para buscar registros

La sintaxis correcta para guardar los cambios en un registro es la siguiente:

adoclien.Recordset.Update
?

Última edición por Avellaneda; 10/02/2008 a las 11:18
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 16:18.