border

Miembros:
Mensajes:
Temas:
Online:

Ultimo Miembro:

 
 

  #1 (permalink)  
Antiguo 15-08-2007, 17:25:09
Avatar de leosantafesino
Buena Participación en el Foro
 
Registrado: abr 2007
Ubicación: Santa Fe Capital
Posts: 44
leosantafesino Valoración +2
Predeterminado Buscar datos en un BDD

Hola de nuevo, esta consulta no se si la habran hecho pero quiero creer e imaginarme que si porque es algo relativamente conocido. Como se hace para realizar busquedas dentro de una BDD (de access) con instrucciones SQL. Osea la forma de buscar o por codigo, o por DNI o por nombre... ¿se entiende, no?
Responder Con Cita
  #2 (permalink)  
Antiguo 15-08-2007, 18:46:41
Moderador
 
Registrado: dic 2002
Ubicación: Madrid
Posts: 4.184
acalanto ha deshabilitado la reputación
Predeterminado

Depende en gran medida del medio por el que te conectes a la base de datos Access. Si deseas utilizar SQL tendrás que realizar una conexión mediante un objeto ODBC. Para ello tienes que crear referencias a este objeto en el proyecto con Microsoft OLE DB ActiveX Data Objects 1.0 Library e instanciarla en tu aplicación. Te recomiendo realizarla en un módulo de declaraciones y la instancias como pública; de esta manera realizas la conexión al iniciar la aplicación y la destrutes al terminar (No olvides ésto último).

Código:
'Declaramos el objeto de conexión a la base de datos (En un módulo público)
Public hostCNN                      As New ADODB.Connection

En el primer formulario o en un método main() realizas la conexión con Access con una de las siguientes cadenas

Código:
hostCNN.Open "DSN=MS Access Database;DBQ=<nombre de la base de datos>;DefaultDir=<Carpeta por defecto>;DriverId=281;FIL=MS Access;MaxBufferSize=2048;PageTimeout=5;UID=admin;"
Código:
hostCNN.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=<nombre de la base de datos>"

Ahora para consultar una tabla tienes que instanciar un objeto de la clase recordset y escribir la consulta.


Código:
dim rst as new ADODB.Recordset
rst.open "SELECT campo1, campo2, campo3, ..... , campon FROM <nombre tabla>"
do until rst.eof
    mivar_01 = rst.fields("campo1")
    mivar_02 = rst.fields("campo2")
    'Leemos el siguiente registro (hasta el final)
    rest.MoveNext 
loop

Tu pregunta no es concreta, resulta muy extenso explicar en un post todas las particularidades de SQL (Tiene mucha posibilidades) y para ello te recomiendo que accedas a los tutoriales de www.vb-mundo.com en los que encontrarás abundante información y tutoriales sobre acceso a bases de datos.

Cuando ya te lo hayas estudiado y estés familiarizado con el tema, estaremos encantados de proporcionarte la ayuda necesaria para resolver problemas puntuales que se te presenten.


Espero que este extenso rollo te resulte de gran utilidad.
__________________
Un cordial saludo
-Acalanto-

Madrid - España

Visual Basic
Videos Programacion
Foro Programacion
Tutoriales Programacion
Responder Con Cita
  #3 (permalink)  
Antiguo 15-08-2007, 18:56:14
Avatar de leosantafesino
Buena Participación en el Foro
 
Registrado: abr 2007
Ubicación: Santa Fe Capital
Posts: 44
leosantafesino Valoración +2
Predeterminado mmm

mmm creo que la pregunta es sencilla...

Como hacer para buscar datos en una BDD de access con una instruccion SQL.

Lei tutoriales y no me quedo claro y hace tiempo que vengo con VB pero en esto me trabe un poco... nada mas.
Responder Con Cita
  #4 (permalink)  
Antiguo 15-08-2007, 19:49:56
Avatar de J.M.Movilla
Administrator
 
Registrado: dic 2002
Ubicación: BURGOS - ESPAÑA
Posts: 5.169
J.M.Movilla Valoración +2
Predeterminado

Vamos a ver si es esto lo que soluciona tu problema:

Imagino que tienes hecha una conexión con ADO, tal que
Código:
Dim MiBase As New Connection
Dim MiReg As New Recordset

Private Sub Form_Load()
    Dim SQL As String

    MiBase.CursorLocation = adUseClient
    MiBase.Open "Provider=Microsoft.Jet.OLEDB.4.0; " & "Data Source=Ruta_Nombre_Base.mdb;Persist Security Info=False"

    SQL = "Select Codigo, DNI, Nombre... FROM Tu_Tabla [Where Criterio] [ORDER by CampoN]"
    MiReg.Open SQL, MiBase, adOpenStatic, adLockOptimistic
End Sub
Bien. Ahora suponemos que el campo codigo es numérico y el resto son de carácter.
Código:
Private Sub Buscar()
    MiReg.MoveFirst
    ' Para buscar el Codigo pondrías
    MiReg.Find("Codigo = " & Text1.Text)
    ' Y para los campos de tipo char
    MiReg.Find("DNI like '" & Text2.Text & "'")
    ' o bien
    MiReg.Find("Nombre like '" & Text3.Text & "'")
    If MiReg.EOF Then
        MsgBox("No se ha encontrado el dato que se busca...")
        Exit Sub
    End If
    '  Ya tienes localizado el dato...
End Sub
POR SUPUESTO, usarás SÓLO la línea del campo por el que vayas a buscar, NO LOS TRES CAMPOS...
__________________
José María Movilla Cuadrado
______________________

Visual Basic Videos Programacion Foro Programacion
Tutoriales Programacion Trucos Programacion Codigos Programacion
Responder Con Cita
Respuesta


Herramientas
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Trackbacks are habilitado
Pingbacks are habilitado
Refbacks are habilitado


Temas Similares
Tema Autor Foro Respuestas Último Mensaje
Buscar datos salem Visual Basic 6.00 6 05-08-2005 14:58:18
Buscar en bases de datos mabopasa Visual Basic 6.00 4 22-03-2005 08:30:40
Buscar en base de datos DARK33 Visual Basic 6.00 10 03-03-1970 18:13:54
Buscar en base de datos Neo560 Visual Basic 6.00 4 03-03-1970 00:05:39
Buscar en base de datos. LaNGuiS Visual Basic 6.00 1 28-02-1970 08:13:38


La franja horaria es GMT. Ahora son las 19:41:14.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO 3.1.0
A vBSkinworks Design

Alojado en el servicio Premium de Masquewebs | Diseño mejorado por MasqueWebs

right