基本的语句就是这样子的了:Private Sub Form_Load()  Dim db As Connection
  Set db = New Connection
  db.CursorLocation = adUseClient
  db.Open gstrConnection  Set adoPrimaryRS = New Recordset
  
  Dim lstrSQL As String
  Dim lstrDate As String
  lstrDate = "DateAdd(Month, -2, getdate())"
  lstrSQL = "select 日期,批号,班次号,数量,氮含量,水分,游离酸,外观,等级,备注,检验者,复核者,审核者,报告日期 from 技监煤气硫酸铵 "
  
  '按照“时间段、单日、近两个月”这三种情况来生产所需的SQL语句,gstrFindBgn和gstrFindEnd是存储日期的字符串
  If gstrFindBgn <> "" And gstrFindEnd <> "" Then
    lstrSQL = lstrSQL + " where 日期 >= '" + gstrFindBgn + "' and 日期 <= '" + gstrFindEnd + "' Order by 班次号,日期;"
  End If
  If gstrFindBgn <> "" And gstrFindEnd = "" Then
    lstrSQL = lstrSQL + " where 日期 = '" + gstrFindBgn + "';"
  End If
  If gstrFindBgn = "" And gstrFindEnd = "" Then
    lstrSQL = lstrSQL + " where 日期 >= " + lstrDate + " Order by 班次号,日期;"
  End If
  
  adoPrimaryRS.Open lstrSQL, db, adOpenStatic, adLockOptimistic  Dim oText As TextBox
  For Each oText In Me.Text1
    Set oText.DataSource = adoPrimaryRS
  Next
End Sub
Private Sub cmdUpdate_Click()
  On Error GoTo UpdateErr  adoPrimaryRS.UpdateBatch adAffectAll  mbEditFlag = False
  mbAddNewFlag = False
  SetButtons True
  mbDataChanged = False
    
  Exit Sub
UpdateErr:
  MsgBox Err.Description
End Sub