我正在使用 MS Access 创建一个非常轻量级的 CRM 工具(MS Access 基本上是唯一的选择,因为我被要求在没有超出人工成本的情况下这样做,并且除了网络驱动器上的空间之外没有服务器或基础架构支持)。
我目前正在处理任务分配表,经理可以将特定的客户联系任务分配给客户服务代表 (CSR)。我有一个表格。在该表格上有九行 - 每个 CSR 一个 - 和 9 列 - 每个任务一个。经理通过填写复选框然后单击保存来分配任务。然后将此数据保存到任务分配表中。现在,CSR 名称和当前分配的标签和初始值由 DLookups 以编程方式提取 - 每个控制对象一个(90 行)。然后通过“Do While Not r.EOF/r.MoveNext”(其中 r 是表中的记录集)循环(另外 90 行)将分配写入表。
我的问题是这创建了很多我不满意的废话代码。这不容易扩展,看起来像狗屎。我想要的是能够将每一行数据字段(CSR 的名称作为文本框,将它们的 9 个分配作为检查控件)分组为一个组,以便我可以以编程方式迭代该组。
我想要的是将每组 10 个字段组合在一起,然后能够执行以下操作:
Private Sub Form_Open(cancel As Integer)
Dim db As DAO,Database
Dim r as DAO.Recordset
Dim CSR as TaskGrouping 'Where TaskGrouping is the new group name thing I have created
Set db = CurrentDb
Set r = db.OpenRecordset("tbl_TaskAssignments")
r.MoveFirst
For Each CSR in CSRGrouping
CSR.CSRName = r.Fields("CSRName")
CSR.Task1 = r.Fields("Task1")
CSR.Task9 = r.Fields("Task9")
r.MoveNext 'I am ignoring the case where I need to ensure that r.EOF is not reached.
Next CSR
End Sub