Office中国论坛/Access中国论坛

标题: 用代码创建mdb格式的Access文件 [打印本页]

作者: 盗梦    时间: 2015-1-16 10:23
标题: 用代码创建mdb格式的Access文件
本帖最后由 盗梦 于 2015-1-16 10:24 编辑

       一开始我采用 DBEngine.CreateDatabase 创建数据库,在Access2003环境下是丝毫没有问题。
       而在Access2007用同样的代码创建的数据库文件在Access2003识别不了。经测试发现,创建的数据库类型是和当前使用的Access版本,以及Access设置里面的默认创建格式有关。
       所以,用CreateDatabase方法Access2007下创建的文件,实际是accdb2007格式。

       查阅了许多资料,发现用ADOX可以真正创建mdb格式的文件
  1. '创建mdb格式的文件
  2. ' --参数:strNewPath 要创建的mdb文件的完整路径
  3. ' --示例:CreateMdbFile "C:\1.mdb"
  4. Public Function CreateMdbFile(strNewPath As String)
  5.     Dim myCat As Object ' ADOX.Catalog
  6.     Set myCat = CreateObject("ADOX.Catalog")
  7.     myCat.Create "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & strNewPath
  8. 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

作者: tmtony    时间: 2015-1-16 10:51
宝贵经验。这些必须通过不断实践才能发现。
作者: 盗梦    时间: 2015-1-16 11:18
tmtony 发表于 2015-1-16 10:51
宝贵经验。这些必须通过不断实践才能发现。

确实,网上可供查阅的资料比较少,基本是重复的




欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3