-- 作者:13861676007
-- 发布时间:2018/6/26 22:11:00
-- 区分外部数据库
请教老师:
我使用的Access外部数据库,因多用户需要,复制多个不同access 名称的数据库,连接的数据源名称是相同的。
我通过下列代码,打开并替换数据源,现需判断如是不同结构的数据库,不予以执行,请教如何能判断结构不同?
Dim dlg As New openFileDialog \'定义一个新的SaveFileDialog Dim c1 As String = projectpath dlg.initialDirectory = c1 dlg.Filter= "Access文件|*.mdb" \'设置筛选器 If dlg.ShowDialog = DialogResult.Ok Then \'如果用户单击了确定按钮 Dim s As String ="" \'遍历当前属于此数据源的表 For Each dt As DataTable In DataTables If dt.C Then s += "|" & dt.name End If Next s = s.Trim("|") \'卸载表 DataTables.Unload(s) Dim s1 As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & dlg.FileName & ";Persist Security Info=False" Connections.Delete("cw") Connections.add("cw",s1) DataTables.load(s) \' Forms("开始界面").show Tables("凭证录入表").Cols("科目").DropForm = "凭证录入辅助下拉窗口" \'客户表的县市列也采用我们设计的下拉窗口输入数据. Tables("凭证录入表").Cols("摘要").DropForm ="凭证录入辅助摘要下拉窗口" Tables("负债表").Cols("报表分类B").Combolist = DataTables("科目").GetComboListString("报表分类","","科目代码") Tables("负债表").Cols("报表分类A").Combolist = DataTables("科目").GetComboListString("报表分类","","科目代码") \' Forms("新建账簿").open For Each dr2 As Row In Tables("数据源表内").rows dr2("上次登录1") = False Next Dim dr3 As DataRow = DataTables("数据源表内").Find("数据源1 = \'" & dlg.filename & "\'") If dr3 IsNot Nothing Then dr3("上次登录1") = True Else Tables("数据源表内").AddNew Tables("数据源表内").Current("数据源1") = dlg.filename Tables("数据源表内").Current("上次登录1") = True End If Dim dr As Row = Tables("账簿启用").Rows(0) Dim c3 As String = dr("公司名称") StatusBar.Message1= "【东面软件】使用单位:" & c3 Forms("用户登录").open MainTable = Tables("a") End If
|