Vb6 select (campo) from (variable)

Muy bien mi problema es que intento hacer referencia a una tabla mediante una variable, ya que de eso consta básicamente la aplicación, muy bien le pego mi código y espero me puedan ayudar
Option Explicit
Dim cnn As New ADODB.Connection
Dim rs As New ADODB.Recordset
Dim cm As New ADODB.Command
Private Sub Form_Load()
Dim bd As String
bd = Label3.Caption
cnn.CursorLocation = adUseClient
cnn.Open "DSN=Esta"
'Si hay base da datos, contacta con la tabla Usuarios
   With cm
   .ActiveConnection = cnn
   .CommandText = "SELECT Liberada * FROM (Variable de referencia a la tabla (bd))"
   End With
   'Carga el recorset con los valors de la tabla
   With rs
   .CursorType = adOpenKeyset
   .LockType = adLockOptimistic
   .Open cm
   End With
Timer1.Enabled = True
End Sub
Private Sub Timer1_Timer()
    Text2.Text = rs.Fields("Horas_totales").Value
End Sub
Muy bien como podrán darse cuenta mi variable es "bd" esta vaiable puede contener el nombre "asus" o "sony" etc. Por lo tanto al momento de cargar tendrá que abrir la tabla con el nombre de la variable.

1 respuesta

Respuesta
1
Modificando algunas cosillas
'dejare de lado tu command y solo usare tu Connection y tu recordset
Dim cnn As New ADODB.Connection
Dim rs As New ADODB.Recordset
Private Sub Form_Load()
Dim bd As String
'Esto es mio
Dim CadSql as String
'Asumo que bd es el nombre de tu tabla que kieres abrir
bd = Label3.Caption
cnn.CursorLocation = adUseClient
cnn.Open "DSN=Esta"
'Si hay base da datos, contacta con la tabla Usuarios
CadSql= "SELECT Liberada * FROM '" & bd & "'"
   'Carga el recorset con los valors de la tabla
if rs.state then set rs= nothing
rs.open CadSql,cnn,adOpenKeyset,adLockOptimistic
'si hay datos en la tabla. el rs no esta vacio
if not rs.eof then
rs.movefirst
Text2.Text = rs.Fields("Horas_totales").Value
end if
End Sub
Gracias por ayudar, lo intentare en seguida, solamente me gustaría saber por que se elimino el ADODB.command gracias.
Lo pondré en marcha lo antes posibles para poder valorar la respuesta.
El command lo usabas para abrir la tabla.. y luego cargabas los resultados en el recordset.
Con el código que te cito. Haces lo mismo. Solo utilizando el recordset. por ende el command me esta sobrando.
OK entendido, en este momento ando aplicando tu código esperemos y funcione de manera correcta.
No olvides Finalizar o descartar tu pregunta!

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas