数据库是Access,需要知道各张表名,以及每张表的字段名,编程实现,可以用ADO
谢谢
谢谢
解决方案 »
- vb+access程序中,用到了OLE控件,打包安装后,在个别机器上运行时。OLE中不显示内容,点按钮调用word时,内存不能read.在线等!谢谢!
- 我想鼠标从一个按钮上扫过时,状态栏的文字就会变,请问应该怎么编程?
- 对双精度小数的的sql查询语句,请指点!
- 关于技术的选择?
- 一个timer控件问题,一个installshield问题
- 关于控件left & Top的问题
- 我用vb2005调用系统的记事本,运行后停留在状态栏上,怎能点击后显示到窗体中
- 有没有想兼职写程序的,薪水不算太高,但我是很讲诚信的,留个mail,我发要求
- 句柄问题,高手请进
- 用代码连接SQL Sever 数据库(要求用代码,不准用控件)
- 有关win2000服务的问题?
- 在VB中"像素"和"缇"是则么转换的?
' ADO:
'*****
Public Sub OpenSchemaX() Dim cnn1 As ADODB.Connection
Dim rstSchema As ADODB.Recordset
Dim strCnn As String
Set cnn1 = New ADODB.Connection
strCnn = "driver={SQL Server};server=srv;" & _
"uid=sa;pwd=;database=pubs"
cnn1.Open strCnn
Set rstSchema = cnn1.OpenSchema(adSchemaTables)
Do Until rstSchema.EOF
Debug.Print "Table name: " & _
rstSchema!TABLE_NAME & vbCr & _
"Table type: " & rstSchema!TABLE_TYPE & vbCr
rstSchema.MoveNext
Loop
rstSchema.Close
cnn1.Close
End Sub
'
'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 Sub
'
'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 Sub
可以找到表了,可是有很多系统表我不需要的,该怎么判断呢?
Dim MyTableDef As TableDef
Dim check As BooleanSet Db = OpenDatabase(databace, True, False)
For Each MyTableDef In Db.TableDefs()
check = MyTableDef.Name Like "MS*"
If check = False Then
List1.AddItem MyTableDef.Name
End If
Next MyTableDef我用的是DAO,其中List1是ListBox控件.关键是用like运算符做的判断.
多谢各位,问题都解决了只差一个,我怎么取得各张表的字段名呢?
如果问题很愚蠢,请见量。