Microsoft Office Access是由微软发布的关系数据库管理系统。它结合了 MicrosoftJet Database Engine 和 图形用户界面两项特点,是 Microsoft Office 的系统程序之一。Microsoft Office Access是微软把数据库引擎的图形用户界面和软件开发工具结合在一起的一个数据库管理系统。它是微软OFFICE的一个成员, 在包括专业版和更高版本的office版本里面被单独出售。2018年9月25日,最新的微软Office Access 2019在微软Office 2019里发布。 在使用ADO的OpenSchema或ADOX 读取Access数据库里所有查询的清单时 发现结果总是少了一个查询,Access查询列表中有5个,但用VBA 或VB代码读出来只有4个,少了一个
ADO读取Access数据库所有查询名的代码如下
Private Sub OpenDBSchema(FileName As String) Dim conn As New ADODB.Connection Dim mProvider As String Dim fso As New FileSystemObject If Not fso.FileExists(FileName) Then Set grid1.DataSource = Nothing Select Case LCase(fso.GetExtensionName(FileName)) Case "mdb" mProvider = "Microsoft.Jet.OLEDB.4.0" Case "accdb" mProvider = "Microsoft.ACE.OLEDB.12.0" End Select conn.ConnectionString = "Provider=" & mProvider & ";Data Source=" & FileName & ";Persist Security Info=False;" conn.Open Set grid1.DataSource = conn.OpenSchema(adSchemaTables) grid1.AllowUserResizing = flexResizeBothEnd Sub
出现 的错误如下(ADO VBA代码取得的结果与Access数据库查询实际对比)
经过不断尝试与分析,终于发现,原来这个少掉的Access查询,使用了一个Access模块中的自定义函数 这样导致 无法识别到这个查询 将查询中用到的自定义函数删除后,则成功获取了
Microsoft Access在很多地方得到广泛使用,例如小型企业,大公司的部门。 |
温馨提示:喜欢本站的话,请收藏一下本站!