请教老师:
我使用的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