第一次发帖...我确定这可能很简单,所以我提前道歉。这实际上是我第一次使用VBA而且我遇到了问题。尽管我尝试过任何事情,但我已经搜索并尝试了多项内容,但仍然存在同样的问题。
我已将数据库移至另一台计算机,现在我收到运行时错误13.调试人员在第28行说:
Me!odf = CVDate("01.01.1800")
当您点击按钮打开新窗口以使用用户设置的特定条件搜索数据库时。
以下是代码:
VERSION 1.0 CLASS
BEGIN
MultiUse = -1 'True
END
Attribute VB_Name = "Form_Pregledt"
Attribute VB_Creatable = True
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Option Compare Database
Private Sub Angioloski_Click()
Forms!PREGLEDT!Pregledf.Form!Idpregleda.RowSource = "SELECT [Qpregledt].[Idpregleda], [Qpregledt].[Datum], [Qpregledt].[Prezime i ime], [Qpregledt].[Godina rodjenja], [Qpregledt].[Adresa], [Qpregledt].[Telefon], [Qpregledt].[Faks], [Qpregledt].[e-mail] FROM [Qpregledt] WHERE [VRSTA PREGLEDA]=FORMS!PREGLEDT!VRSTA AND [ANGIOLOSKI]=FORMS!PREGLEDT!ANGIOLOSKI and datum>=forms!pregledt!odf and datum<=forms!pregledt!dof "
Forms!PREGLEDT!Pregledf.Form!Idpregleda.Requery
Forms!PREGLEDT!Pregledf.Form!ukupno.Caption = "Ukupno: " & Forms!PREGLEDT!Pregledf.Form!Idpregleda.ListCount
Me.Refresh
End Sub
Private Sub do_AfterUpdate()
If IsNull(Me!od) = True Then
Me!odf = CVDate("01.01.1800")
Else
Me!odf = Me!od
End If
If IsNull(Me!do) = True Then
Me!dof = CVDate("01.01.2800")
Else
Me!dof = Me!do
End If
Forms!PREGLEDT!Pregledf.Form!Idpregleda.Requery
Forms!PREGLEDT!Pregledf.Form!ukupno.Caption = "Ukupno: " & Forms!PREGLEDT!Pregledf.Form!Idpregleda.ListCount
Me.Refresh
End Sub
Private Sub Form_Load()
Forms!PREGLEDT!Pregledf.Form!ukupno.Caption = "Ukupno: " & Forms!PREGLEDT!Pregledf.Form!Idpregleda.ListCount
Me!odf = CVDate("01.01.1800")
Me!dof = CVDate("01.01.2800")
Forms!PREGLEDT!Pregledf.Form!Idpregleda.Requery
Forms!PREGLEDT!Pregledf.Form!ukupno.Caption = "Ukupno: " & Forms!PREGLEDT!Pregledf.Form!Idpregleda.ListCount
Me.Refresh
End Sub
Private Sub od_AfterUpdate()
If IsNull(Me!od) = True Then
Me!odf = CVDate("01.01.1800")
Else
Me!odf = Me!od
End If
If IsNull(Me!do) = True Then
Me!dof = CVDate("01.01.2800")
Else
Me!dof = Me!do
End If
Forms!PREGLEDT!Pregledf.Form!Idpregleda.Requery
Forms!PREGLEDT!Pregledf.Form!ukupno.Caption = "Ukupno: " & Forms!PREGLEDT!Pregledf.Form!Idpregleda.ListCount
Me.Refresh
End Sub
Private Sub vrsta_Click()
If Me!vrsta = 1 Then
Me!Angioloski.Enabled = True
Else
Me!Angioloski.Enabled = False
Me!Angioloski = Null
End If
If IsNull(Me!vrsta) = False Then
If IsNull(Me!Angioloski) = True Then
Forms!PREGLEDT!Pregledf.Form!Idpregleda.RowSource = "SELECT [Qpregledt].[Idpregleda], [Qpregledt].[Datum], [Qpregledt].[Prezime i ime], [Qpregledt].[Godina rodjenja], [Qpregledt].[Adresa], [Qpregledt].[Telefon], [Qpregledt].[Faks], [Qpregledt].[e-mail] FROM [Qpregledt] WHERE [VRSTA PREGLEDA]=FORMS!PREGLEDT!VRSTA and datum>=forms!pregledt!odf and datum<=forms!pregledt!dof "
Else
Forms!PREGLEDT!Pregledf.Form!Idpregleda.RowSource = "SELECT [Qpregledt].[Idpregleda], [Qpregledt].[Datum], [Qpregledt].[Prezime i ime], [Qpregledt].[Godina rodjenja], [Qpregledt].[Adresa], [Qpregledt].[Telefon], [Qpregledt].[Faks], [Qpregledt].[e-mail] FROM [Qpregledt] WHERE [VRSTA PREGLEDA]=FORMS!PREGLEDT!VRSTA AND [ANGIOLOSKI]=FORMS!PREGLEDT!ANGIOLOSKI and datum>=forms!pregledt!odf and datum<=forms!pregledt!dof"
End If
End If
Forms!PREGLEDT!Pregledf.Form!Idpregleda.Requery
Forms!PREGLEDT!Pregledf.Form!ukupno.Caption = "Ukupno: " & Forms!PREGLEDT!Pregledf.Form!Idpregleda.ListCount
Me.Refresh
End Sub
Private Sub izlaz_Click()
'On Error GoTo Err_izlaz_Click
On Error Resume Next
DoCmd.Close
Exit_izlaz_Click:
Exit Sub
Err_izlaz_Click:
MsgBox Err.Description
Resume Exit_izlaz_Click
End Sub
答案 0 :(得分:0)
正如蒂姆在评论中所说,你的日期分隔符是错误的。但是,我个人首先要避免字符串含糊不清(什么日期是01/03/02?)并使用DateSerial
函数:
Me!odf = DateSerial(1800, 1, 1)