愚人节过完了,还是把标题改了,希望对大家有用。
原 [灌水] 愚人节愚人
只有两句话,但是看看还是要回复地。

这两句话都是建立在狐爸的动态加减表的功能上的
1、可以重新审视模块化设计的方法了
前提: 1)如果我们在项目之初,首先建立模块表,包含每一个模块运行所需的支持表名。
2)如果我们对模块的命名有一个合适的分类,如 通用模块、专用模块
3)如果我们有一个只要切换主表就能自动打开的共有窗体,让我们对模块进行选择,按模块加载卸载表。
结果: 我们的设计界面会很清爽,只有当前和通用模块的表、关联
提示: 命名方式很重要。
提取当前表名和字段名并不复杂。
这些工作在权限管理中,本来就是要做的,只不过做在前面而已。
在实际使用中,本来就应该按模块整体加卸载。
2、可以重新审视动态数据源的方式了
前提: 1)系统启动时,外部表一律不加载。
2)必须有一张内部表加载
3)在本地建立一个空的Access数据库,启动时将数据源指向它。(如果没有,马上建一个也无妨)
结果: 因为只加载内部表,启动时只检查数据源是否存在,是否可以联通,因此不会报错。
后续可以通过删除数据源,马上新建同名数据源的方式来定位,然后加载相对应模块的表。
由于只加载一个内部表,启动速度回提高,用户体验会改善。
放一个动态数据源测试
测试语句,命令窗口
Dim s As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Documents and Settings\Administrator\桌面\动态数据源
测试\真表\多表统计.mdb;Persist Security Info=False" ‘记得换做真实路径,不一定在项目文件夹下
If Connections.Contains("ss") Then
Connections.Delete("ss")
End If
Connections.add("ss",s)
If DataTables.Contains("订单") = False Then
DataTables.Load("订单")
End If
[此贴子已经被作者于2015/10/4 12:43:57编辑过]