if Field.Attributes And adFldKeyColumn then
    'Field对应的列是主键,do something what u want
end if
记得给分

解决方案 »

  1.   

    to superssp:
    Dim Rs As ADODB.Recordset
    Dim Strsql As String
    Dim VarField As Variant
    Strsql = "SELECT id, dept_no, dept_name, enable From Accdept "
    Set Rs = New ADODB.Recordset
    Rs.Open Strsql, StrConnect    For Each VarField In Rs.Fields               
                                                                
            If VarField.Attributes And adFldKeyColumn Then
                MsgBox "Primary " & VarField.Name
            End If
        Next+++>>dept_no是主键列,但它不执行MsgBox "Primary " & VarField.Name
    如果把strsql改成Strsql = " SELECT top 10 id, dept_no, Book_year, Book_month, subject_no, pagination, DC, Balance,enable FROM Accbook " 主键列为dept_no, Book_year, Book_month, subject_no, pagination 还是不执行。
    但是有一特性,凡是主键列,则VarField.Attributes=8