在Access2003中。可以用 DBEngine.CreateDatabase 创建数据库。但是在Access2007用同样的代码创建的数据库文件在Access2003识别不了。
因为创建的数据库类型是和当前使用的Access版本,以及Access设置里面的默认创建格式有关的。
所以,用CreateDatabase方法Access2007下创建的文件,实际是accdb2007格式。
这里我们利用用ADOX来创建mdb格式的文件
'创建mdb格式的文件 ' --参数:strNewPath 要创建的mdb文件的完整路径 ' --示例:CreateMdbFile "C:\1.mdb" Public Function CreateMdbFile(strNewPath As String) Dim myCat As Object ' ADOX.Catalog Set myCat = CreateObject("ADOX.Catalog") myCat.Create "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & strNewPath End Function
附:CreateDatabase创建数据库文件的方法
Set db = dbengine.CreateDatabase (name, locale, options) '可以返回Database对象
参数:name
要创建数据库文件的完整路径
参数:locale
语言以及其他环境信息设置 0x0409 是英文版
dbLangGeneral =;LANGID=0x0409;CP=1252;COUNTRY=0
dbLangArabic =;LANGID=0x0401;CP=1256;COUNTRY=0
dbLangChineseSimplified =;LANGID=0x0804;CP=936;COUNTRY=0
dbLangChineseTraditional=;LANGID=0x0404;CP=950;COUNTRY=0
dbLangCyrillic =;LANGID=0x0419;CP=1251;COUNTRY=0
dbLangCzech =;LANGID=0x0405;CP=1250;COUNTRY=0
dbLangDutch =;LANGID=0x0413;CP=1252;COUNTRY=0
dbLangGreek =;LANGID=0x0408;CP=1253;COUNTRY=0
dbLangHebrew =;LANGID=0x040D;CP=1255;COUNTRY=0
dbLangHungarian =;LANGID=0x040E;CP=1250;COUNTRY=0
dbLangIcelandic =;LANGID=0x040F;CP=1252;COUNTRY=0
dbLangJapanese =;LANGID=0x0411;CP=932;COUNTRY=0
dbLangKorean =;LANGID=0x0412;CP=949;COUNTRY=0
dbLangNordic =;LANGID=0x041D;CP=1252;COUNTRY=0
dbLangNorwDan =;LANGID=0x0414;CP=1252;COUNTRY=0
dbLangPolish =;LANGID=0x0415;CP=1250;COUNTRY=0
dbLangSlovenian =;LANGID=0x0424;CP=1250;COUNTRY=0
dbLangSpanish =;LANGID=0x040A;CP=1252;COUNTRY=0
dbLangSwedFin =;LANGID=0x040B;CP=1252;COUNTRY=0
dbLangThai =;LANGID=0x041E;CP=874;COUNTRY=0
dbLangTurkish =;LANGID=0x041F;CP=1254;COUNTRY=0
参数:options
文件的设置,例如密码 pwd=xxx