5.1 系统技术要点
一、时间范围的查询
时间范围的查询和一般字符的查询并不一样。一般字符的查询使用 SQL 语句 “SELECT * FROM jiating where 姓名='" + ss +”即可,对于时间这样的字符使用的SQL必须是这样的格式“SELECT * FROM MANG where 日期 Between "#2/2/2002" And "2/2/2003#”。
因此使用SS定义STRING型变量用SS="#" & Text1.Text & "#"连接中间字符使用SELECT * FROM MANG where 日期 Between " + ss + " And " + ss2 + "索检记录。 二、打印查询后的记录
对于动态打印,直接使用DataReport是无法实现的。所以首先建立临时数据表 用"INSERT INTO QUERY SELECT* FROM QUERY where ", mycn, adOpenKeyset, adLockOptimistic将要打印的记录存放其中,再使用DataReport时,我通过DataEnvironment连接了一个临时数据表,该数据表中的数据根据查询条件的不同而变化,然后用Private Sub DataReport_QueryClose(Cancel As Integer, CloseMode As Integer)
Unload DataReport2
Unload DataEnvironment1
End Sub
刷新报表即可。
组合查询
实现:将查询的字段也设为变量嵌入到SQL中语句如下:
ss2 = Text2.Text
ss3 = Text3.Text
Adodc1.RecordSource = "SELECT * FROM mang where 字段1='" + ss4 + "' and 字段2='" + ss5 + "'"
Adodc1.Refresh
Private Sub Command1_Click()
denlu_name = Text1.Text
denlu_pass = Text2.Text
Dim mycn As New ADODB.Connection
Dim myrs As New ADODB.Recordset
Set myrs = New ADODB.Recordset
mycn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=rsgl.mdb;"
myrs.Open "SELECT * FROM [user] where (user.user)='" + denlu_name + "';", mycn, adOpenKeyset, adLockOptimistic
End Sub
Private Sub munchushihua_Click()
Response = MsgBox("是否初始化?", vbYesNo)
If Response = vbYes Then
Dim mycn As New ADODB.Connection '初始化
Dim myrs As New ADODB.Recordset
Set myrs = New ADODB.Recordset
mycn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=mang.mdb;"
myrs.Open "delete FROM mang ;", mycn, adOpenKeyset, adLockOptimistic
myrs.Open "delete FROM zgjl ;", mycn, adOpenKeyset, adLockOptimistic
'通过SQL语言删除表中所有记录
MsgBox "成功"
Else
Exit Sub
End If
End Sub