以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  提取数据库名称的部分字段作为状态栏的年度显示  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=144319)

--  作者:lfz123
--  发布时间:2019/12/17 9:12:00
--  提取数据库名称的部分字段作为状态栏的年度显示
我的数据库是甲公司2018.MDB 和 甲公司2019.MDB 我想在切换数据库时在状态栏上自动显示连接数据库的会计年度:2018或2019,我先定义了一个y的string的全局变量,然后在不同事件中写了如下代码:
BeforeConnectOuterDataSource事件中
If e.Name = "shxy" Then
    Dim dlg As New OpenFileDialog
    dlg.Filter= "Access文件|*.mdb"
    dlg.InitialDirectory = ProjectPath
    If dlg.ShowDialog = DialogResult.Ok Then
        Dim s As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & dlg.FileName & ";Persist Security Info=False"
        e.ConnectionString = s
        Dim idx As Integer = s.IndexOf("Data Source=")
        Dim idx2 As Integer = s.IndexOf(";",idx)
        vars("y") = s.SubString(idx+12,idx2 - idx-12)
        vars("y") = vars("y").SubString(vars("y").Length - 8)
        vars("y") = vars("y").SubString(0,4)
        MessageBox.Show(vars("y")) \'结果就是 2018
    End If
End If

AfterOpenProject事件中:

StatusBar.Message1 =  "会计年度:" & vars("y")

StatusBar.DefaultMessage = StatusBar.Message1


--  作者:有点蓝
--  发布时间:2019/12/17 9:44:00
--  
把获取年度的代码放到afteropenproject。通过这里获取连接字符串:http://www.foxtable.com/webhelp/topics/1943.htm