好吧。目标是以编程方式从窗体上的未绑定控件中获取一串数字。为什么?我有一个包含开始时间和结束时间两个控件的表单。这些控件的格式为 dd/mm/yyyy hh:dd。最终用户抱怨他们讨厌花时间在单个字段中输入日期和时间,特别是考虑到旧表单(一个糟糕的 Excel 电子表格,用户可以输入他们想输入的任何内容),只允许他们输入4 位时间。我正在尝试复制这种体验,但正如我们所知,日期和时间都包含在 Access 中的一个字段中。
这个想法是使用单独的未绑定控件为日期/时间字段提供字符串中的值。例如,一个控件将被标记为“开始时间”,并将接受 4 个数字,输入掩码为 99:99。在更新表单之前,我想从控件传递字符串不幸的是,我没有代码,但我会尝试在这里构建伪代码:
类级模块
Private Sub Form_BeforeUpdate(Cancel As Integer)
strStartTime as String
strFinishTime as String
strDate as String
rstDailyLog as recordset
Set rstDailylog = CurrentDb.OpenRecordset ("Daily Log" dbOpenDynaset)
'assign variables to unbound controls on form
strStartTime = Me![Start Time]
strFinishTime = Me![Finish Time]
'Here, I assume I begin parsing my string to the date/time field
'function to edit send the string to the actual date/time field
'Basically, copied from Microsoft Docs
Sub EditName(rstCovertString As Recordset, strStart As String, strFinish As String)
With rstConvertString
.Edit
![Start Time] = strStart
![Finish Time] = strFinish
.Update
.Bookmark = .LastModified
End With
这样做有什么影响?例如,如果绑定的表单显示一条具有未绑定值的记录,该记录将如何显示所需的数据?在构建此代码时,我才意识到保存日期/时间的字段是日期/时间数据类型?现在我真的很困惑。如果它们是不同的数据类型,我什至可以将我的开始/结束变量作为字符串发送到该控件吗?