用ADO连接Access,如何选出Access所有的表名?
怎么写SQL?
还是有别的什么方法?
问题点数:20、回复次数:1Top
1 楼playyuer(退休干部 卧鼠藏虫)回复于 2001-02-21 13:13:00 得分 20
只讨论 ADO
方 法 1: 引用 ADO
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"
Set adoSchemaRecordsetX = adoConnectionX.OpenSchema(adSchemaTables)
Do until adoSchemaRecordsetX.EOF
Debug.Print "Table name: " & _
adoSchemaRecordsetX !TABLE_NAME & vbCr & _
"Table type: " & adoSchemaRecordsetX!TABLE_TYPE & vbCr
adoSchemaRecordsetX.movenext
Loop
方 法 2(引 用 Microsoft ADO Extensions 2.1 for DDL and Security (ADOX)):
( 需 要 升 级 至 VB 6.0 SP3+)
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.3.51;Data Source=E:\DRptPlus\DRptPlus\Data\NWind2K.mdb;Persist Security Info=False"
Dim adoxCatalogX As New ADOX.Catalog
Set adoxCatalogX.ActiveConnection = adoConnectionX
Dim adoxTableX As ADOX.Table
For Each adoxTableX In adoxCatalogX.Tables
debug.print adoxTableX.name
Next Top




