【发布时间】:2015-05-29 01:19:35
【问题描述】:
我最近拆分了我的数据库。我的表单是一个带有Tab 的日历,用于月视图、周视图和日视图,分别有 42、7 和 7 个子表单。所有这些子表单都是未绑定的。当一个选项卡被选中时,该选项卡中的所有子表单都会被分配一个ControlSource,而所有其他子表单的ControlSource 都会被清除。
月视图是唯一一个在加载 23 个子表单后获得Error 3048: Cannot open any more databases. 的视图(Tab 之外还有一些标签、列表和按钮,但我认为它们并不重要)。
选择月视图选项卡时,会发生以下操作:
- 一个 42x2 的数组填充了
Long日期信息 - 所有子表单都被清除其
SourceObject - 对于选定选项卡中的所有子表单:分配其
SourceObject,然后调用一个函数(位于子表单中)给Filter本身。在这个函数中,另一个函数被调用来根据一些标准计算子表单中的记录数。这里创建了一个数据库和记录集,经过多次传递,记录集为Closed。
子表单包含几个文本框,其中一个包含用于着色的条件格式。它的记录源是查询:
SELECT tblTask.JobNum, tblJob.JobNum, tblTask.Sequence, tblJob.Closed, tblJob.Certified, tblEstimator.SortID, tblDivision.SortID, tblJob.EstimatorID, tblTask.DivisionID, tblJob.JobSite, tblJob.Customer, tblJob.Closed, tblTask.Item, tblTask.ItemDescription, tblTask.StartDate, tblTask.EndDate, tblTask.WeekendWork, tblEstimator.EstimatorNum & "-" & [FirstName] & " " & [LastName] & "\20" & Mid([tblJob].JobNum,3,2) & " JOBS\" AS JobMidFilePath
FROM (tblEstimator RIGHT JOIN tblJob ON tblEstimator.ID = tblJob.EstimatorID) RIGHT JOIN (tblDivision RIGHT JOIN tblTask ON tblDivision.ID = tblTask.DivisionID) ON tblJob.JobNum = tblTask.JobNum
WHERE (((tblJob.Closed)=False))
ORDER BY tblTask.JobNum, tblTask.Sequence, tblTask.StartDate, tblDivision.SortID;
目前,此查询返回 521 条记录。
预计我的表单不能处理所有这些吗?或者有没有办法提高我的表格效率?我非常不知道该怎么做,因为我需要加载所有 42 个子表单。
如果您需要更多信息,请告诉我。提前致谢!
【问题讨论】:
-
您连接到多少个后端数据库?只有一个,还是很多?如果您自己运行问题“月视图”选项卡,它是否总是有效?
-
只有一个后端数据库。拆分数据库后,月视图选项卡从未完全正常工作,即使我删除了其他选项卡。现在它加载了 29 个子表单,然后我得到一个弹出窗口,说我不能再打开任何数据库了。
-
这 42 个子表单是否都是读/写的,还是其中一些(或大部分)是只读的?
-
所有 42 个子表单(从相同的 1 个表单中提取)已将允许添加、删除和编辑设置为“否”,以使其只读。有没有更好的方法让它只读?