• Jueves 18 de Abril de 2024, 22:07

Autor Tema:  Buscar Registro  (Leído 2115 veces)

arrebiato

  • Miembro activo
  • **
  • Mensajes: 34
    • Ver Perfil
Buscar Registro
« en: Martes 19 de Octubre de 2004, 15:14 »
0
:angry: Esto me tiene molesto....quiero que me ayudeis con una rutina para bucar un regisrto en una tabla de datos ...ya anteriormente los exprese en una discucion anterior  ayudadme por favor...... :blink:

fap1603

  • Miembro MUY activo
  • ***
  • Mensajes: 135
    • Ver Perfil
Re: Buscar Registro
« Respuesta #1 en: Jueves 21 de Octubre de 2004, 17:16 »
0
Hola, espero te sirva,

yo uso access, y hago lo siguiente:

data1.update ' actualiza la tabla que voy a usar
with data1.recordset
  on error resume next
  data1.recordset.movefirts
end with
while data1.recordset.eof = false
  if data1.recordset!mi_dato = mi_busqueda then
       acciones
       data1.recordset.movelast
  end if
  data1.recordset.movenext
wend

te explico, !mi_dato; utilizas el signo de admiracion para llamar el nombre del campo de tu base de datos, mi_busqueda es el dato que buscas, ya sea por codigo, o por variable. luego de las acciones, mueves al ultimo registro, asi no sigue buscando y el resultado es mas rapido, salvo que desees una busqueda comparativa o lo que buscas se pueda repetir en varios registros. Despues del if, esta movenext es importante si no no avanza de registro. Por ultimo, dentro del with, el on error resume next, lo pongo por que si data1 ya esta en el registro 1 te va a dar error, solo por eso, pero es una forma de asegurarte por si no esta y te evitas lineas.

suerte,

Fco.
Saludos,

Francisco Ayala Pinazo
Lima - Perú

Sagutxo

  • Miembro MUY activo
  • ***
  • Mensajes: 320
    • Ver Perfil
Re: Buscar Registro
« Respuesta #2 en: Jueves 21 de Octubre de 2004, 18:37 »
0
Salu2.
No te explicas muy bien que digamos pero si lo que quieres es buscar un reg en un tabla te recomiendo que el RecordSource sea un SELECT:

VarString="SELECT * From Tabla WHERE CampoTabla=VALOR que buscas
-----------------------------
VarString="SELECT * From Tabla WHERE CampoTabla=" & VarBusqueda

Espero que te sirva.
Mi mujer tiene un físico bárbaro!!!. Einstein.

arrebiato

  • Miembro activo
  • **
  • Mensajes: 34
    • Ver Perfil
Re: Buscar Registro
« Respuesta #3 en: Viernes 22 de Octubre de 2004, 16:59 »
0
:D muchas gracias a ambos los dos ejemplos me han ,dado la oportunidad de tener mas alternativas con respecto a este tema ....vale  ;)

LUKER

  • Miembro activo
  • **
  • Mensajes: 38
    • Ver Perfil
Re: Buscar Registro
« Respuesta #4 en: Viernes 22 de Octubre de 2004, 17:41 »
0
:kicking:
Amigo ya se que te ayudaron pero este framento de codigo te puede
ayudar un poco.
En esta pequea funcion se abre la base de datos con acces
Sub Abrirb(NOM As String)
   Dim lugar As String
   lugar = "C:\INVENTARIO.mdb"
   Set dbprueba = OpenDatabase(lugar)
   Set datos = dbprueba.OpenRecordset(NOM, dbOpenDynaset)
   datos.MoveLast
End Sub

una vez abierta podes buscar tu dato de una
manera secuencial, en este caso estoy buscando
una dato llamado bodega una vez encontrado llamo una funcion en la
cual me muestra todos los datos encontrados
ej : text1.text = datos!NombreBodega
Dim encontro As Integer
Dim aux As String
encontro = 1
datos.MoveFirst
aux = UCase(InputBox$("Buscar codigo:", "Buscando proveedor"))
Do
  If (datos!COD_BODEGA = aux) Then
     Call muestraBodega
     COD = 0
     TXT = 0
     TLF = 0
     DRC = 0
     encontro = 1
  Else
       encontro = 0
  End If
  datos.MoveNext
Loop Until ((datos.EOF) Or (encontro = 1))
If encontro = 0 Then
    MsgBox "No se encontro el dato", vbExclamation, "Resultado"
End If

Espero que te ayude un  poco
Los limites estan en los ojos del hombre, los triunfos en sus mentes, de el es la decision de ser un ciego con fe o un vidente sin futuro