Como hacer una consulta a un campo SQL

Sres. T.E.

De Uds. Necesito ayuda.

Estoy realizando una Consulta a un único campo en una Tabla SQL Server .mdf, lo cual no logro hacerlo, esto con vba 6

Tengo el siguiente código:

Dim BD      As New ADODB.Connection

Dim rsRG    As New ADODB.Recordset

Dim provStr As String

Private Sub cmdAbrir_Click()

    BD.Provider = "sqloledb"

    provStr = "Server=.\SQLEXPRESS;Database=NominaG;Trusted_Connection=yes"

    BD.Open provStr

    rsRG.Open "Select * From bdMtroRutas", BD

    rsRG.FindFirst ("bdR_CódigoRuta=" & txtJoin.Text)

    '*===========================================================*'

    rsRG.Close 'cerrar el conjunto de registros Transportes

    Set rsRG = Nothing 'destruir objeto para liberar recursos

    BD.Close 'cerrar la conexion

    Set BD = Nothing 'idem anterior

End Sub

El cual al correrlo me muestra el siguiente mensaje de Error:

Error de compilación:

No se encontró el método o el dato miembro.

Esto lo hace en la Instrucción  rsRG.FindFirst ("bdR_CódigoRuta=" & txtJoin.Text)

1 respuesta

Respuesta
2

Prueba a ponerlo así:

 rsRG.FindFirst "bdR_CódigoRuta=" & txtJoin.Text

y si el valor que le pasas (el de txtJoin) es de tipo texto, debería ser así:

 rsRG.FindFirst "bdR_CódigoRuta='" & txtJoin.Text & "'"

Le coloque las instrucciones que me mencionas en tu Mensaje, el cual continúa:

Error de compilación:

No se encontró el método o el dato miembro.”

Pero puede observar que al abrir la conexión con:

“Dim Conexion     As DAO.Connection”

Al colocar rsRG. “rsRG mas el punto” me despliega la lista de opciones mostrando la opción FindFirst , en cambio al abrirla con: Dim rsRG    As New ADODB.Recordset  no la muestra.

Aparentemente funciona con DAO y no con ADODB, de ser así ¿Qué hacer para obtener el registro deseado?.

Nota: La tabla .mdf fue creado con SQL Server 2005  y el código  con vba 6.

Yo no soy mucho de ADO (prefiero DAO), y he de reconocer que no me fijé en tu código entero, sino solo en la línea que da problemas.

Efectivamente FindFirst no existe en ADODB, pero sí tienes .Find, y también .Filter, con los que puedes conseguir lo mismo.

También podrías abrir ya el recordset filtrado, en vez de :

RsRG. Open "Select * From bdMtroRutas"

Poner:

 rsRG.Open "Select * From bdMtroRutas WHERE bdR_CódigoRuta=" & txtJoin.Text

O con comillas si fuera de texto, como te indicaba antes.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas