VB有什么办法列出数据库(access类型的)中所有的表名吗?

sgzhxfsg 2008-01-03 07:49:20
VB6.0 有什么办法列出数据库(access类型的,Sjk.mdb)中所有的表名吗?
数据库是用Office 的 Access 创建的
而且设置有密码(密码是:1)
...全文
378 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
vbman2003 2008-01-15
  • 打赏
  • 举报
回复


Dim cn As ADODB.Connection
Dim rs As ADODB.Recordset

Set cn = New ADODB.Connection
cn.Open "Provider=Microsoft.Jet.OLEDB.4.0; " _
& "Data Source=" & App.Path & "\db1.mdb;" _
& "Persist Security Info=False;" _
& "Jet OLEDB:Database Password=123"

Set rs = New ADODB.Recordset
Set rs = cn.OpenSchema(adSchemaTables, _
Array(Empty, Empty, Empty, "TABLE"))
While Not rs.EOF
Debug.Print rs!TABLE_NAME
rs.MoveNext
Wend
rs.Close
cn.Close

tingting1123 2008-01-15
  • 打赏
  • 举报
回复
记号.
zdingyun 2008-01-15
  • 打赏
  • 举报
回复
借助vbman2003的代码,将ACCESS数据库的表名放入ComboBOX显示:
Option Explicit
Dim tabelName(50) As String
Dim i As Integer
Dim l As Integer

Private Sub Combo1_Click()
Text1 = Combo1
End Sub

Private Sub Command1_Click()
Dim fileN As String
CommonDialog1.ShowOpen
fileN = CommonDialog1.FileName
Dim cn As ADODB.Connection
Dim rs As ADODB.Recordset
Set cn = New ADODB.Connection
cn.Open "Provider=Microsoft.Jet.OLEDB.4.0; " _
& "Data Source=" & fileN & ";" _
& "Persist Security Info=False;" _
& "Jet OLEDB:Database Password=123"
Set rs = New ADODB.Recordset
Set rs = cn.OpenSchema(adSchemaTables, _
Array(Empty, Empty, Empty, "TABLE"))
While Not rs.EOF
tabelName(i) = rs!TABLE_NAME
i = i + 1
rs.MoveNext
Wend
rs.Close
cn.Close
l = i - 1
For i = 0 To l
Combo1.AddItem tabelName(i)
Next
End Sub

Private Sub Form_Load()
Text1 = ""
Combo1 = ""
End Sub

波导终结者 2008-01-07
  • 打赏
  • 举报
回复
马克
zhngtl 2008-01-07
  • 打赏
  • 举报
回复
dim cn As ADODB.Connection
dim rs as ADODB.Recordset
cn.open "连接串"
set rs=cn.OpenSchema(adSchemaTables)

记录rs(2)中保存的就是表名,其中"MSysRelationships", "MSysQueries", "MSysObjects", "MSysModules2", "MSysModules", "MSysACEs", "MSysAccessObjects"为系统表,其他为用户定义表
云中客 2008-01-05
  • 打赏
  • 举报
回复
2楼的方法,似乎只有SQL server数据库为才可以用

关注
XBLJC 2008-01-05
  • 打赏
  • 举报
回复
在access中可以使用, MSysObjects是Access的系统表.
XBLJC 2008-01-04
  • 打赏
  • 举报
回复
SELECT name FROM MSysObjects WHERE Flags=0 AND Type=1

我试过,可以
ct114047689 2008-01-04
  • 打赏
  • 举报
回复
应该可以的.查一下SQL的书
northwolves 2008-01-04
  • 打赏
  • 举报
回复
ADOX要简单一些
http://topic.csdn.net/t/20060104/11/4497260.html
bjwanghui 2008-01-04
  • 打赏
  • 举报
回复
ado 或者DAO都可以。

1,216

社区成员

发帖
与我相关
我的任务
社区描述
VB 数据库(包含打印,安装,报表)
社区管理员
  • 数据库(包含打印,安装,报表)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