多谢.

解决方案 »

  1.   

    如access中有一表table1,
    里面有一字段f1
    f1有一个"备注" 如 :"字段1"
    如何把它取出来.
      

  2.   

    应该与普通的字符字段一样。
    Rs.Fields("字段1")
      

  3.   

    看来要把问题说清楚一点.
    我的表中的字段名用的拼音

    "GZ" ,在字段备注中我写了"工资"
    不知道用ado能不能读出来,能不能写进去.
    多谢.
      

  4.   

    如果仅是这样:如alicky(周松)的
    rs.fields("GZ")  '就会得到你的内容
      

  5.   

    dim N as long
       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
      

  6.   

    试试用field的
    .Properties ("description")
    我以前用过好像怎么写的如果不对我在查查代码
      

  7.   

    对不起是我高戳了,那是dao的方法,ado的在查查
      

  8.   

    好像不用这么复杂吧:??
    recordset ..?
      

  9.   

    如果你要的是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
        
        adoRS.Open "SELECT * FROM 表", db, adOpenStatic, adLockOptimistic
        '赋值给 textbox
        text1.text = adoRS![GZ]
        text2.text = adoRS![备注]
        
      

  10.   

    只是举个例子,实际上,如果有多条数据,就要这样: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
      

  11.   

    我想csdngoodnight说的都不是楼主想要的.在DAO时可以用,我想ADO或ADOX肯定也可以,只不过我没找到方法
      

  12.   

    找到方法了用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
      

  13.   

    来晚了!楼上是对的!    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
      

  14.   

    lihonggen0 你应该早来点,这样我就不用去查资料直接向你学多好!
      

  15.   

    to: ch21st不敢!我也有许多不懂的!能者为师!很佩服你的楔而不舍精神!
    呵呵,下面有我的MSN:http://www.csdn.net/develop/author/netauthor/lihonggen0/常联系!
      

  16.   

    我想可以用
    ALTER TABLE " & TblName & " ALTER COLUMNlihonggen0,我想不这样是学不好,我的目标就是你们这些高手
      

  17.   

    这是我实现的方法,用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
       
       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
      

  18.   

    ALTER TABLE 
    我看过帮助,里面似乎没有可以写注释的说lihonggen0,你的文章对我启发很大.
      

  19.   

    用我ADOX我上面贴的,由于是做试验所以有冗余信息
    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
    这就够了