在VB中怎样得到一个ACCESS2000数据库中的所有表名?我要做的操作是在一个按钮中实现访问一个ACCESS2000的数据库,并得到库中的所有表的名字和表中记录的个数。在线等待、、、
高分相赠!!!
高分相赠!!!
解决方案 »
- crystl32.ocx could not be loaded
- vb中怎么让WebBrowser控件点击网页的ie隐藏
- ■■现金200元奖励!挑战自我!!问win2003server注册表高手!!
- 列出一个控件的所有属性
- 谁能帮我解决这个问题?
- 怎样获得EXCEL工作表的行数?
- 急×××解决一个计算机图形学问题!
- 四问:如何实现Treeview中的节点有的加图标有的不加图标?
- 小有点高难度的问题——(也可能是超级笨的问题)
- SOS: 应用internet transfer control控件下载文件的问题!!!
- 关注一下这个问题好吗? 也困扰我很久了。
- 有个人主页的朋友顶一下,多谢您的支持!
'
'Author:lihonggen0
'Date:2003-6-19
'功能:获取access库中表的个数及表的名称
'用ado怎样实现
'工程--->引用--->Microsoft ActiveX Data Object 2.x(版本号)
'----------------------------------------------------------------------------
Private Sub Form_Load()
Dim adoCN As New ADODB.Connection '定义数据库的连接
Dim strCnn 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 Subhttp://expert.csdn.net/Expert/FAQ/FAQ_Index.asp?id=8159
cn.ConnectionString = "dsn=" & cboDSN1.Text & ";uid=" & txtUID1.Text & ";pwd=" & txtPWD1.Text
cn.Open
Set rs = cn.OpenSchema(adSchemaTables)
lstTable1.Clear
lblStatus1.Caption = "数据源连接成功,正在检索数据表..."
DoEvents
Do Until rs.EOF
If Trim(rs!TABLE_TYPE) = "TABLE" Then lstTable1.AddItem Trim(rs!TABLE_NAME)
rs.MoveNext
Loop
rs.Close
Set rs = Nothing
cn.close
Set cn= nothing
Do Until rs.EOF
If Trim(rs!TABLE_TYPE) = "TABLE" Then MsgBox Trim(rs!TABLE_NAME)
rs.MoveNext
Loop
Sub disptables(mydbpath As String) '显示指定数据库中所有表名
Dim msg As String
Dim mycat As New ADOX.Catalog
msg = ""
Set mycat.ActiveConnection = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & mydbpath & ";"
For i = 0 To mycat.Tables.Count - 1
If Left(mycat.Tables.Item(i).Name, 4) <> "MSys" Then '去掉系统表
msg = msg & mycat.Tables.Item(i).Name & vbCrLf
End If
Next
MsgBox msg
End Sub
Dim DaoDb As DAO.Database
Dim DaoTb As DAO.TableDef
Set DaoDb = OpenDatabase(gstrAppPath & "SysUpdate.mdb")
For Each DaoTb In DaoDb.TableDefs
msgbox DaoTb.name
Next
dim rs as new adodb.recordset
cn.connectionstring="provider=microsoft.jet.4.0;datasource=ip\path\tablename"
cn.open
set rs=cn.openschema(adschematables)
do while not rs.eof then
if rs!table_type="table" then msgbox rs!table_name
Dim rs As New ADODB.Recordset
cn.CursorLocation = adUseClient
cn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=E:\aa\Finished_kjkw\sc\Data.mdb;Persist Security Info=False"
cn.Open
Set rs = cn.OpenSchema(adSchemaTables)
Do While Not rs.EOF
If LCase(rs!table_type) = "table" Then MsgBox rs!table_name
rs.MoveNext
Loop
建立odbc数据源:testrdo
Private rC As rdoConnection
Set rC = rdoEnvironments(0).OpenConnection(testrdo, rdDriverCompleteRequired, True) For C = 0 To rC.rdoTables.Count - 1
Comboodbctable.AddItem (rC.rdoTables(C).Name)
' Set I = Combotable.AddItem(rC.rdoTables(C).Name, 1)
Next C