| 网站首页 | 业界新闻 | 小组 | 交易 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
ADSL如何秒变专线,公网IP盒子了解一下千里之行 始于足下
共有 167 人关注过本帖
标题:VB ACCESS数据库关不掉
只看楼主 加入收藏
chen3bing
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:372
专家分:104
注 册:2008-11-12
结帖率:91.58%
  已结贴   问题点数:10  回复次数:4   
VB ACCESS数据库关不掉
代码:
Dim New_mdb As Object    '定义对象
Private Sub Command1_Click()
'New_mdb.Application.Quit acQuitSaveAll
'WScr.application.quit acquitsaveall
New_mdb.Close
End Sub

Private Sub Form_Load()
Dim acc As String
Dim strpath As String
Dim mypassword As String
Dim Mmdb As String
Dim Fform As String
Dim WScr As Object
On Error Resume Next
acc = "Database3"    '数据库名
Mmdb = ".accdb"  '数据库类型
Fform = "窗体1"  '登陆窗体名

strpath = App.Path & "\" & acc & Mmdb    '数据库路径

Set New_mdb = CreateObject("access.application")
Set WScr = CreateObject("WScript.Shell")
''''启用所有宏
WScr.RegWrite "HKEY_CURRENT_USER\Software\Microsoft\Office\" & New_mdb.Version & "\Access\Security\VBAWarnings", _
        "00000001", "REG_DWORD"
New_mdb.OpenCurrentDatabase strpath, False, mypassword   '在新文件中打开数据库文件
New_mdb.UserControl = True    '用户激活新打开的文件
New_mdb.DoCmd.OpenForm Fform    '     '打开数据库的窗体,注意access不可以设置启动窗体
Set WScr = Nothing
Set New_mdb = Nothing
End Sub
我现在可以用VB打开ACCESS数据库,可是无法关掉。
提示:


请指教,谢谢!
附件: 您没有浏览附件的权限,请 登录注册
搜索更多相关主题的帖子: ACCESS 数据库 Dim String 打开 
2019-07-28 19:41
jklqwe111
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:19
帖 子:246
专家分:855
注 册:2014-4-13
  得分:5 
代码好像有些矛盾,在Private Sub Form_Load()中New_mdb已经释放,Set New_mdb = Nothing  再在Private Sub Command1_Click()中使用应该有问题。
2019-07-28 20:05
chen3bing
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:372
专家分:104
注 册:2008-11-12
  得分:0 
谢谢!Set New_mdb = Nothing
我把这条语句挪到按钮单击事件中
New_mdb.Close
Set New_mdb = Nothing
也不行,出错:

附件: 您没有浏览附件的权限,请 登录注册
2019-07-29 08:12
jklqwe111
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:19
帖 子:246
专家分:855
注 册:2014-4-13
  得分:5 
Access.Application  没有 Close 方法 应该是CloseCurrentDatabase 关闭现有文件,大致的操作如下

程序代码:
Dim New_mdb As Access.Application
Private Sub Command2_Click()

   Set New_mdb = CreateObject("access.application")
   New_mdb.UserControl = True

   New_mdb.NewCurrentDatabase App.Path & "\ggg.mdb" 'new create mdb

    '''''''''''''Other code
End Sub

Private Sub Command3_Click()
    New_mdb.CloseCurrentDatabase 'close  mdb

    New_mdb.Quit 'close access
    Set New_mdb = Nothing 'delete object
End Sub
2019-07-29 10:26
chen3bing
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:372
专家分:104
注 册:2008-11-12
  得分:0 
回复 4楼 jklqwe111
谢谢!OK了。你是个大神
2019-07-29 10:50







关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.023051 second(s), 8 queries.
Copyright©2004-2019, BCCN.NET, All Rights Reserved