Vb5 con Access 2000

Estoy desarrollando varias aplicaciones en VB5 con acesos a bases de datos en Access97 y todo va de maravilla. Sin embargo ahora que llega el momento de ponerlos en los PC de mis clientes observo que se han instalado Office 2000 y cuando pruebo VB5 con Access 2000 parece que va bien pero cuando utilizo un dbCombo o un dbList me da el error "No se reconoce el formato de la base de datos". La pregunta es: ¿Qué referencias y componentes necesita VB5 para tratabar con Access2000?

1 Respuesta

Respuesta
1
Al trabajar con Access2000, tus clientes tienen una base de datos más avanzada que la que tu has empleado en tu aplicación, por lo tanto el motor jet emplea una versión más moderna de DAO, ADO, OLE DB, y cualquier otro origen de datos que te puedas plantear.
Por ello, te recomiendo que añadas las librerías necesarias en las referencias de VB, posiblemente te sirva con añadir DAO 3.6 y ADO 2.5.
Gracias por la contestación. Ya he añadido DAO 3.6 y ADo 2.5 a las referencias del programa (en componentes no he cambiado nada) y me sigue saliendo el fastidioso mensaje de que no reconoce el formato de la base de datos. Analizando donde se para veo que es cuando le indico el campo que ha de ir asociado a LISTFIELD y a BOUNDCOLUMN del dbCombo. Si intento definir esos campos en las propiedades del control dbCombo, al ir a poner la propiedad ROWSOURCE me dice el mismo mensaje de antes. Así que no se por donde tirar. He leído en otra respuesta de este foroque quizá tenga que instalar el sp5 copiándolo de la página de microsoft pero quien hace esa recomendación no indica si se refiere a un sp de Access o de VB. ¿Podrías ayudarme algo más? Te indico a continuación el trozo de código donde se me produce el error por si te da una pista. Gracias de nuevo.
' Carga tabla Familias
With Me.Data1
.Connect = "Access"
.DatabaseName = App.Path & BaseDatos
.RecordsetType = 2
End With
With Me.DBCombo1
.ListField = "FAMILIA" ' <--- falla aqui
.BoundColumn = "CODFAMILIA" ' <--- y aqui
End With
SQL = "SELECT Familias.CodFamilia, Familias.Familia From Familias "
SQL = SQL & "ORDER BY Familias.Familia"
Set SnapFam = db.OpenRecordset(SQL, dbOpenSnapshot)
Set Data1.Recordset = SnapFam
SnapFam.Close
El código aparentemente esta bien, lo único que debes comprobar es como tienes declarado el combo box, es decir, si es un campo numérico, o alfanumérico. Por lo demás no veo ningún problema.
De todas formas, el mensaje que te da la aplicación tiene que ver con Access, es el formato de la base de datos lo que no esta de forma adecuada, no los datos que esta contiene.
Prueba a abrir la base de datos con la versión de Access que utiliza tu cliente, repara y compacta y observa si se produce algún tipo de problema. Si te deja hacer estos procesos, no creo que la base de datos tenga ningún problema, salvo el que te indicaba, que el motor jet sea más moderno que la base de datos, y no reconozca su formato.
En cuanto al service pack, los expertos se refieren al servicepack de Visual Estudio, ya que en Access 2000, solo sacaron un service pack, y en Access 97 dos releases.
Espero haberte ayudado, y deseo que me informes sobre el resultado de estas pruebas, para saber si se te ha solucionado el problema.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas