我有一个数据库,其子表单附加到查询,该查询中有15列。 ProjectName,CustomerName,ProjectDueDate,EngineerDueDate,ProjectComplete,EngineerComplete等字段。
我想做的是弄清楚如何通过单击操作按钮自动组织这些数据。操作按钮会显示“按完成列出”,这将确保项目完成的所有字段都检查为是保留在底部,并从那里按截止日期组织它们(ProjectDueDate& EngineerDueDate),其中现在距离较近,列表中的较高者。
我将如何做到这一点?
我在Windows 7上安装了Access 2013.
查询名称为SearchQ,按钮名称为ListCompleteBtn,这三个字段分别称为ProjectDueDate,EngineerDueDate和ProjectComplete。
ProjectComplete> ProjectDueDate> EngineerDueDate
所以,这里的示例列表是:
ProjectName | ProjectDueDate | ProjectComplete | EngineerDueDate |
------------------------------------------------------------------
Test1 | 25/10/2013 | [y] (check mark)|24/10/2013 |
------------------------------------------------------------------
Test2 | 30/10/2013 | [n] (blank box) |26/10/2013 |
------------------------------------------------------------------
Test3 | 30/10/2013 | [n] |25/10/2013 |
------------------------------------------------------------------
Test4 | 25/10/2013 | [y] |25/10/2013 |
------------------------------------------------------------------
单击“按完整列表列出”时,将被格式化为此格式
ProjectName | ProjectDueDate | ProjectComplete | EngineerDueDate |
------------------------------------------------------------------
Test3 | 30/10/2013 | [n] |25/10/2013 |
------------------------------------------------------------------
Test2 | 30/10/2013 | [n] |26/10/2013 |
------------------------------------------------------------------
Test1 | 25/10/2013 | [y] |24/10/2013 |
------------------------------------------------------------------
Test4 | 25/10/2013 | [y] |25/10/2013 |
------------------------------------------------------------------
答案 0 :(得分:0)
这是一个非常基本的SQL问题,因此您可能需要考虑在Access和/或SQL简介上购买(或借用)一本书。您正在寻找的是SQL字符串的ORDER BY子句。您必须使用按钮的On_Click事件设置子窗体的RecordSource。类似的东西:
Private Sub ListCompleteBtn_Click()
Forms![MyForm].[MySubform].Form.RecordSource = "Select * from MyQuery ORDER BY ProjectComplete, ProjectDueDate, EngineeringDueDate ASC"
Forms![MyForm].[MySubform].Form.Refresh
End Sub
显然,[MyForm]是主窗体的名称(放入括号时取出括号),[MySubform]是子窗体的名称(使用与上面相同的替换)。在适当的位置编辑SQL语句的其余部分。
如果要更改排序顺序,请将“ASC”(升序的缩写)更改为“DESC”(降序的缩写)