Problemas de consultas a BD en Visual 6.0
Publicado por Carlos Cabello (1 intervención) el 18/09/2006 17:02:22
Saludos a todos:
Tengo un problema realizando una consulta a una base de datos en Visual Basic 6.0 Este es el codigo:
Dim i As Integer
Private Sub Combo6_Click()
Dim Nombre, SQL As String
Dim i, j As Integer
Dim rsCargar As New ADODB.Recordset
Nombre = Combo6.Text
If Nombre = Null Then
Exit Sub
Else
SQL = "SELECT '" & Nombre & "' FROM TablaWits"
Set rsCargar = CrearTabla(SQL) ********
rsCargar.MoveFirst
Do
List1.AddItem rsCargar.Fields(Nombre).Value ¡¡¡linea donde ocurre el error!!!
rsCargar.MoveNext
Loop While rsCargar.Fields(Nombre) = ""
End If
End Sub
-----------------------------------------------------------------------------------------------------------------------------
*******= Este metodo es usado para abrir el recorset y crear la tabla que contiene los registros buscados. El codigo es el siguiente
Public Function CrearTabla(strTabla As String) As ADODB.Recordset
Dim rstemp As New ADODB.Recordset
Set rstemp.ActiveConnection = cnx
rstemp.CursorLocation = adUseClient
rstemp.CursorType = adOpenDynamic
rstemp.LockType = adLockOptimistic
rstemp.Source = strTabla
rstemp.Open
Set CrearTabla = rstemp
Set rstemp = Nothing
End Function
-----------------------------------------------------------------------------------------------------------------------------
El objeto combo6 es un combo box que contierne los nombres de todos los campos de la base de datos. El objetivo es cargar todos los registros de un solo campo, que será el campo que haya elegido el usuario en el combo box. Algo que tomar en cuenta de la BD es que los campos no estan uniformemente poblados, es decir, algunos registros tienen campos vacíos donde otros no, afortunadamente no intercalados sino al final. Ej:
campo1 campo2 campo3
_______________________________________
reg1 reg1 reg1
---------------------------------------------------------------------
reg2 reg2
---------------------------------------------------------------------
reg3
EL problema principal es que al llegar a la linea donde ocurre el problema me parece el siguiente error:
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Error 3265 en tiempo de ejecución
No se encontró en elemento en la colección
que corresponde con el nombre o el ordinal pedido
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Espero haber proporcionado la información necesaria para la solución del problema.
Agradezco su pronta respuesta en este foro o a mi correo. Muchas Gracias
Tengo un problema realizando una consulta a una base de datos en Visual Basic 6.0 Este es el codigo:
Dim i As Integer
Private Sub Combo6_Click()
Dim Nombre, SQL As String
Dim i, j As Integer
Dim rsCargar As New ADODB.Recordset
Nombre = Combo6.Text
If Nombre = Null Then
Exit Sub
Else
SQL = "SELECT '" & Nombre & "' FROM TablaWits"
Set rsCargar = CrearTabla(SQL) ********
rsCargar.MoveFirst
Do
List1.AddItem rsCargar.Fields(Nombre).Value ¡¡¡linea donde ocurre el error!!!
rsCargar.MoveNext
Loop While rsCargar.Fields(Nombre) = ""
End If
End Sub
-----------------------------------------------------------------------------------------------------------------------------
*******= Este metodo es usado para abrir el recorset y crear la tabla que contiene los registros buscados. El codigo es el siguiente
Public Function CrearTabla(strTabla As String) As ADODB.Recordset
Dim rstemp As New ADODB.Recordset
Set rstemp.ActiveConnection = cnx
rstemp.CursorLocation = adUseClient
rstemp.CursorType = adOpenDynamic
rstemp.LockType = adLockOptimistic
rstemp.Source = strTabla
rstemp.Open
Set CrearTabla = rstemp
Set rstemp = Nothing
End Function
-----------------------------------------------------------------------------------------------------------------------------
El objeto combo6 es un combo box que contierne los nombres de todos los campos de la base de datos. El objetivo es cargar todos los registros de un solo campo, que será el campo que haya elegido el usuario en el combo box. Algo que tomar en cuenta de la BD es que los campos no estan uniformemente poblados, es decir, algunos registros tienen campos vacíos donde otros no, afortunadamente no intercalados sino al final. Ej:
campo1 campo2 campo3
_______________________________________
reg1 reg1 reg1
---------------------------------------------------------------------
reg2 reg2
---------------------------------------------------------------------
reg3
EL problema principal es que al llegar a la linea donde ocurre el problema me parece el siguiente error:
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Error 3265 en tiempo de ejecución
No se encontró en elemento en la colección
que corresponde con el nombre o el ordinal pedido
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Espero haber proporcionado la información necesaria para la solución del problema.
Agradezco su pronta respuesta en este foro o a mi correo. Muchas Gracias
Valora esta pregunta


0