我建了一个access数据库,但是我不想打开数据库,通过vb程序得到数据库了有多少表和表的名称,请问能否实现,如何编程.
解决方案 »
- rs232 数据输入输出问题(求助达人)
- HOOK封包问题--------加分贴 №.4
- 如何运用LsaEnumerateAccountsWithUserRight等函数获得本地用户的权限信息..
- 60分求一个简单而完整的VB聊天程序
- 请问如何可以加像word一样的拼写错误控制?
- 关于网络连接的问题!
- rs.open.....和set rs=cn.execute的问题
- 一个问题
- 如何实现按客户要求自定义纸张大小进行打印。
- 用VB的Package & Deployment Wizard制作安装程序,如何加上Uninstall?
- 谁有图形编辑的程序或资料?
- 怎么样用vb编写代码来获得win2000系统的所有用户
do while not rs.eof
print rs!name.value
rs.movenext
loop
'用ado怎样实现
'工程--->引用--->Microsoft ActiveX Data Object 2.x(版本号)
'----------------------------------------------------------------------------
Private Sub Form_Load()
Dim adoCN As New ADODB.Connection '定义数据库的连接
Dim strCnn As New ADODB.Recordset
Dim rstSchema As New ADODB.Recordset
Dim I As Integer
str1 = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\Northwind.MDB;Persist Security Info=False"
adoCN.Open str1
Set rstSchema = adoCN.OpenSchema(adSchemaTables)
Do Until rstSchema.EOF
If rstSchema!TABLE_TYPE = "TABLE" Then
out = out & "Table name: " & _
rstSchema!TABLE_NAME & vbCr & _
"Table type: " & rstSchema!TABLE_TYPE & vbCr
I = I + 1
End If
rstSchema.MoveNext
Loop
MsgBox I
rstSchema.Close
adoCN.Close
Debug.Print out
End Sub
或者:用Access打开数据库,工具->选项-〉选中系统对象;
然后工具-〉安全-〉用户与组的权限-〉选中MsysObjects的读取数据权限
这样你就可以通过查询系统表MsysObjects来查询所有的表了rs.open "select [name] from msysobjects where [type]=1 and [flags]=0"do while not rs.eof
print rs!name
rs.movenext
loop
Type=1为"视图"
Type=3为"视图"
rs.open "select [name] from msysobjects where [type]=1 and [flags]=0"
do while not rs.eof
print rs!name.value
rs.movenext
loop