0

我正在创建一个小应用程序来跟踪我的销售活动,但我被困在记录数据的表单上。到目前为止,我已经花了大约 9 或 10 个小时来研究和尝试事物,所以我需要一点帮助。

我有一张表格,记录了我在某一天进行了多少销售电话、电子邮件、会议、提案等。“日期”是我的主键。该表格应该可以帮助我输入/编辑数据。

我的基本形式如下所示:

哎呀!Stack 不允许我发布图片——我可以通过电子邮件将其发送给在hammerwings.com 上向 steve 提问的任何人

有一个小日历弹出窗口可以选择不同的数据输入日期:

哎呀!Stack 不允许我发布图片——我可以通过电子邮件将其发送给在hammerwings.com 上向 steve 提问的任何人

我可以在弹出窗口中选择一个新日期,当我单击“设置日期”按钮时,它将 (1) 将记录保存在跟踪项目表单中 (2) 关闭跟踪项目表单 (3) 重新打开跟踪项目表单并将日期设置为我在弹出窗口中选择的日期。

问题是它想用该日期创建一条新记录,而不是编辑现有记录。我的现有数据未加载,保存时出现重复的主键错误。

这是不起作用的:

(1) Form_DailyItemsTracked.Date = CalObject.Value '这会改变父窗体中的日期而不刷新任何数据

(2) 关闭然后重新打开选中记录的父窗体 这将打开设置日期的父窗体,但不加载现有记录——它仍然想创建一条新记录

DoCmd.OpenForm "DailyItemsTracked", , , "Date = " & CalObject.Value

(日期是表中字段的名称)

这些都会引发某种类型的语法错误。MyDate 是日期字段控制的表单上文本框的名称。我已经验证 CalObject.Value 在弹出窗口中设置正确,并且它是 ShortDate 格式,与 MyDate 文本框和 Date 字段相同。

DoCmd.OpenForm "DailyItemsTracked", , , "[MyDate] = '" & Format(CalObject.Value, "Short Date") & "'"

DoCmd.OpenForm "DailyItemsTracked", , , "[MyDate] = " & Format(CalObject.Value, "Short Date")

DoCmd.OpenForm "DailyItemsTracked", , , "[Date] = " & CalObject.Value

DoCmd.OpenForm "DailyItemsTracked", , , "Tracked_items.[Date] = " & CalObject.Value

DoCmd.OpenForm "DailyItemsTracked", acNormal, , , acFormEdit, acWindowNormal, CalObject.Value

DoCmd.OpenForm "DailyItemsTracked", , , "MyDate = " & CalObject.Value

(3)

Forms!DailyItemsTracked.Requery

这也会引发语法错误。

(4) 我还创建了一个以日期为参数的查询,并用查询控制了表单。我可以打开它,但它仍然想创建一个新记录。

(5) 我添加了一个自动编号字段并将其设为主键,并在表单上隐藏了一个控件。这消除了重复的主键错误,但是当我打开表单时它仍然没有加载现有数据。

是否无法打开选择了特定记录的表单?或者如果日期是控制就不可能吗?

有没有一种完全不同的方法可以更简单?

谢谢你的帮助!!!

4

1 回答 1

1

您的日期分隔符语法错误。试试这个。

DoCmd.OpenForm "DailyItemsTracked", , , "Date = #" & CalObject.Value & "#"
于 2013-02-08T04:24:57.107 回答