使用查询进行子表单数据操作

时间:2014-03-04 14:17:28

标签: sql vba ms-access subform

Calendar

我正在开发一个关于访问的自定义日历。上面的图片是我想要做的事情的片段,每个“盒子”是一个表单[cell]的子表单,它链接到一个具有约会作为条目的表。我希望星期一下的所有子表单都显示星期一的约会,周二的约会等等,以便有一个每周的约会日历。我必须指出,所有这些子表单都具有相同的形式[单元格]我只是希望它们显示不同的记录。

我一直在尝试更新/更改子窗体中的加载数据但没有成功,它给我一个sql语句错误,不识别它的sql语句。

此外,我不想为每个子表单都有一个SQL语句,因为它将是25个(每天5个子表单)sql查询运行,并且我确定它将真正减慢程序。如何使其更高效,使用更少的sql语句。这是我的第一个单元格的初始代码

Dim sqlstring As String
sqlstring = "SELECT CallB_Schedule.InternName, CallB_Schedule.ClientName,              CallB_Schedule.ClientPhone, CallB_Schedule.Time FROM CallB_Schedule WHERE  (WEEKDAY(CallB_Schedule.InternName) = 2)"
DoCmd.RunSQL (sqlstring)
Forms!Schedule!schedule_cell_monday.Form!InternName = InternName
Forms!Schedule!schedule_cell_monday.Form!Time = Time
Forms!Schedule!schedule_cell_monday.Form!ClientName = ClientName
Forms!Schedule!schedule_cell_monday.Form!ClientPhone = ClientPhone

如果Schedule是主要表单,schedule_cell_monday是Schedule

上的子表单之一

1 个答案:

答案 0 :(得分:0)

您没有在您给出的代码中设置子表单的记录源。你可以替换

DoCmd.RunSQL (sqlstring)

Forms!Schedule!schedule_cell_monday.Form.recordsource = sqlstring

运行sql语句的代码通常保留用于操作查询。

相关问题