Access 2000 y OpenDatabase

23/07/2003 - 21:34 por Marco | Informe spam
Tengo un problema que seguramente debe tener una soluicon muy simple pero
que no la conozco

estoy trabajando con este codigo para abrir una base acces

Dim db As Database
Dim qdef As QueryDef
Dim rs As Recordset
Dim dbname As String
Dim i As Integer

' Open the database.
dbname = "c:\data.mdb"
Set db = OpenDatabase(dbname)

' Get the records.
Set qdef = db.CreateQueryDef("", _
"SELECT Year, Value FROM YearlyValues")
Set rs = qdef.OpenRecordset(dbOpenSnapshot)

el codigo funciona bien con access 97 pero cuando trato de abrir
una 2000 me tira un error en la linea Set db = OpenDatabase(dbname)

que me falta instalar o si alguien tiene un ejemplo de como acceder a una
tabla de acces 2000 seria bueno que me lo mandaran

desde ya muchas gracias

Preguntas similare

Leer las respuestas

#1 Wilmer Zambrano
23/07/2003 - 21:54 | Informe spam
"Marco" @com> escribió en el mensaje
news:%
Tengo un problema que seguramente debe tener una soluicon muy simple pero
que no la conozco

estoy trabajando con este codigo para abrir una base acces

Dim db As Database
Dim qdef As QueryDef
Dim rs As Recordset
Dim dbname As String
Dim i As Integer

' Open the database.
dbname = "c:\data.mdb"
Set db = OpenDatabase(dbname)

' Get the records.
Set qdef = db.CreateQueryDef("", _
"SELECT Year, Value FROM YearlyValues")
Set rs = qdef.OpenRecordset(dbOpenSnapshot)

el codigo funciona bien con access 97 pero cuando trato de abrir
una 2000 me tira un error en la linea Set db = OpenDatabase(dbname)

que me falta instalar o si alguien tiene un ejemplo de como acceder a una
tabla de acces 2000 seria bueno que me lo mandaran

desde ya muchas gracias




Por lo q veo utilizas DAO y trabajabas en Acces 97 y te cambiaste a Acces
2000 utiliza en la declaracion:
Dim db As DAO.Database
a ver

Wilmer.
Respuesta Responder a este mensaje
#2 Victor Koch
23/07/2003 - 22:18 | Informe spam
Seria bueno que pongas el error que te tira, pero no importa, seguramente te
dice "no se reconoce el formato" o algo asi, tenes que usar como referencia
el DAO 3.6 y no el DAO 3.5 o menor.

Un saludo, Víctor Koch.


"Marco" @com> escribió en el mensaje
news:#
Tengo un problema que seguramente debe tener una soluicon muy simple pero
que no la conozco

estoy trabajando con este codigo para abrir una base acces

Dim db As Database
Dim qdef As QueryDef
Dim rs As Recordset
Dim dbname As String
Dim i As Integer

' Open the database.
dbname = "c:\data.mdb"
Set db = OpenDatabase(dbname)

' Get the records.
Set qdef = db.CreateQueryDef("", _
"SELECT Year, Value FROM YearlyValues")
Set rs = qdef.OpenRecordset(dbOpenSnapshot)

el codigo funciona bien con access 97 pero cuando trato de abrir
una 2000 me tira un error en la linea Set db = OpenDatabase(dbname)

que me falta instalar o si alguien tiene un ejemplo de como acceder a una
tabla de acces 2000 seria bueno que me lo mandaran

desde ya muchas gracias





Respuesta Responder a este mensaje
#3 Softjaen
24/07/2003 - 01:09 | Informe spam
"Marco" escribió:

el codigo funciona bien con access 97 pero cuando trato de abrir
una 2000 me tira un error en la linea Set db = OpenDatabase(dbname)




Hola, Marco:

Si el error que te aparece es el número 3343 (No se reconoce el formato de
base de datos), en lugar de hacer referencia en tu proyecto de VB a la
biblioteca «Microsoft DAO 3.51 Object Library», deberás de referenciar la
biblioteca «Microsoft DAO 3.6 Object Library», si tu intención es abrir una
base de datos Access 2000.

Un saludo.

Enrique Martínez
[MS MVP - VB]
Respuesta Responder a este mensaje
#4 Softjaen
24/07/2003 - 08:36 | Informe spam
"Marco" escribió:

si el error es 3343 (No se reconoce el formato de base de datos)

solucione el problema utilizando
las librerias ADODB.
es decir escribo en el menu proyecto abro la parte de referencias y elijo
Microsft Activex data object 2.1 library




Obtenías el error 3343 porque estabas utilizando en tu proyecto VB la
referencia a la biblioteca para Access 97 (DAO 3.51) en lugar de la de
Access 2000 (DAO 3.6).

Has resuelto el problema porque en lugar de utilizar la biblioteca de DAO
has usado una versión -por cierto, bastante antigua- de la biblioteca de
ADO, por lo que utilizando el proveedor de datos «Microsoft.Jet.OLEDB.4.0»
también podemos establecer una conexión con una base de datos Access 2000.

pero te queria consultar si no tengo la
"Microsoft DAO 3.6 Object Library"

de que pagina (url exacta) de microsoft la puedo bajar




En primer lugar, asegúrate que no tienes registrada en tu sistema la
referencia a la biblioteca «Microsoft DAO 3.6 Object Library». Selecciona el
menú «Proyecto» --> «Referencias...» y mira si puedes seleccionar dicha
referencia.

Para instalar los componentes de acceso a datos del motor Microsoft Jet,
tienes que descargar el archivo «Jet40SPx.exe» correspondiente al sistema
operativo que tengas instalado en tu PC. El último Service Pack disponible
es el 7, que hace poco ha salido, tal y como lo puedes comprobar en el
siguiente artículo de la Base del Conocimiento (en inglés):

ACC2002: The Updated Version of Microsoft Jet 4.0 Is Available in the
Download Center
http://support.microsoft.com/defaul...-US;282010

Si utilizas Microsoft Windows XP, para instalar la versión correcta del SP7
de Jet 4.0 tienes que descargarlo directamente de «Windows Update», donde
existe una actualización recomendada de dicho Service Pack:
http://windowsupdate.microsoft.com

Si de paso deseas actualizar la versión de la biblioteca de ADO tendrás que
instalar el archivo redistribuible «mdac_typ.exe». Desde la siguiente
dirección podrás descargar dicho archivo, donde podrás seleccionar el idioma
y la versión que prefieres instalar, dependiendo de tu sistema operativo:

Microsoft Data Access Components (MDAC) 2.7 Service Pack 1 Refresh
http://www.microsoft.com/downloads/...layLang=en

Un saludo.

Enrique Martínez
[MS MVP - VB]
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida