Dim ss As New CRPT_lgty Dim sSQL As String Dim s As String sSQL = "Select * from sql离岗退养" s = "{sql离岗退养.年} = " & nSysYear & " AND {sql离岗退养.月}= " & nSysMonth MsgBox sSQL Set rsRPT = cnData.Execute(sSQL) ' rsRPT.Open sSQL, cnData, adOpenKeyset, adLockBatchOptimistic ' ss.DiscardSavedData = True ss.Database.SetDataSource rsRPT ss.RecordSelectionFormula = s
CRViewer.ReportSource = ss CRViewer.ViewReport 就是然来SQL语句的Where段,一定要将字段用{}包起来!
Dim ss As New CRPT_lgty
Dim sSQL As String
Dim s As String
sSQL = "Select * from sql离岗退养"
s = "{sql离岗退养.年} = " & nSysYear & " AND {sql离岗退养.月}= " & nSysMonth
MsgBox sSQL
Set rsRPT = cnData.Execute(sSQL)
' rsRPT.Open sSQL, cnData, adOpenKeyset, adLockBatchOptimistic
' ss.DiscardSavedData = True
ss.Database.SetDataSource rsRPT
ss.RecordSelectionFormula = s
CRViewer.ReportSource = ss
CRViewer.ViewReport
就是然来SQL语句的Where段,一定要将字段用{}包起来!
比如, {iTable.iFields} = Length(iTable.iString1 + iTable.iString2)
上面用了3个fields. 1个function Length() 和1个operator +