Conexi贸n de BBDD Access 2000 en Visual Basic 6.0

Agueda
12 de Mayo del 2008
Hola a todos,

Tengo un problema y es que acabo de empezar con Visual Basic y Acces 2000 y necesito conectar mi aplicacion de Visual Basic con dicha base de datos, pero cada vez que pongo un data en mi aplicaci贸n y en DataBaseName escribo el nombre de la base de datos y luego en RecordSource intento buscar una tabla de mi BBDD me da un error que pone "No se reconoce el formato de la base de datos", ¿por qu茅 puede ser?.

La base de datos no est谩 conectada, para conectarla con la aplicaci贸n simplemente pongo un data, ¿hay alguna otra forma?.

Muchas gracias por todo, y espero por favor que me contesteis porque me urge.

Carlos Alberto
12 de Mayo del 2008
Amigo los controles data antiguos solo funcionan con office 97

manuel
12 de Mayo del 2008
amigo no se que fecha sea en que solicitaste la respuesta, pero por ahora estoy en lo mismo yo he logrado conectar la aplicacion a la base de datos acces, pero no puedo recuperar en un listbox la informacion de la base dedatos, cualquier cosa ayudame si te es posible.

jose
12 de Mayo del 2008
tienes que trasformar la base de datos de acces a una vercion anterior para que puedas conectarla
tienes que ir a erramientas en acces2000. luego tienes para abir la base de datos nueva tienes que abrir en modo exclusivo

C lo mas
12 de Mayo del 2008
eso pasa por trabajar con esa mentira tan grande que es visual que asco de lenguaje, cambiensen a otro como la gente y se olvidan de las boludeces de librerias que version que aquello guakala lo odio a visual basic

oscar eduardo sanchez castillo
12 de Mayo del 2008
lo que tiene que hacer es cambiar el formato de la base de datos de 2000 a 1997 se hace de la siguiente manera
herramientas/utilidades de la base de datos/convertir base de datos/ a formato de archivos de 1997

fernando_diaz25
12 de Mayo del 2008
Hola soy de mexico yo tambien tengo el problema que comentas ya tiene algo de tiempo que no uso visual studio pero ahora voy a empezar un nuevo proyecto voy a intentar utilizar access 2000 voy hacer los metodos que te dieron en tus respuestas y te aviso si funciona de la misma manera espero que tu me digas si te funcionaron vi dos opciones una por medio de menus y otra por medio de programacion aunque ahi tuve una duda con un comando que se encuntra antes del endsub. pero en fin te mando saludos y estamos en contacto. gracias

Rafa
12 de Mayo del 2008
Hay varias formas de conexi贸n a una BD. mediante codigo fuente puro (es mas dificil), mediante un Data Control (ADO) o bien mediante un DataEnvironment. Lo que tienes que hacer y posiblemente te pase esto: Tu tienes la versi贸n 2000 de Office o la XP o 2003 seguramente y tengas la versi贸n 6 de Visual Basic. Si lo haces por alguno de los metodos anteriores, te dar谩 error. Te indico como hacerlo:

1. A帽ade el componente Microsoft ADO Data Control 6.0.
2. agrega el cotnrol al formulario y con el boton derecho clic y en propiedades le das a GENERAR para buscar la base de datos con la que quieras conectar. Selecciona MICROSOFT JET PROVIDER 4.0 Library porque si elijes la 3.51 no te reconoce las versiones de 2000 en adelante de Access. Una vez conectada con la base de datos, dale a PROBAR CONEXI脫N y te tiene que decir que ha sido satisfactoria. ACEPTA
3. Dale ahora a la pesta帽a que pone algo asi como ACCESO A DATOS y seleccionas TABLA y el nombre de la tabla y ACEPTA.
4. Por ultimo a cada control textbox, etc... asigna primero en DATARESOURCE (datos fuente) el nombre del control ADO y en DATAFIELD(dato del campo) elijes el campo o tupla con el que quieres enlazar un control determinado.

Creo que no se me olvida nada, no obstante, si tienes dudas o no te va si quieres me envias un email a [email protected] y te lo detallo mejor. Un saludo.

Ironfx
12 de Mayo del 2008
Yo tenia el mismo problema y no quise convertir la bd lo que hice fue bajar el service pack 8 que contiene el jet 4 de la pagina de microsoft, lo instale. y despues lo que hice fue insertar un datacontrol y en la propiedad "Connect" elegir Access 2000 y listo es todo lo que necsitas para acceder a tu bd sin convertir a version anterior

