With conn If .State = adStateOpen Then .Close End If .CursorLocation = adUseClient .ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Persist Security Info=False;Data Source=" & strSQL .Open End With
With rs .Open "Select * from Table1;", conn, adOpenStatic, adLockOptimistic If .BOF And .EOF Then msgbox "没有任何记录" Exit Sub End If .MoveFirst .movelast msgbox "有" & .recordcount & "条记录!" N = .recordcount End With rs.movefirst for i =1 to N msgbox rs.Fields("GZ") rs.movenext next i
如果你要的是Access设计时后面那个注释说明栏,还是省省吧。 如果一个字段叫“备注”或其他什么的,或是用来做备注的字段,用上面的方法可行。 可以用这个: ADO连接: 工程--->引用--->Microsoft ActiveX Data Object 2.x(版本号)Option ExplicitDim WithEvents adoRS As Recordset Dim db As Connection '提数据事件 Set db = New Connection db.CursorLocation = adUseClient db.Open"Provider=Microsoft.Jet.OLEDB.4.0;Persist Security Info=False;Data Source=" & App.Path & "\db1.mdb;Jet OLEDB:Database Password=1234;" ' ########################################## '打开密码是1234的Access2000数据库db1.mdb '不需要密码,就把Jet OLEDB:Database Password=1234;这段去掉 Set adoRS = New Recordset
只是举个例子,实际上,如果有多条数据,就要这样:Dim oText As TextBox '赋值的TextBoxFor Each oText In Me.Text1 Set oText.DataSource = adoRS Next'textbox的datafield属性设置为对应的字段名 '其他相关操作: '上一条 If Not adoRS.BOF Then adoRS.MovePrevious If adoRS.BOF And adoRS.RecordCount > 0 Then '已到最后返回 adoRS.MoveFirst End If '下一条 If Not adoRS.EOF Then adoRS.MoveNext '下一条 If adoRS.EOF And adoRS.RecordCount > 0 Then '已到最后返回 adoRS.MoveLast End If '第一条 If Not adoRS.BOF Then adoRS.MoveFirst '最末 If Not adoRS.EOF Then adoRS.MoveLast
找到方法了用OpenSchema adSchemaColumns 这是例子, Private Sub ListFields(ByVal db_file As String, ByVal db_table_name As String) Dim statement As String Dim conn As ADODB.Connection Dim rs As ADODB.Recordset '打开连接 Set conn = New ADODB.Connection conn.ConnectionString = _ "Provider=Microsoft.Jet.OLEDB.4.0;" & _ "Data Source=" & db_file & ";" & _ "Persist Security Info=False" conn.Open lstFields.Clear ' 用 OpenSchema and 获取表名. Set rs = conn.OpenSchema(adSchemaColumns, _ Array(Empty, Empty, db_table_name)) '这个rs返回的某个字段的所以属性差不多28个 Do While Not rs.EOF lstFields.AddItem rs!COLUMN_NAME & " " & rs.Fields("DESCRIPTION") rs.MoveNext Loop rs.Close conn.Close End Sub
来晚了!楼上是对的! Dim CN As New ADODB.Connection '定义数据库的连接 Dim Rs As New ADODB.Recordset CN.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\Northwind.MDB;Persist Security Info=False" CN.Open Set Rs = CN.OpenSchema(adSchemaColumns, Array(Empty, Empty, "表名")) Do While Not Rs.EOF Debug.Print Rs.Fields("column_name") & " " & Rs.Fields("description") Rs.MoveNext Loop
我想可以用 ALTER TABLE " & TblName & " ALTER COLUMNlihonggen0,我想不这样是学不好,我的目标就是你们这些高手
这是我实现的方法,用ADOX,读写都有 你按照你的要求改改就可以了还有一句和楼主说一下,我们回答问题并不是为了赚分,所以不要用分来做条件 其实只要你花点时间找也可以找到方法,自己找到的和别人告诉你的效果是不一样的 Private Sub Form_Load() Dim x As New ADODB.Connection Dim cat As New ADOX.Catalog Dim tbl As New ADOX.Table Dim col As New ADOX.Column Dim c
里面有一字段f1
f1有一个"备注" 如 :"字段1"
如何把它取出来.
Rs.Fields("字段1")
我的表中的字段名用的拼音
如
"GZ" ,在字段备注中我写了"工资"
不知道用ado能不能读出来,能不能写进去.
多谢.
rs.fields("GZ") '就会得到你的内容
Dim strSQL As String
dim conn as New ADODB.Connection
dim rs as New ADODB.Recordset
strSQL = App.Path & "\DB.mdb"
strSQL = Replace(strSQL, "\\", "\")
With conn
If .State = adStateOpen Then
.Close
End If
.CursorLocation = adUseClient
.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Persist Security Info=False;Data Source=" & strSQL
.Open
End With
With rs
.Open "Select * from Table1;", conn, adOpenStatic, adLockOptimistic
If .BOF And .EOF Then
msgbox "没有任何记录"
Exit Sub
End If
.MoveFirst
.movelast
msgbox "有" & .recordcount & "条记录!"
N = .recordcount
End With rs.movefirst
for i =1 to N
msgbox rs.Fields("GZ")
rs.movenext
next i
.Properties ("description")
我以前用过好像怎么写的如果不对我在查查代码
recordset ..?
如果一个字段叫“备注”或其他什么的,或是用来做备注的字段,用上面的方法可行。
可以用这个:
ADO连接:
工程--->引用--->Microsoft ActiveX Data Object 2.x(版本号)Option ExplicitDim WithEvents adoRS As Recordset
Dim db As Connection
'提数据事件
Set db = New Connection
db.CursorLocation = adUseClient
db.Open"Provider=Microsoft.Jet.OLEDB.4.0;Persist Security Info=False;Data Source=" & App.Path & "\db1.mdb;Jet OLEDB:Database Password=1234;"
' ##########################################
'打开密码是1234的Access2000数据库db1.mdb
'不需要密码,就把Jet OLEDB:Database Password=1234;这段去掉 Set adoRS = New Recordset
adoRS.Open "SELECT * FROM 表", db, adOpenStatic, adLockOptimistic
'赋值给 textbox
text1.text = adoRS![GZ]
text2.text = adoRS![备注]
Set oText.DataSource = adoRS
Next'textbox的datafield属性设置为对应的字段名
'其他相关操作:
'上一条
If Not adoRS.BOF Then adoRS.MovePrevious
If adoRS.BOF And adoRS.RecordCount > 0 Then
'已到最后返回
adoRS.MoveFirst
End If
'下一条
If Not adoRS.EOF Then adoRS.MoveNext '下一条
If adoRS.EOF And adoRS.RecordCount > 0 Then
'已到最后返回
adoRS.MoveLast
End If
'第一条
If Not adoRS.BOF Then adoRS.MoveFirst
'最末
If Not adoRS.EOF Then adoRS.MoveLast
这是例子,
Private Sub ListFields(ByVal db_file As String, ByVal db_table_name As String)
Dim statement As String
Dim conn As ADODB.Connection
Dim rs As ADODB.Recordset '打开连接
Set conn = New ADODB.Connection
conn.ConnectionString = _
"Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & db_file & ";" & _
"Persist Security Info=False"
conn.Open lstFields.Clear ' 用 OpenSchema and 获取表名.
Set rs = conn.OpenSchema(adSchemaColumns, _
Array(Empty, Empty, db_table_name))
'这个rs返回的某个字段的所以属性差不多28个
Do While Not rs.EOF
lstFields.AddItem rs!COLUMN_NAME & " " & rs.Fields("DESCRIPTION")
rs.MoveNext
Loop rs.Close
conn.Close
End Sub
Dim Rs As New ADODB.Recordset CN.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\Northwind.MDB;Persist Security Info=False"
CN.Open Set Rs = CN.OpenSchema(adSchemaColumns, Array(Empty, Empty, "表名"))
Do While Not Rs.EOF
Debug.Print Rs.Fields("column_name") & " " & Rs.Fields("description")
Rs.MoveNext
Loop
呵呵,下面有我的MSN:http://www.csdn.net/develop/author/netauthor/lihonggen0/常联系!
ALTER TABLE " & TblName & " ALTER COLUMNlihonggen0,我想不这样是学不好,我的目标就是你们这些高手
你按照你的要求改改就可以了还有一句和楼主说一下,我们回答问题并不是为了赚分,所以不要用分来做条件
其实只要你花点时间找也可以找到方法,自己找到的和别人告诉你的效果是不一样的
Private Sub Form_Load()
Dim x As New ADODB.Connection Dim cat As New ADOX.Catalog
Dim tbl As New ADOX.Table
Dim col As New ADOX.Column
Dim c
Dim var
cat.ActiveConnection = "Provider = Microsoft.Jet.OLEDB.4.0;Data Source=C:\msdownld.tmp\test.MDB;Mode=ReadWrite;Persist Security Info=False"
var = cat.Tables("test").Columns("Codice").Properties("description").Value
cat.Tables("test").Columns("Codice").Properties("description").Value = "dfgfgdfg"
Set x = Nothing
Set col = Nothing
Set tbl = Nothing
Set cat = NothingEnd Sub
我看过帮助,里面似乎没有可以写注释的说lihonggen0,你的文章对我启发很大.
Private Sub Form_Load() Dim cat As New ADOX.Catalog
Dim var
cat.ActiveConnection = "Provider = Microsoft.Jet.OLEDB.4.0;Data Source=C:\msdownld.tmp\test.MDB;Mode=ReadWrite;Persist Security Info=False"
var = cat.Tables("test").Columns("Codice").Properties("description").Value
cat.Tables("test").Columns("Codice").Properties("description").Value = "dfgfgdfg"
Set cat = NothingEnd Sub
这就够了