给你这段代码,专门解决这个问题:
Private Sub MDIForm_Load()
On Error GoTo loadshujuku
Dim queren
Dim i As Long
Dim ConnStr As String
Dim temp1 As String, temp2 As String
Dim t1 As Long'设置连接
ConnStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & GetSetting("shenchanke", "lujin", "lujin") & ";Persist Security Info=False"
Conn.Open ConnStr
lei.CursorLocation = adUseClient
lei.Open "人员类型表", Conn, adOpenDynamic, adLockPessimistici = -1
With lei
If .EOF = True And .BOF = True Then
If .State <> adStateClosed Then
.Close
End If
If Conn.State <> adStateClosed Then
Conn.Close
End If
Exit Sub
End If
.MoveFirst
Do Until .EOF
i = i + 1
l(i) = .Fields("人员类型")
.MoveNext
Loop
End WithIf lei.State <> adStateClosed Then
lei.Close
Set lei = Nothing
End If
If Conn.State <> adStateClosed Then
Conn.Close
Set Conn = Nothing
End IfExit Sub
loadshujuku:
queren = MsgBox("数据库连接存在问题,请确认网络是否连通," & Chr(13) & "或者选择一个连接路径,现在就选择吗?", vbQuestion + vbYesNo, "提示!")
If queren = vbYes Then
cd.Flags = &H1004 'cdlOFNFileMustExist &H1000 它指定只能输入文件名文本框已经存在的文件名。
cd.ShowOpen '如果该标志被设置,则当用户输入非法的文件名时,要显示一个警告。
If cd.FileName <> "" And cd.FileName <> "生产科数据库.mdb" Then '该标志自动设置 cdlOFNPathMustExist 标志。
SaveSetting "shenchanke", "lujin", "lujin", cd.FileName 'cdlOFNHideReadOnly &H4 隐藏只读复选框。
ConnStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & cd.FileName & ";Persist Security Info=False"
Conn.Open ConnStr
lei.CursorLocation = adUseClient
lei.Open "人员类型表", Conn, adOpenDynamic, adLockPessimistic
i = -1
With lei
If .EOF = True And .BOF = True Then
If .State <> adStateClosed Then
.Close
End If
If Conn.State <> adStateClosed Then
Conn.Close
End If
Exit Sub
End If
.MoveFirst
Do Until .EOF
i = i + 1
l(i) = .Fields("人员类型")
.MoveNext
Loop
End With
MsgBox "选择正确,程序正常运行!", vbInformation, "恭喜!"
cd.FileName = "生产科数据库.mdb"
If lei.State <> adStateClosed Then
lei.Close
Set lei = Nothing
End If
If Conn.State <> adStateClosed Then
Conn.Close
Set Conn = Nothing
End If
Else
MsgBox "没有选择正确的数据库路径,程序将无法正常工作!", vbInformation, "提示!"
Toolbar1.Enabled = False
End If
Else
MsgBox "没有选择正确的数据库路径,程序将无法正常工作!", vbInformation, "提示!"
Toolbar1.Enabled = False
End IfEnd Sub
Private Sub MDIForm_Load()
On Error GoTo loadshujuku
Dim queren
Dim i As Long
Dim ConnStr As String
Dim temp1 As String, temp2 As String
Dim t1 As Long'设置连接
ConnStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & GetSetting("shenchanke", "lujin", "lujin") & ";Persist Security Info=False"
Conn.Open ConnStr
lei.CursorLocation = adUseClient
lei.Open "人员类型表", Conn, adOpenDynamic, adLockPessimistici = -1
With lei
If .EOF = True And .BOF = True Then
If .State <> adStateClosed Then
.Close
End If
If Conn.State <> adStateClosed Then
Conn.Close
End If
Exit Sub
End If
.MoveFirst
Do Until .EOF
i = i + 1
l(i) = .Fields("人员类型")
.MoveNext
Loop
End WithIf lei.State <> adStateClosed Then
lei.Close
Set lei = Nothing
End If
If Conn.State <> adStateClosed Then
Conn.Close
Set Conn = Nothing
End IfExit Sub
loadshujuku:
queren = MsgBox("数据库连接存在问题,请确认网络是否连通," & Chr(13) & "或者选择一个连接路径,现在就选择吗?", vbQuestion + vbYesNo, "提示!")
If queren = vbYes Then
cd.Flags = &H1004 'cdlOFNFileMustExist &H1000 它指定只能输入文件名文本框已经存在的文件名。
cd.ShowOpen '如果该标志被设置,则当用户输入非法的文件名时,要显示一个警告。
If cd.FileName <> "" And cd.FileName <> "生产科数据库.mdb" Then '该标志自动设置 cdlOFNPathMustExist 标志。
SaveSetting "shenchanke", "lujin", "lujin", cd.FileName 'cdlOFNHideReadOnly &H4 隐藏只读复选框。
ConnStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & cd.FileName & ";Persist Security Info=False"
Conn.Open ConnStr
lei.CursorLocation = adUseClient
lei.Open "人员类型表", Conn, adOpenDynamic, adLockPessimistic
i = -1
With lei
If .EOF = True And .BOF = True Then
If .State <> adStateClosed Then
.Close
End If
If Conn.State <> adStateClosed Then
Conn.Close
End If
Exit Sub
End If
.MoveFirst
Do Until .EOF
i = i + 1
l(i) = .Fields("人员类型")
.MoveNext
Loop
End With
MsgBox "选择正确,程序正常运行!", vbInformation, "恭喜!"
cd.FileName = "生产科数据库.mdb"
If lei.State <> adStateClosed Then
lei.Close
Set lei = Nothing
End If
If Conn.State <> adStateClosed Then
Conn.Close
Set Conn = Nothing
End If
Else
MsgBox "没有选择正确的数据库路径,程序将无法正常工作!", vbInformation, "提示!"
Toolbar1.Enabled = False
End If
Else
MsgBox "没有选择正确的数据库路径,程序将无法正常工作!", vbInformation, "提示!"
Toolbar1.Enabled = False
End IfEnd Sub
解决方案 »
- 找出数组中最小的5个数
- InterMecPD41
- winsock控件的getdata 获得数组为什么都是0?
- 谁有实现老板键功能的源码??
- RegisterServiceProcess 函数适用winxp吗,如果不行,有类似的函数吗(在线)
- 关于数据库安装的问题,着急,解决了300分
- 高手请帮忙!!!!(在线等待)
- 对记录集的一个操作改如何实现?【问题有详细说明】
- 关于图标菜单的下拉菜单问题?
- 我怎样在使用DATAREPORT作预览时可以调整打印机能够马上看到效果,而不是送去打印了?
- 关于在VB中打开网页的问题!请教高手,送分100!!
- 如何让LISTVIEW在 SmallIcon 模式中加入水平滚动条?或者垂直滚动条?
来检查文件是否存在
Dim StringI As String
Dim cnnI As New ADODB.Connection
on error goto err1 '我想如果c:\ss.mdb不存在,返回错误处理!
StringI = "provider=microsoft.jet.oledb.4.0;data source=c:\ss.mdb"
cnnI.Open Stringi
exit sub
err1:
msgbox"你连接的数据库不存在!"
end sub
private sub form_load()
Dim StringI As String
Dim cnnI As New ADODB.Connection CommonDialog1.Filter = "mdb Files (*.mdb)|*.mdb"
CommonDialog1.InitDir = "c:\My documents"
CommonDialog1.ShowOpen
on error goto err1 StringI = "provider=microsoft.jet.oledb.4.0;data source=" & CommonDialog1.FileName
cnnI.Open Stringi
exit sub
err1:
msgbox"你连接的数据库不存在!"
end sub 我用CommonDialog1调用对话框输入存在的数据库名,我按【打开】或【取消】,它都打开连接,实行cnnI.Open Stringi ,我想按【取消】,就exit sub
If fso.fileexists(App.Path + "数据库名") Then.......
如:
Private Sub form_load()Dim StringI As String
Dim cnnI As New ADODB.ConnectionOn Error GoTo err1 '我想如果c:\ss.mdb不存在,返回错误处理!
StringI = "provider=microsoft.jet.oledb.4.0;data source=c:\ss.mdb"
cnnI.Open StringI.........'在这里执行你要执行的程序
exit sub '表示正确的退出模块err1: ’执行错误的时候执行的语句
MsgBox "你连接的数据库不存在!"
.......
Exit Sub这样问题就解决了 很简单
我要分 ^_^
End Sub
因为假如不是文件不存在的而出错呢?当然可以捕捉错误值来判断,即Err。
其实你可以先用:dir("c:\c:\ss.mdb") 来判断,假如文件不存在,则返回一个空字符,存在则返回其文件名
但我在form中用CommonDialog1调用对话框输入存在的数据库名,我按【打开】或【取消】,它都打开连接,实行cnnI.Open Stringi ,我想按【取消】,就exit sub
sub form_load()
Dim StringI As String
Dim cnnI As New ADODB.Connection CommonDialog1.Filter = "mdb Files (*.mdb)|*.mdb"
CommonDialog1.InitDir = "c:\My documents"
CommonDialog1.ShowOpen Set fso = CreateObject("scripting.filesystemobject")
If fso.fileexists(CommonDialog1.FileName) Then
StringI = "provider=microsoft.jet.oledb.4.0;data source=" & CommonDialog1.FileName
cnnI.Open Stringi else
msgbox"你连接的数据库不存在!"
exit sub
end sub
Dim StringI As String
Dim cnnI As New ADODB.Connection
StringI = "provider=microsoft.jet.oledb.4.0;data source=c:\ss.mdb"
On Error Resume Next
cnnI.Open Stringi
If Err Then
MsgBox "aaaaaaaaaaaaaaaa.", 0, "warning:" ' 显示错误消息。
Exit Sub ' 如果发生错误则退出。
End If
所以在前面加On Error GoTo
...
else
...
end 就好啦不要用goto
msgbox "文件不存在!"
exit sub
end if