Foro de elhacker.net

Programación => Programación Visual Basic => Mensaje iniciado por: TheGhost(Z) en 15 Noviembre 2005, 11:44 am



Título: ¿Consulta a un Base de Datos de accces?
Publicado por: TheGhost(Z) en 15 Noviembre 2005, 11:44 am
Hola a todos nuevamente.

Verais mi objetivo es abrir una tabla y ubicarme en una registro determinado.

Es decir ubicarme en la fila que dicho dato sea igual a mi variable. Mi problema es como funciona consultar aparir de una varibale. Porque no me sale con variable. Pero ingresando el dato directamente no tengo ningun problema.

Ejemplos de lo que hice:

#### Esta No funciona, porque es con variable  (ID)####

Dim ID As String * 6
ID= ListView1.SelectedItem.ListSubItems(1)       ' ListView1.SelectedItem.ListSubItems(1)= PEJE05


Cn.Open ("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + App.Path + "\bdraicesDATA.mdb")
Rs.Open "select *  from Remitentes WHERE CodRem = ID order by CodRem", Cn, adOpenDynamic, adLockOptimistic

##### Pero esta si funciona porque no uso ninguna variable, sino ingreso el dato directamente #####

Cn.Open ("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + App.Path + "\bdraicesDATA.mdb")
Rs.Open "select *  from Remitentes WHERE CodRem = 'PEJE05' order by CodRem", Cn, adOpenDynamic, adLockOptimistic



Título: Re: ¿Consulta a un Base de Datos de accces?
Publicado por: Bourne Ultimatum en 15 Noviembre 2005, 14:54 pm
Código:
Private Sub Buscar(Optional ByVal Siguiente As Boolean = False)
    Dim nReg As Long
    Dim vBookmark As Variant
    Dim sADOBuscar As String
    nReg = Val(Text2)
    On Error Resume Next
        If Option7.Value Then
        sADOBuscar = "AMBVA Like '" & Text2.Text & t6.Text & "'"
    End If
    If Option1.Value Then
            sADOBuscar = "ja Like '" & Text2.Text & "'"
    End If
            vBookmark = Adodc1.Recordset.Bookmark
    If Siguiente = False Then
        Adodc1.Recordset.MoveFirst
        Adodc1.Recordset.Find sADOBuscar
    Else
        Adodc1.Recordset.Find sADOBuscar, 1
    End If
    If Err.Number Or Adodc1.Recordset.BOF Or Adodc1.Recordset.EOF Then
        Err.Clear
        Adodc1.Recordset.Bookmark = vBookmark
    End If
    End Sub


Título: Re: ¿Consulta a un Base de Datos de accces?
Publicado por: Xpeed en 15 Noviembre 2005, 17:45 pm
a ver... de base de datos aún no sé... pero creo que el problema de quer no te sale con la variable es porque la estás pasando en texto plano...

Código:
Rs.Open "select *  from Remitentes WHERE CodRem = ID order by CodRem", Cn, adOpenDynamic, adLockOptimistic

intenta pasarla como lo que es como una variable sin estár dentro de comillas de la siguiente manera

Código:

Dim ID As String * 6
ID= ListView1.SelectedItem.ListSubItems(1)       ' ListView1.SelectedItem.ListSubItems(1)= PEJE05


Cn.Open ("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\bdraicesDATA.mdb")
Rs.Open "select *  from Remitentes WHERE CodRem = " & ID & "order by CodRem", Cn, adOpenDynamic, adLockOptimistic



otra cosa para concatenar cadenas de caracteres no uses "+" usa el apersand "&"


un saludo.


Título: Re: ¿Consulta a un Base de Datos de accces?
Publicado por: TheGhost(Z) en 15 Noviembre 2005, 19:33 pm
Gracias Xpeed. Pues ahi estaba mi error. Que par hacer una consulta con la clausula Where y que los datos los tome de una variable, como por ejemplo:

Dim Xnombre As String
Xnombre="TheGhost(Z)"

Seria:

Where  Nombre=' " & Xnombre & " ' Order by Nombre

esa es la correcta, cierto.


Título: Re: ¿Consulta a un Base de Datos de accces?
Publicado por: Xpeed en 16 Noviembre 2005, 16:27 pm
es una pregunta?



un saludo.


Título: Re: ¿Consulta a un Base de Datos de accces?
Publicado por: TheGhost(Z) en 18 Noviembre 2005, 09:47 am
No man. Gracias por el aporte.

Saludos