Private Sub Form_Load()
gzxm1.ColWidth(0) = 350
gzxm1.ColWidth(1) = 480
gzxm1.ColWidth(2) = 2500
gzxm1.RowHeight(0) = 330
gzxm1.AllowUserResizing = 1
xmnr = ""
clicknum = 0
stringpath = "provider=microsoft.jet.oledb.4.0;data source=" & App.Path & "\gongsi.mdb;"
Set conn = New ADODB.Connection
Set rs = New ADODB.Recordset
sql = "select 编号,名称,字段,zdflag from zdgl where zdflag=true"
conn.Open stringpath
rs.CursorLocation = adUseClient
rs.Open sql, conn, 1, 1
Dim rsnew As ADODB.Recordset
Set rsnew = New ADODB.Recordset
For lCount = 0 To rs.Fields.Count - 1
If rs.Fields(lCount).Name <> "zdflag" Then
rsnew.Fields.Append rs.Fields(lCount).Name, adVarChar, rs.Fields(lCount).DefinedSize
Else
rsnew.Fields.Append "状态", adVarChar, rs.Fields(lCount).DefinedSize
End If
 Next
 rsnew.Open
 Do While Not rs.EOF
 rsnew.AddNew
 rsnew!编号 = rs!编号 & ""
 rsnew!名称 = rs!名称 & ""
 rsnew!字段 = rs!字段 & ""
 If rs!zdflag = True Then
 rsnew!状态 = "已启用"
 Else
 rsnew!状态 = "已停用"
 End If
 rs.MoveNext
 Loop
Set gzxm1.DataSource = rsnew
 Dim i As Integer
  With gzxm1
  .ColAlignmentFixed = 4
 For i = .FixedCols - 1 To .Cols - 1
 .ColAlignment(i) = 4
 Next
   End With
   rs.close
   Set rs = Nothing
End Sub
提示:多步操作产生错误,请检查每一步的状态值

解决方案 »

  1.   

    "select 编号,名称,字段,zdflag from zdgl where zdflag=true" 
    把數據表中的字段改成英文字母 ,注意避免保畱字
      

  2.   

    If rs.Fields(lCount).Name  < > "zdflag" Then 
    rsnew.Fields.Append rs.Fields(lCount).Name, adVarChar, rs.Fields(lCount).DefinedSize 
    Else 
    rsnew.Fields.Append "状态", adVarChar, rs.Fields(lCount).DefinedSize 
    End If If rs!zdflag = True Then 
     rsnew!状态 = "已启用" 
     Else 
     rsnew!状态 = "已停用" 
     End If zdflag為boolean型,那rs.Fields(lCount).DefinedSize <len("已启用")的