

在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