以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  项目打开以后,选择数据源,这个提示代表什么意思啊  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=141043)

--  作者:lfz123
--  发布时间:2019/9/20 10:20:00
--  项目打开以后,选择数据源,这个提示代表什么意思啊
项目打开以后,选择数据源,这个提示代表什么意思啊

图片点击可在新窗口打开查看此主题相关图片如下:错误提示1.png
图片点击可在新窗口打开查看


--  作者:有点蓝
--  发布时间:2019/9/20 10:50:00
--  
项目打开以后,选择数据源?怎么做的?

表格一旦加载,就不能直接代码改数据源的,否则已经加载的表格就会出错

--  作者:lfz123
--  发布时间:2019/9/20 13:46:00
--  回复:(有点蓝)项目打开以后,选择数据源?怎么做的?...

图片点击可在新窗口打开查看此主题相关图片如下:错误提示2.png
图片点击可在新窗口打开查看
前面一直都正常的,用了很久了
提示错误事件代码:
Select Case e.Link.Name
    Case "选择数据源"
        Forms("请选择数据源").Open()
    Case "目录树表"
        Forms("目录树表").Open()        
    Case "进项发票"
        If DataTables.Contains("进项发票") = False Then
            DataTables.Load("进项发票")
            Forms("进项发票").Open()
            MainTable = Tables("进项发票")
        Else
            Forms("进项发票").Open()
            MainTable = Tables("进项发票")
        End If        
    Case "销项发票"
        If DataTables.Contains("销项发票") = False Then
            DataTables.Load("销项发票")
            Forms("销项发票").Open()
            MainTable = Tables("销项发票")
        Else
            Forms("销项发票").Open()
            MainTable = Tables("销项发票")
        End If        
    Case "银行流水"
        If DataTables.Contains("银行流水") = False Then
            DataTables.Load("银行流水")
            Forms("银行流水").Open()
            MainTable = Tables("银行流水")
        Else
            Forms("银行流水").Open()
            MainTable = Tables("银行流水")
        End If        
    Case "资料"
        Forms("公司资料").Open()
        MainTable = Tables("公司信息")
        
    Case "普票"
        If DataTables.Contains("普票") = False Then
            DataTables.Load("普票")
            Forms("普票").Open()
            MainTable = Tables("普票")
        Else
            Forms("普票").Open()
            MainTable = Tables("普票")
        End If
    Case "社保缴费通知单"
        If DataTables.Contains("社保缴费通知单") = False Then
            DataTables.Load("社保缴费通知单")
            MainTable = Tables("社保缴费通知单")
        Else
            MainTable = Tables("社保缴费通知单")
        End If
    Case "个人缴费信息"
        If DataTables.Contains("个人缴费信息") = False Then
            DataTables.Load("个人缴费信息")
            Forms("个人缴费信息").Open()
            MainTable = Tables("个人缴费信息")
        Else
            Forms("个人缴费信息").Open()
            MainTable = Tables("个人缴费信息")
        End If
    Case "人员信息"
        If DataTables.Contains("人员信息") = False Then
            DataTables.Load("人员信息")
            Forms("人员信息").Open()
            MainTable = Tables("人员信息")
        Else
            Forms("人员信息").Open()
            MainTable = Tables("人员信息")
        End If
    Case "工资表"
        If DataTables.Contains("工资表") = False Then
            DataTables.Load("工资表")
            Forms("工资表").Open()
            MainTable = Tables("工资表")
        Else
            Forms("工资表").Open()
            MainTable = Tables("工资表")
        End If
    Case "固定资产台账"
        If DataTables.Contains("固定资产台账") = False Then
            DataTables.Load("固定资产台账")
            Forms("固定资产台账").Open()
            MainTable = Tables("固定资产台账")
        Else
            Forms("固定资产台账").Open()
            MainTable = Tables("固定资产台账")
        End If
    Case "折旧表"
        If DataTables.Contains("折旧表") = False  Then
            DataTables.Load("折旧表")
            Forms("折旧表").Open()
        Else
            Forms("折旧表").Open()
            MainTable = Tables("折旧表")
        End If
        
    Case "会计科目"
        Forms("会计科目").Open()
        MainTable = Tables("会计科目")
        
    Case "常用凭证"
        If DataTables.Contains("常用凭证") = False Then
            DataTables.Load("常用凭证")
            Forms("常用凭证").Open()
            MainTable = Tables("常用凭证")
        Else
            Forms("常用凭证").Open()
            MainTable = Tables("常用凭证")
        End If
        
    Case "凭证"
        Forms("凭证列表").Open()
        MainTable = Tables("凭证")
    Case "凭证明细"
        Forms("凭证明细").Open()
        MainTable = Tables("凭证明细")
    Case "科目汇总"
        Forms("科目汇总").Open()
        MainTable = Tables("科目汇总")
    Case "明细账"
        If DataTables.Contains("明细账") = False Then
            DataTables.Load("明细账")
            Forms("明细账").Open()
            MainTable = Tables("明细账")
        Else
            Forms("明细账").Open()
            MainTable = Tables("明细账")
        End If
    Case "现金流科目"
        If DataTables.Contains("现金流科目") = False Then
            DataTables.Load("现金流科目")
            Forms("现金流科目").Open()
            MainTable = Tables("现金流科目")
        Else
            Forms("现金流科目").Open()
            MainTable = Tables("现金流科目")
        End If
    Case "税金统计"
        If DataTables.Contains("税金统计") = False Then
            DataTables.Load("税金统计")
            Forms("税金统计").Open()
            MainTable = Tables("税金统计")
        Else
            Forms("税金统计").Open()
            MainTable = Tables("税金统计")
        End If
    Case "资产负债表"
        If DataTables.Contains("资产负债表") = False Then
            DataTables.Load("资产负债表")
            Forms("资产负债表").Open()
            MainTable = Tables("资产负债表")
        Else
            Forms("资产负债表").Open()
            MainTable = Tables("资产负债表")
        End If
    Case "利润表"
        If DataTables.Contains("利润表") = False Then
            DataTables.Load("利润表")
            Forms("利润表").Open()
            MainTable = Tables("利润表")
        Else
            Forms("利润表").Open()
            MainTable = Tables("利润表")
        End If
    Case "现金流量表"
        If DataTables.Contains("现金流量表") = False Then
            DataTables.Load("现金流量表")
            Forms("现金流量表").Open()
            MainTable = Tables("现金流量表")
        Else
            Forms("现金流量表").Open()
            MainTable = Tables("现金流量表")
        End If
