elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Como proteger una cartera - billetera de Bitcoin


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP)
| | | |-+  Programación Visual Basic (Moderadores: LeandroA, seba123neo)
| | | | |-+  Error en consulta a base de datos
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Error en consulta a base de datos  (Leído 2,682 veces)
Gorky


Desconectado Desconectado

Mensajes: 770



Ver Perfil WWW
Error en consulta a base de datos
« en: 31 Enero 2008, 08:51 am »

Buenas foreros. Tengo el siguiente codigo:
Código
  1. Dim BDD As Database 'Objeto para manejar la base de datos
  2. Dim TBL As Recordset 'Objeto para manejar la Tabla
  3. Set BDD = OpenDatabase("Pladur.mdb") 'Abre la base de datos
  4. Dim SQL As String
  5. SQL = "SELECT * FROM muros"
  6. Set TBL = BDD.OpenRecordset(SQL)   'TBL almacena todos los valores de la tabla
  7. TBL.MoveFirst  'nos posicionamos en el primer registro de la tabla
  8. Do Until TBL.EOF  ''La propiedad EOF se pone TRUE cuando se a llegado al final de la tabla
  9.   List1.AddItem TBL("material")
  10.   TBL.MoveNext   'pasamos al siguiente registro
  11. Loop

Me da un error de que no coinciden los tipos en la linea:
Código
  1. Set TBL = BDD.OpenRecordset(SQL)   'TBL almacena todos los valores de la tabla
Si no me equivoco la sonsulta la hace bien ya que si en la sentencia SQL intento buscar en una tabla que no existe me dice que esa tabla no se puede encontrar.
Creo que el fallo esta al hacer la asignacion pero no se como solucionarlo.
Por ultimo decir que la base de datos es de access 2000.
Gracias por todo.


En línea

Chefito

Desconectado Desconectado

Mensajes: 122



Ver Perfil WWW
Re: Error en consulta a base de datos
« Respuesta #1 en: 31 Enero 2008, 17:33 pm »

Te pongo lo que pone el msdn:

Para los objetos Connection y Database:

Set variable = objeto.OpenRecordset (origen, tipo, opciones, bloquearmodificaciones)



Valores

Puede utilizar una de las siguientes constantes para el argumento tipo.

Constante Descripción
dbOpenTable Abre un objeto Recordset de tipo Table (sólo espacios de trabajo Microsoft Jet).
DbOpenDynamic Abre un objeto Recordset de tipo Dynamic, que es parecido a un cursor dinámico ODBC (sólo espacios de trabajo ODBCDirect)
dbOpenDynaset Abre un objeto Recordset de tipo Dynaset, que es parecido a un cursor de conjunto de claves ODBC.
dbOpenSnapshot Abre un objeto Recordset de tipo Snapshot, que es parecido a un cursor estático ODBC.
dbOpenForwardOnly  Abre un objeto Recordset de tipo Forward-only. 


Nota Si abre un objeto Recordset en un espacio de trabajo Microsoft Jet y no especifica un tipo, el método OpenRecordset crea una objeto Recordset de tipo Table, si es posible. Si especifica una tabla vinculada o una consulta, el método OpenRecordset crea un objeto Recordset.de tipo Dynaset. En un espacio de trabajo ODBCDirect, el valor predeterminado es dbOpenForwardOnly.

Se supone que te crea un objeto recordset de tipo table.....si es posible claro. Prueba con:
Código:
Set TBL = BDD.OpenRecordset(SQL, dbOpenTable)
y a partir de aquí, si no te funciona, prueba con todos.
Suerte.


En línea

Moderador del foro oficial de AutoIt en español: www.AutoIt.es.

Todos tenemos inteligencia, lo malo es que algunos no nos acordamos donde la dejamos guardada ;)
Pendex

Desconectado Desconectado

Mensajes: 10



Ver Perfil WWW
Re: Error en consulta a base de datos
« Respuesta #2 en: 8 Febrero 2008, 21:27 pm »

Poniendo :
----------------------------------------
Dim BDD As Database
TablaSet BDD = OpenDatabase("Pladur.mdb")
Dim SQL As String
SQL = "SELECT * FROM muros"
Set TBL = BDD.OpenRecordset(SQL)
TBL.MoveFirst
Do Until TBL.EOF
List1.AddItem TBL("material")   
TBL.MoveNext   
Loop
---------------------------------------
...tiene que andar...fijate si estas referenciando el Proyecto a ADO 3.51...
o quiza tenes que referenciarlo a SQL Parser...una vez me paso eso e hice esto y listo...
Slds.-
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines