如何将访问表放入组合框中 [英] How to get access tables into a combobox
本文介绍了如何将访问表放入组合框中的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我一直在寻找一种方法来获取Access中的所有相关表格并将它们显示在组合框中。
我尝试使用这个:
Dim AccessConnection As New OleDbConnection(Provider = Microsoft.ACE.OLEDB.12.0; Data Source =Records.accdb;)
AccessConnection.Open()
Dim adt As DataTable'= AccessConnection .GetSchema(Tables)
DataGridView2.DataSource = adt
AccessConnection.Close
问题是这个调出所有表格,包括隐藏表格。我只想要与我的数据库相关的相关表格。
我尝试过:
我试图使用连接字符串:
Dim Accessda = New OleDbDataAdapter(SELECT MSysObjects.Name FROM MSysObjects WHERE(((MSysObjects.Type)= 1 Or(MSysObjects.Type) = 6)AND((左([名称],4))<>'MSys'))ORDER BY MSysObjects.Name;,AccessConnection)
但我一直收到错误。
如果有更好的方法来获得数据库的表格会很棒
解决方案
使用此查询 -
SELECT * FROM MSysObjects WHERE Type = 1 AND 标志= 0;
I have been looking for a way to take all relevant tables in Access and have them show up in combobox.
I tried using this:
Dim AccessConnection As New OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" Records.accdb";") AccessConnection.Open() Dim adt As DataTable '= AccessConnection.GetSchema("Tables") DataGridView2.DataSource = adt AccessConnection.Close
The problem is this brings up all tables including hidden tables. I just want the relevant tables that are associated to my database.
What I have tried:
I tried to use a connection string:
Dim Accessda = New OleDbDataAdapter("SELECT MSysObjects.Name FROM MSysObjects WHERE (((MSysObjects.Type)=1 Or (MSysObjects.Type)=6) AND ((Left([Name],4))<>'MSys')) ORDER BY MSysObjects.Name;", AccessConnection)
but I kept getting an error.
If there is a better way to get just the tables of the database that would be great
解决方案
Use this query -
SELECT * FROM MSysObjects WHERE Type=1 AND Flags=0;
这篇关于如何将访问表放入组合框中的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文