注册 登录
编程论坛 VB6论坛

请各位老师帮我看一下代码错在哪!

曙光电子 发布于 2012-10-21 10:51, 1266 次点击
Public filename As String, cnstr As String
Public str_username As String
Public str_userqxz As String
Public conn As New ADODB.Connection
Sub main()
    filename = App.Path & "\test\test.mdb" '本句原代码是:filename = "d:\test\test.mdb"运行正常,将d盘修改为当前文件夹下就出问题了.
    cnstr = "Provider =Microsoft.Jet.OLEDB.4.0;Data Source='" & filename & " ';Persist Security Info=False"
    conn.open cnstr'问题出在这句,代码变淡黄色
    frm_login.Show
End Sub
或者如何将以下代码中的d:\test\test.mdb改为当前文件(程序所的)夹下
Public filename As String, cnstr As String
Public str_username As String
Public str_userqxz As String
Public conn As New ADODB.Connection
Sub main()
  filename = "d:\test\test.mdb"
 cnstr = "Provider =Microsoft.Jet.OLEDB.4.0;Data Source='" & filename & " ';Persist Security Info=False"
  conn.open cnstr
  frm_login.Show
End Sub



[ 本帖最后由 曙光电子 于 2012-11-20 19:04 编辑 ]
17 回复
#2
Artless2012-10-21 11:28
App.Path值是什么?

[ 本帖最后由 Artless 于 2012-10-21 13:51 编辑 ]
#3
曙光电子2012-10-23 19:54
怎么没有老师指点?(App.Path是路经)
#4
wp2319572012-10-23 19:58
filename = App.Path & "\test\test.mdb" '本句原代码是:filename = "d:\test\test.mdb"运行正常,将d盘修改为当前文件夹下就出问题了.
在这句代码下 增加一个MESSAGEBOX(filename) 你就知道错误在哪里了
#5
wp2319572012-10-23 19:59
程序内代码中 还是尽量别用绝对路径的好
#6
风吹过b2012-10-23 21:14
严重怀疑你的 App.Path 的值是  d:\

也就是工程放在根目录下执行。
#7
曙光电子2012-10-24 19:38
回复 5楼 wp231957
这个贴子就是把绝对路改为动态路经呀?
#8
风吹过b2012-10-25 08:36
filename = App.Path & "\test\test.mdb" '本句原代码是:filename = "d:\test\test.mdb"运行正常,将d盘修改为当前文件夹下就出问题了.

这样写吧。
filename=  iif(right(app.path,1)="\" ,app.path & "test\test.mdb",app.path & "\test\test.mdb")
如果 app.path 右边第1个字符是 "\" ,那么 得到 app.path & "test\test.mdb"
否则得到 app.path & "\test\test.mdb" 。IIF 就是一个 IF 结构的压缩 。
#9
曙光电子2012-10-31 06:55
附件上传了,怎么没人回答,难吗?
#10
wp2319572012-10-31 08:08
偶没有vb环境  呵呵 无法帮你测试
#11
曙光电子2012-11-02 20:13
上传的附件程序运行正常,就是改个连接数据库路经啊,这么长时间没老师答呀!很难吗?

[ 本帖最后由 曙光电子 于 2012-11-6 09:44 编辑 ]
#12
曙光电子2012-11-13 18:59
那么多人下载,可是还是没人回答?
#13
BianCLunTaQQ2012-11-13 19:07
???什么都没看到,什么情况?
#14
不说也罢2012-11-13 20:23
看了楼主的帖子及各楼层的回复,怀疑楼主app.path路径之下没有test文件夹。明天再来看,现在手机无法打开附件工程
#15
不说也罢2012-11-14 16:19
Sub main()
    filename = App.Path & "\test.mdb"'--------你的原来代码中的"d:\test\test.mdb"也要替换掉才可以的。
    cnstr = "Provider =Microsoft.Jet.OLEDB.4.0;Data Source='" & filename & " ';Persist Security Info=False"
    conn.open cnstr
    frm_login.Show
End Sub
所说的app.path指的是工程VBP文件所在目录(准确地讲是你工程编译后的EXE文件所在的目录)
对于某些版本的操作系统而言,有的app.path的最后一个字符有“\”,通过8楼的IIF进行判断一下才好。
#16
曙光电子2012-11-14 16:41
回复 15楼 不说也罢
谢谢老师的解答,你能不能将我的附件改了给我发过来我看一下,我的邮箱是:617986369@
#17
不说也罢2012-11-14 16:43
不用传,只需把你附件中的SUB MAIN 过程代码替换一下就行.
#18
曙光电子2012-11-14 17:01
回复 16楼 曙光电子
根据你的指点我已试了,是正确答案,再次表示谢谢!由于工作忙,这是我犯的低级错误,我在以后的工作中一定要细想检查.
1