grey
12 de Mayo del 2008
Agueda yo tenia el mismo problema todas mis bd estaban echas en access97 y no podia enlazar porque instale office2000 y lo solucione haciendo las bd en access2000 y luego en herramientas/utilidades de bases de datos/combertir bases de datos/a una version anterior y no me complico la vida
si quieres mas explicaciones me mandas un correo


salu2

Miss kiss
12 de Mayo del 2008
Debes convertir la base de datos antes.
1.- Cierra tu tabla (No te salgas de access)

2.-Vete a Herramientas, utilidades de bsase de datos, convertir: ya sea a Access 97, 2000, o 2002.

3.- te pregunta que cual es la tabla a convertir , la seleccionas y le das un nuevo nombre

4.- haces los pasos q ya habias mencionado antes y ya te enlaza

Edgar
12 de Mayo del 2008
tienes que abrir u modulo. Luego ecribes lo siguiente en el general de claracion del modulo

Public CN As New ADODB.Connection
___________________________________
Public Function conectar()

On Error GoTo showerror
CN.Open "Provider = Microsoft.Jet.OLEDB.4.0; Data Source=" + App.Path + "nombre de base de datos.mdb"
conectar = True
Exit Function
showerror:
conectar = False

End Function

Arturo
12 de Mayo del 2008
Mira lo que necesitas es bajarte de internet el parche vs6sp5, en la p谩gina de Microfot lo encuentras tarda aproximadamente una hora en bajarse, eso depende de la rapidez de tu internet, y con eso solucionas problema, vas a poder conectar tu base de datos

luis abarca
12 de Mayo del 2008
si cambia el tipo de coneccion, o estas utilizando data, utiliza el adocd, que es mas eficiente, lo unico es que este componente no permite el uso de el Seek.
cambia la coneccion y verifica la ubicacion de la base de datos
bendiciones
desde costa rica

krizall
12 de Mayo del 2008
hola, lei en una nota que si se puede conectar access 2000 con el data, esta en www.elguille.info/indice.asp

el link exacto no lo tengo
suerte

Bob
12 de Mayo del 2008
Hola
al problema de" No se reconoce el formato de la base de datos"

Yo lo unico que hago es que a la hora de guardar mi base de datos en Acces 200o utilizo Tools-Database utilites y despues convert database to prior database version y con eso me funciona.

Otra cosa alguien me podria decir que tipo de objeto me podria ayudar a accesar a una base da datos en internet (de tipo acces) y como mostrarla, porque apenas comienso en VB y no entiendo muy bien lo del Mysql.

PS en otra pagina me recomendaron usar el Microsoft ActiveX Data Object 2.x y coenctar a http://www.connectionstrings.com


Respuestas??? Gracias por adelantado

chritian
12 de Mayo del 2008
mira no se mucho de visual basic pero si se que bisual basic no reconoce todos los tipos de archivos aunque sean de acces se que primero lo tienes que con vertir en archivo de acces 97 esa opcion esta en acces creo que esta en la de herramientas lo conbiertes y despues bisual basic lo econoce fasilmente.
rudo

raquel
12 de Mayo del 2008
a mi me paso lo mismo una vez. Para conectarte a access 2000 puedes utilizar tanto ado como el componente data. A mi me daba problemas por tratarse de access 2000 (con 97 s铆 me funcionaba, prueva tu c贸digo con access 97 y seguramente te funcionar谩), debes bajarte de internet (de la web de microsoft) el service pack 5.
Entonces, por ej. con el data, pones:
data.DatabaseName = App.Path & "\ejemplo.mdb"
data.RecordSource = "tablax"
y pon en su propiedad connect access 2000.
Para verificar si funciona agrega al formulario un dbgrid y ponle en su propiedad datasource el nombre del control data. Si funciona, al ejecutarlo se deber铆a mostrar la tabla seleccionada en el dbgrid.
Con ado se har铆a diferente, utilizando otras variables (en realidad, a煤n estoy investigando...), pero si prefieres utilizar esta librer铆a ya te pasar茅 lo que tenga.

clau
12 de Mayo del 2008
primero da ctrl +t y escoje microsoft data despues da sig y asi sucesivamente, despues abre la ventana de propiedades en tu form y da true a la conexion..... espero que sepas como

Reyter
12 de Mayo del 2008
Por favor si te responde algun amigo, te suplico acuerdate de mi (enviame la rta)

carlos
12 de Mayo del 2008
Lo que pasa es que debes utilizar adodb 2.7 para poder conectar con access 2000

jORGE
12 de Mayo del 2008
Oye, si trabajas con visual basic 6.0 y Acces 2000 debes tener el Service Pack 6.0 para que visual reconosca el formato de la base de datos.
El Service Pack 6 pesa 27 Mb y te lo podes bajar de internet!

