我正在寻找以下场景的最佳实践/解决方案。
我们有一个允许配置“global_settings”的多用户 ms 访问数据库。这些设置适用于所有用户。此数据当前存储在表“tbl_global_settings”中。(我们有一个表 user_settings 来处理个别的东西)
目前,表的结构是单个记录,其字段名称代表特定设置(可怕,我知道)。例子
tbl_global_settings.reminders_red = "7"
tbl_global_settings.reminders_yellow = "15"
这些值用于系统提醒的条件格式到期日期 - 当提醒在 15 天内到期时,它将显示为黄色,在 7 天内到期时将显示为红色。
加载数据库时,会加载一个名为 frm_global_settings 的隐藏表单,其中包含表 tbl_global_settings 中的所有字段。然后通过引用表单字段,可以根据需要轻松访问这些内容。
这非常完美。然而,随着这个系统在过去几年的发展,字段的数量增加了(60+),这似乎不是最好的解决方案。
我正在考虑将其移至使用 Key、Parameter 样式方法的更窄的表中。这让我很担心,因为在 MS Access 中使用 DLookup() 似乎不断地应对低效率的爆破。例子:
Key | Paramater
---------------------------------
reminders_red | 7
reminders_yellow | 14
这些值很少更改但经常被调用,我想知道是否有人可以评论可能在启动时将这些数据加载到全局变量或全局数组中?例子:
Public remindersRed As Integer
Public remindersYellow As Integer
remindersRed = nz(Dlookup("parameter","global_settings", "[key] = '" & "reminders_red" & "'"))
etc.
谢谢