SoloCodigo
Programación General => Visual Basic 6.0 e inferiores => Mensaje iniciado por: arrebiato en Martes 19 de Octubre de 2004, 15:14
-
: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:
-
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.
-
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.
-
:D muchas gracias a ambos los dos ejemplos me han ,dado la oportunidad de tener mas alternativas con respecto a este tema ....vale ;)
-
: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