juan sanchez
12 de Mayo del 2008
pasos para la conexion de BBDD ACCESS 2000 a Visual Basic

Jose Pe?ieta
12 de Mayo del 2008
Gracias , yo tb tenia el mismo problema, las dos soluciones (la del service pack, y la de las herramientas de acces) me funcionaron perfectamente pero creo que la mejor solucion es la del service pakc porque al convertir una base de datos de acces2000 a acces97 se pierden algunas opciones exclusivas del acces2000 pero si no las usas es mejor ir a herramientas ya que el service pack es muy pesado

alex
12 de Mayo del 2008
puedes conectar una base de datos con la herramienta adodc la cual funciona mejor que un data

Tomas
12 de Mayo del 2008
La Base de datos que esta en formato 2000 conviertela a el formato de access 97 en el menu herramentas de access

angeles
12 de Mayo del 2008
Utiliza ADO. El control de datos asociado es Adodc, para utilizarlo debes incluir el componente "Microsoft ADO Data Control". Otra forma es al crear un proyecto nuevo en vez de seleccionar la opci贸n "EXE Est谩ndar" seleccionar "Proyecto de Datos".
Con ADO las lista y los combos para enlazar son DataCombo, Datalisr, es decir todo lo que empiece por la palabra data.
Suerte

el tony
12 de Mayo del 2008
Es por la versi贸n de Db, seguro que usas una versi贸n de conexion antigua...te doy un ejemplo
para conectarme a data base Ole 4.0 hago lo siguiente

'OJo: Habilita en referencias Microsoft Activex Data Objets 2.1 Library , y Microsoft ADO Ext. 2.1 for DDl and SEcurity

**********************************************************************
'esto en un m贸dulo bas
Public Con as ADODB.Conexion
Public Rec as ADODB.Recordset


Private Function Conexion(ByVal NomDB as String, _ ByVal SQLDB as String)
ON Error Goto ErrordeConex
'Establecemos

Public Con= New ADODB.Conexion
Public Rec = New ADODB.Recordset
With con
.open "Provider=Microsoft.Jet.OleDB.4.0; Data _
source=" & trim(NomDB)
end with
' y para el recorset
With Rec
.open SQLDB,Con, 1,2
end with
ErrordeConex:
if Err.Number then
Msgobox"No se estableci贸 una conexi贸n"
exit function
end if
End Function
' ****************************************************************
'esto ecn cualquier lugar de tu un boton form
' si quieres agregar los datos en una lista llamas a al funcion

Conexion "tu data base","Tu sql"

y tu lista
Do while not Rec .EOF
Combo.Additem "" & Rec!NOmbreCampo
'obs: "" &: es para omitir espacios en blanco de tu MDB
.MoveNext
Loop

Nota: si quieres conectarte con una versi贸n de Acces anterior:


"Provider=Microsoft.Jet.OleDB.3.51; Data _
source=" & trim(NomDB)


eso es todo adios........................ tony,...olvidate de los controles activex, Utiliza las librer铆as..los vidrios

El tony
12 de Mayo del 2008
Es por la versi贸n de Db, seguro que usas una versi贸n de conexion antigua...te doy un ejemplo
para conectarme a data base Ole 4.0 hago lo siguiente


**********************************************************************
\'esto en un m贸dulo bas
Public Con as ADODB.Conexion
Public Rec as ADODB.Recordset


Private Function Conexion(ByVal NomDB as String, _ ByVal SQLDB as String)
ON Error Goto ErrordeConex
\'Establecemos

Public Con= New ADODB.Conexion
Public Rec = New ADODB.Recordset
With con
.open "Provider=Microsoft.Jet.OleDB.4.0; Data _
source=" & trim(NomDB)
end with
\' y para el recorset
With Rec
.open SQLDB,Con, 1,2
end with
ErrordeConex:
if Err.Number then
Msgobox"No se estableci贸 una conexi贸n"
exit function
end if
End Function
\' ****************************************************************
\'esto ecn cualquier lugar de tu un boton form
\' si quieres agregar los datos en una lista llamas a al funcion

Conexion "tu data base","Tu sql"

y tu lista
Do while not Rec .EOF
List.Additem "" & Rec!NOmbreCampo
\'obs: "" &: es para omitir espacios en blanco de tu MDB
.MoveNext
Loop

Nota: si quieres conectarte con una versi贸n de Acces anterior:


"Provider=Microsoft.Jet.OleDB.3.51; Data _
source=" & trim(NomDB)


eso es todo adios........................ tony