两段程序几乎一样,为什么结果不同?
spr79 2003-04-04 12:49:27 我再对一个数据库进行条件查找时.想通过出发label_click或MonthView1_DateClick事件来找出对应日期的记录,下面是两断相关代码:
Private Sub Label1_Click(Index As Integer)
Dim Mydate As String
On Error GoTo Myerror
dbname = App.Path
If Right$(dbname, 1) <> "\" Then dbname = dbname & "\"
dbname = dbname & "Rjzy.mdb"
Data1.DatabaseName = dbname
Data1.Connect = "Access 2000;"
Data1.RecordsetType = 1
Mydate = Year(Date) & "-" & Month(Date) & "-" & (Index + 1)
Data1.RecordSource = " select * from " & Namer & " where( 日期 = #" & Mydate & "#)"
RichTextBox1.DataField = "内容"
Text1.DataField = "日期"
Text2.DataField = "时间"
Combo3.DataField = "星期"
Combo4.DataField = "天气"
Data1.Refresh
MsgBox Mydate & "你写了" & Data1.Recordset.RecordCount & "日记!"
Timer1.Enabled = False
Exit Sub
Myerror:
If Err.Number = 3021 Then
MsgBox Mydate & "你没有写日记!"
End If
On Error GoTo 0
End Sub
上面折断代码能够运行,并在richtextbox等控件中显示记录内容.
Private Sub MonthView1_DateClick(ByVal DateClicked As Date)
Dim Mydate As String
dbname = App.Path
If Right$(dbname, 1) <> "\" Then dbname = dbname & "\"
dbname = dbname & "Rjzy.mdb"
Data1.DatabaseName = dbname
Data1.Connect = "Access 2000;"
Data1.RecordsetType = 1
Mydate = MonthView1.Value
Data1.RecordSource = " select * from " & Namer & " where( 日期 = #" & Mydate & "#)"
On Error GoTo Myerror
RichTextBox1.DataField = "内容"
Text1.DataField = "日期"
Text2.DataField = "时间"
Combo3.DataField = "星期"
Combo4.DataField = "天气"
Data1.Refresh
Timer1.Enabled = False
MonthView1.Visible = False
Exit Sub
Myerror:
If Err.Number = 3021 Then
MsgBox "这一天你没有写日记!"
End If
On Error GoTo 0
End Sub
这一段就不能够再richtextbox等控件中显示记录内容.
请高手们看一下是不是mydate=monthview1.value这存在错误.
另外,第一段也不是完全正确,当查找的条件(日期)再数据库记录中不存在时,即没有找到条件所要求的记录后,再次查找时,就是数据库中存在的记录也找不到了,我怀疑是在没有找到后,记录指针到了.EOF处,敢问老大们,小弟该怎么办?