End Select

--  作者:有点蓝
--  发布时间:2019/9/20 14:20:00
--  
Forms("请选择数据源")afterload写了什么代码?
--  作者:lfz123
--  发布时间:2019/9/20 14:40:00
--  回复:(有点蓝)Forms("请选择数据源")afterload写了...
Forms("请选择数据源")afterload写了:
Dim str As String
For Each File As String In FileSys.GetFiles(projectpath)
    If file.Contains(".MDB") = True Then
        str = str  & "|" & FileSys.GetName(file)
        str = str.Trim("|")
        str = str.Replace(".MDB","")
    End If
Next
Dim cmb As WinForm.ComboBox = e.Form.Controls("ComboBox1")
cmb.ComboList = str

打开数据源按钮click代码:
Dim str As String = e.Form.controls("combobox1").text
If str = Nothing Then
    msgbox("请选择数据源")
Else
    Syscmd.Project.Open(ProjectFile, "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & ProjectPath & str & ".mdb;Persist Security Info=False")
End If

项目事件的BeforeConnectOuterDataSource事件代码:
If OpenFileArgs.Count = 0 Then
    \'第一次连接的时候,需要将数据源连接到你项目的Access数据库,可以是一个空的数据库
    Dim conn As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source={0};Persist Security Info=False"
    Dim file As String = e.ProjectPath & "test.mdb"
    e.ConnectionString = CExp(conn,file)
Else
    \'然后设置成新的数据库.
    e.ConnectionString = OpenFileArgs(0)
End If

虽然有这个错误提示,但是继续的话不会有任何操作上的影响

--  作者:有点蓝
--  发布时间:2019/9/20 14:56:00
--  
是有问题,已反馈
--  作者:lfz123
--  发布时间:2019/9/20 15:20:00
--  回复:(有点蓝)是有问题,已反馈
老师,这个问题好像也是我升级到9月18后的版本跳出来的
--  作者:lfz123
--  发布时间:2019/9/24 9:37:00
--  回复:(有点蓝)是有问题,已反馈
老师,今天我升级到9-25号的版本,这个问题还是存在喔!
--  作者:有点蓝
--  发布时间:2019/9/24 10:28:00
--  
这样用,加一个e.Cancel = True


打开数据源按钮click代码:
Dim str As String = e.Form.controls("combobox1").text
If str = Nothing Then
    msgbox("请选择数据源")
Else
    e.Cancel = True
    Syscmd.Project.Open(ProjectFile, "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & ProjectPath & str & ".mdb;Persist Security Info=False")
End If