如何用vb获得access数据库的所有表名
我用以下的方法试过(vb6.0 ADO接口),看那位高手提供更好的办法。
dim TableSet as adodb.recordset
dim Gconnection as adodb.connection sub getTableName
set gconnection=new adodb.connection
gConnection.Open "Driver=Microsoft Access driver (
*.mdb);UID=;PWD=;DBQ=d:\test.mdb;" Set TableSet = gConnection.OpenSchema(adSchemaTables, Array(Empty, Empty, Empty, Empty))
Do Until TableSet.EOF
msgbox "表名:" & tableset!table_type &" 表类型:" & TableSet! table_type,vbinformation,"表"
TableSet.MoveNext
Loop
end sub
资料来源:网易社区
我用以下的方法试过(vb6.0 ADO接口),看那位高手提供更好的办法。
dim TableSet as adodb.recordset
dim Gconnection as adodb.connection sub getTableName
set gconnection=new adodb.connection
gConnection.Open "Driver=Microsoft Access driver (
*.mdb);UID=;PWD=;DBQ=d:\test.mdb;" Set TableSet = gConnection.OpenSchema(adSchemaTables, Array(Empty, Empty, Empty, Empty))
Do Until TableSet.EOF
msgbox "表名:" & tableset!table_type &" 表类型:" & TableSet! table_type,vbinformation,"表"
TableSet.MoveNext
Loop
end sub
资料来源:网易社区
解决方案 »
- 内程泄漏的问题,在每次抓取其它程序中的ListView中的内容时,那个程序会增加4Kb的内存
- spread几个简单的问题,请大家帮忙
- 设置窗体 BorderStyle = None后,能否拖动窗体的边框使窗体缩放??
- 为什么我在VB中创建的线程运行一段时间后会使整个VB崩溃呢
- 如何用VB生成HTML格式的文件?
- filter函数怎么用?
- 请问怎样用VB做一个远程关机的程序
- help me : 关于动态生成文本文件以及执行shell的问题
- 如何将VB运行后的窗体保存成bmp图形?
- 怎么用winsock?编写通信程序?
- 如何在VB的DataReport中编写分组显示数据
- 如何判断数据库里其中一个表是否存在?
Dim adoConnectionX As New ADODB.Connection
Dim adoSchemaRecordsetX As New ADODB.Recordset
'Ms SQL 7:
'adoConnectionX.Open "Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;Data Source=yuer;DataBase=NorthwindCS"
'Access 2000:
adoConnectionX.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=E:\DRptPlus\DRptPlus\Data\NWind2K.mdb;Persist Security Info=False"
Dim TestTableName As String
TestTableName = "产 品 "
Set adoSchemaRecordsetX = adoConnectionX.OpenSchema(adSchemaTables, Array(Empty, Empty, TestTableName, "Table"))
If Not adoSchemaRecordsetX.EOF Then
MsgBox "[" & TestTableName & "]表 已 存 在 !"
End If
方 法 2(引 用 Microsoft ADO Extensions 2.1 for DDL and Security (ADOX)):
( 主 持 人 注 : 需 要 升 级 至 VB 6.0SP3)
Dim adoConnectionX As New ADODB.Connection
'Ms SQL 7:
adoConnectionX.Open "Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;Data Source=yuer;DataBase=NorthwindCS"
'Access 2000:
'adoConnectionX.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=E:\DRptPlus\DRptPlus\Data\NWind2K.mdb;Persist Security Info=False"
Dim adoxCatalogX As New ADOX.Catalog
Set adoxCatalogX.ActiveConnection = adoConnectionX
Dim TestTableName As String
TestTableName = "产 品 "
Dim adoxTableX As ADOX.Table
For Each adoxTableX In adoxCatalogX.Tables
If adoxTableX.Name = TestTableName Then
MsgBox "[" & TestTableName & "]表 已 存 在 !"
Exit For
End If
Next
主 持 人 注 : 方 法 2也 可 以 这 样 :
Private Sub Command1_Click()
Dim cat As ADOX.Catalog
Dim tbl As ADOX.Table
Set cat = New ADOX.Catalog
Set cat.ActiveConnection = "Provider=Microsoft.Jet.OLEDB.3.51;" _
& "Data Source=C:\Program Files\Microsoft Visual Studio\VB98\Biblio.mdb"
On Error Resume Next
Set tbl = cat.Tables("MyTable")
If tbl Is Nothing Then
MsgBox "MyTable doesn't exist"
Else
MsgBox "MyTable exists"
Set tbl = Nothing
End If
Set cat = Nothing
Set con = Nothing
End Sub