在Access 2016中无法在Access 2016中编写的MS Access VBA表单日期选择器请告知如何在Access 2016中转换或使其工作

时间:2017-10-04 11:48:03

标签: vba date access-vba

我在Windows 10上运行32位Office 2016。

当我尝试执行这段代码时:

Private Sub Form_Load() 
    If DatePart("ww", Format("01/" & Month(Date) & "/" & Year(Date), "dd/mm/yyyy", vbUseSystemDayOfWeek), vbThursday) = DatePart("ww", Date, vbThursday) Then
        FromDate.Value = Format("01/" & Month(Date) - 1 & "/" & Year(Date), "dd/mm/yyyy")
        ToDate.Value = DateAdd("d", -1, Format("01/" & Month(Date) & "/" & Year(Date), "dd/mm/yyyy"))
    Else
        FromDate.Value = Format("01/" & Month(Date) & "/" & Year(Date), "dd/mm/yyyy")
        ToDate.Value = DateAdd("d", -1, Format("01/" & Month(Date) + 1 & "/" & Year(Date), "dd/mm/yyyy"))
    End If
    If CountRows("rpt_all_hours") > 0 Then
        cmdClearTable.Enabled = True
        ViewTable.Enabled = True
    Else
        cmdClearTable.Enabled = False
        ViewTable.Enabled = False
    End If
End Sub

我收到错误:

  

运行时错误2683此控件中没有对象

代码在此行停止:

FromDate.Value = Format("01/" & Month(Date) - 1 & "/" & Year(Date),"dd/mm/yyyy")

.mdb文件将表单导入Access 2016数据库时,我也遇到了Active X错误:

  

在您的某个表单或报告上加载ActiveX控件时出错。

我做错了什么?

1 个答案:

答案 0 :(得分:1)

哦,我的 - 代码需要彻底清理。 从不使用字符串处理进行日期操作,没有例外。

至于日期选择器 - 它内置于较新的Access版本中。只需设置文本框的日期格式,右侧会显示一个小按钮,用于打开日期选择器。

然后删除旧的ActiveX控件。