【发布时间】:2017-06-08 14:54:28
【问题描述】:
希望有人能提供帮助?我是 Access 2016 的新手,我的任务是为我们学校的早餐和课后俱乐部建立一个非常简单的预订系统。 我有一个包含儿童列表的表(主键是 ChildID),另一个表(CLUBS)列出了 5 个可用的俱乐部,第三个表(BOOKINGS)将孩子连接到俱乐部(ChildID、ClubID、DateRequested)
我有一个简单的表格,可以让我从下拉框中选择一个孩子的名字,然后从列表中选择一个俱乐部,然后输入所需的日期。这会将记录保存到 Bookings 表中。
这很好用,但是为了使其更易于使用...我在表单中添加了未绑定的开始和结束日期字段,以便能够在一个学期内快速预订孩子...即我不必单独添加每一天,而是输入孩子的姓名,选择一个俱乐部,然后输入开始和结束日期。在预订表中创建了多条记录,其中 Child ID、Club ID 相同,但 DateRequested 字段有所不同。
我们确实需要在每个日期为孩子在 Bookings 表中存储一条记录,这样我们就可以为每一天打印一个登记册……以及开具发票/报告。
从查看 VBA...我想我需要使用 INSERT INTO 命令?是最好的方法吗?我还需要确保忽略周六/周日范围内的日期。
我非常感谢任何关于此的指导以及哪些命令最有效的指针...
【问题讨论】:
-
使用
Insert,您将需要编写一个大的SQL 字符串并立即执行它。Recordset.Addnew是另一种选择,但前者更可取。在这两种情况下,您都需要一个 VBA 循环。考虑创建一个存储过程(MS-Access 中的查询),您只需向它提供ChildId和TermId,它就会在服务器上完成这项工作。 IMO 这将是最好的选择。
标签: vba ms-access date-range ms-access-2016 multiple-records