如何将访问表放入组合框中 [英] How to get access tables into a combobox

查看:66
本文介绍了如何将访问表放入组合框中的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我一直在寻找一种方法来获取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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