¿Como me las puedo idear para que dandome un archivo .mdb mediante VBasic me
diga si es de Access 97 o 2000?
RESPONDE SOFTJAEN (Enrique Martinez)
====================================
- Con DAO:
Mediante la propiedad «Version» del objeto «Database». Si el resultado es
4.0, la versión de la base de datos es de Access 2000; si por el contrario
el valor es 3.0, la base de datos es de Access 97.
Dim db As Database
Set db = OpenDatabase("G:\VBNEws\Bd1.mdb")
MsgBox db.Version
- Con ADO:
Mediante la propiedad «Jet OLEDB:Engine Type» de un objeto «Connection»
abierto. Si el resultado es 5 (Access 2000) y si es 4 (Access 97).
Dim cnn As ADO.Connection
With cnn
.Provider = "Microsoft.Jet.OLEDB.4.0"
.ConnectionString = "Data Source=" & App.Path & "\Bd1.mdb"
.Open
End With
MsgBox cnn.Properties("Jet OLEDB:Engine Type")
La propiedad «Version» del objeto «Database», tanto para una base de datos
Access 2000, como para una con formato Access 2002, devuelve el mismo valor:
4.0
Ahora bien, para diferenciar el formato de Access con el que se ha creado
cada una de ellas, hay que utilizar la propiedad «AccessVersion» del objeto
«Database», que en la ayuda de DAO 3.6 no aparece, pero que arroja el
siguiente resultado, con la prueba que he realizado:
Access 97: 07.53
Access 2000: 08.50
Access 2002: 09.50
Con un objeto «Database» abierto, la sintaxis sería:
db.Properties!AccessVersion
Como continuación de mi anterior mensaje, algunos enlaces
que he encontrado sobre la propiedad «AccessVersion». Si
aparecen los enlaces rotos, pegar las palabras:
http://support.microsoft.com/default.aspx?scid=kb;en-us;Q171192
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/off2000/html/acconStartupNewProjDB.asp
               (
geocities.com/es/ensolva/Descargas)                   (
geocities.com/es/ensolva)                   (
geocities.com/es)