Foxtable(狐表)用户栏目专家坐堂 → access数据源 自动获取当前文件路劲下的access文件并加载


  共有2612人关注过本帖树形打印复制链接

主题:access数据源 自动获取当前文件路劲下的access文件并加载

帅哥哟,离线,有人找我吗?
李孝春
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:九尾狐 帖子:2472 积分:17346 威望:0 精华:0 注册:2013/1/31 0:03:00
access数据源 自动获取当前文件路劲下的access文件并加载  发帖心情 Post By:2021/1/16 17:23:00 [只看该作者]

access数据源 自动获取当前文件路劲下的access文件并加载

数据源中该内容可以获取ACC数据库文件内容
Provider=Microsoft.Jet.OLEDB.4.0;Data Source=Attachments\文件管理.mdb;Persist Security Info=False;Jet OLEDB:Database Password=com
但是项目在发布后,该内容会提示找不到ACC数据库文件
(想实现项目不管我复制到那个地方,项目都自动从该项目Attachments文件夹下读取文件管理.mdb,下面红色代码怎么修改呢?
Provider=Microsoft.Jet.OLEDB.4.0;Data Source=ProjectPath & "Attachments\文件管理.mdb";Persist Security Info=False;Jet OLEDB:Database Password=com

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110574 积分:562760 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/1/16 17:32:00 [只看该作者]

http://www.foxtable.com/webhelp/topics/0682.htm

 回到顶部
帅哥哟,离线,有人找我吗?
李孝春
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:九尾狐 帖子:2472 积分:17346 威望:0 精华:0 注册:2013/1/31 0:03:00
回复:(有点蓝)http://www.foxtable.com/webhelp/to...  发帖心情 Post By:2021/1/16 18:03:00 [只看该作者]

项目启动数据源BeforeConnectOuterDataSource事件代码:

If FileSys.FileExists("d:\文件管理助手【请勿删除】\文件管理.mdb") Then '判断文件夹下是否有文件,如果有

    If e.name="文件管理ACC" Then

        e.C

    End If

Else

    If e.name="文件管理ACC" Then

        e.C & e.ProjectPath & "Attachments\文件管理.mdb;Persist Security Info=False;Jet OLEDB:Database Password=cnsjroom@163.com"

    End If

End If


主窗体启动后事件代码:

If FileSys.DirectoryExists("d:\文件管理助手【请勿删除】") Then '判断文件夹是否存在,如果存在

    ……

Else

    FileSys.CreateDirectory("d:\文件管理助手【请勿删除】")

    FileSys.CopyFile(ProjectPath & "Attachments\文件管理.mdb", "d:\文件管理助手【请勿删除】\文件管理.mdb")'如果没有 就把指定目录下的文件复制到指定目标地址

    MessageBox.Show("项目初始化成功,点击确定退出项目后重新打开项目!","温馨提示")

    e.Form.Close

    Syscmd.Project.Exit()

    Application.Restart()

End If


打开主窗体时实现先判断是否有d:\文件管理助手【请勿删除】文件夹,如果没有就创建目录,然后复制指定文件,然后提示初始化成功,重启项目

如果有目录,就判断是否有文件管理.MDB这个文件,如果有就直接连接数据库文件,并进入项目



麻烦老师看看上述思路和代码还有没有其它更佳方法?


[此贴子已经被作者于2021/1/17 18:56:57编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110574 积分:562760 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/1/17 19:48:00 [只看该作者]

主窗口的代码放到BeforeConnectOuterDataSource事件判断处理即可,没有必要重启项目

 回到顶部
帅哥哟,离线,有人找我吗?
李孝春
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:九尾狐 帖子:2472 积分:17346 威望:0 精华:0 注册:2013/1/31 0:03:00
回复:(有点蓝)主窗口的代码放到BeforeConnectOuter...  发帖心情 Post By:2021/1/17 19:57:00 [只看该作者]

主窗口的代码放到BeforeConnectOuterDataSource事件判断处理
原主窗口代码不会执行复制文件 只会创建目录

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110574 积分:562760 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/1/17 20:27:00 [只看该作者]

其实完全没有必要复制,直接使用项目里的文件不行吗?何必多此一举

 回到顶部
帅哥哟,离线,有人找我吗?
李孝春
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:九尾狐 帖子:2472 积分:17346 威望:0 精华:0 注册:2013/1/31 0:03:00
回复:(有点蓝)其实完全没有必要复制,直接使用项目...  发帖心情 Post By:2021/1/17 22:33:00 [只看该作者]

项目有时候会更新文件  且这个数据库文件比较重要 且会越来越大  不方便与项目文件放置一起

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110574 积分:562760 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/1/17 22:50:00 [只看该作者]

项目启动数据源BeforeConnectOuterDataSource事件代码:

If e.name="文件管理ACC" Then 

    If FileSys.FileExists("d:\文件管理助手【请勿删除】\文件管理.mdb") = False Then '判断文件夹下是否有文件,如果有

        If FileSys.DirectoryExists("d:\文件管理助手【请勿删除】") = False Then '判断文件夹是否存在,如果存在

            FileSys.CreateDirectory("d:\文件管理助手【请勿删除】")

        End If

        FileSys.CopyFile(ProjectPath & "Attachments\文件管理.mdb", "d:\文件管理助手【请勿删除】\文件管理.mdb")'如果没有 就把指定目录下的文件复制到指定目标地址

    End If

    e.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=d:\文件管理助手【请勿删除】\文件管理.mdb;Persist Security Info=False"

End If


 回到顶部