1.
Dim alltable As String
Sub addtomsflexgrid(mydbpath As String) '显示指定数据库中所有表名
MSFlexGrid1.Rows = 1
MSFlexGrid1.cols = 100 '自己设置
   Dim mycnn As New ADODB.Connection
   Dim mycat As New ADOX.Catalog
   Dim myrst As ADODB.Recordset
   mycnn.Open _
      "Provider=Microsoft.Jet.OLEDB.4.0;" & _
      "Data Source=" & mydbpath & ";"
alltable = ""
   Set mycat.ActiveConnection = mycnn
   For i = 0 To mycat.Tables.Count - 1
   If Left(mycat.Tables.Item(i).Name, 4) <> "MSys" Then '去掉系统表
alltable = alltable & mycat.Tables.Item(i).Name
End If
Next
Dim tname As Variant
tname = Split(alltable, vbCrLf)
MSFlexGrid1.Row = 1
For i = 0 To UBound(tname)
myrst.Open "select * from " & Trim(tname(i)) & " where 字段1='姓名'", mycnn, adOpenKeyset, adLockOptimistic
myrst.MoveFirst
Do While Not myrst.EOF
For j = 0 To myrst.Fields.Count - 1
MSFlexGrid1.TextMatrix(MSFlexGrid1.Rows, j) = myrst.Fields(j).Value
Next
myrst.MoveNext
MSFlexGrid1.Rows = MSFlexGrid1.Rows + 1
Loop
set myrst=nothing
Next
set mycnn=nothing
End Sub
2.同上,但简单多了。