查询按钮组织

时间:2013-10-24 16:54:44

标签: sql ms-access

我有一个数据库,其子表单附加到查询,该查询中有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       |
------------------------------------------------------------------

1 个答案:

答案 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”(降序的缩写)