打开记录集出现问题,帮我看看这段代码问题在哪里。
当数据库中没有任何记录在里面的时候,可以正常运行。可如果数据库中有记录的话,就不行了。rs.open这一句运行不了,显示准则运算式的资料类型不符。谁能帮我指出这一句错在哪里了?
我想明白这个"LIKE"到底是怎么样用的?能不能把这个也写出来。
Dim db As ADODB.Connection
Dim rs As ADODB.Recordset
Set db = New ADODB.Connection
Set rs = New ADODB.Recordset
db.Open "provider=microsoft.jet.oledb.4.0 ;" & "data source=" + App.Path + "\finance.mdb"
rs.Open "select * from order_info where or_date = '" & Text1.Text & "' and or_no LIKE 'I' order by or_no", db, adOpenStatic, adLockOptimistic
Dim strdate As String
If Month(Text1.Text) < 10 Then
If Day(Text1.Text) < 10 Then
strdate = "I" + Trim(Str(Year(Text1.Text))) + "0" + Trim(Str(Month(Text1.Text))) + "0" + Trim(Str(Day(Text1.Text)))
Else
strdate = "I" + Trim(Str(Year(Text1.Text))) + "0" + Trim(Str(Month(Text1.Text))) + Trim(Str(Day(Text1.Text)))
End If
Else
strdate = "I" + Trim(Str(Year(Text1.Text))) + Trim(Str(Month(Text1.Text))) + Trim(Str(Day(Text1.Text)))
End If
If Not rs.EOF Then
rs.MoveLast
strno = Str(Val(Right(rs.Fields("or_no"), 3)) + 1)
rs.AddNew
rs.Fields("or_no") = strdate + strno
Else
rs.AddNew
rs.Fields("or_no") = strdate + "001"
End If
rs.Fields("or_type") = True
rs.Fields("or_date") = Text1.Text
rs.Fields("or_pay") = Text3.Text
rs.Fields("or_use") = Combo1.Text
rs.Fields("or_memo") = Text4.Text
rs.Update
rs.Close
db.Close
db = "nothing"