以下是连接数据库的语句:
连接ACCESS:
With Connection
.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Trim(txtBase.Text) & ";Mode=ReadWrite|Share Deny None;Persist Security Info=False;Jet OLEDB:Database Password=1"
.Provider = "sqloledb"
.Open
End With其中txtBase.Text为相对路径。如果我不调用CommonDialog控件的showopen方法,连接完全正常。但是如果在程序中使用了一个CommonDialog控件,我只要一调用showopen方法,相对路径前面就加上了showopen的路径。所以连接数据库就会失败。连接SQL数据库也是用样,只要一调用showopen方法就连接失败。请问这该如何解决?
连接ACCESS:
With Connection
.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Trim(txtBase.Text) & ";Mode=ReadWrite|Share Deny None;Persist Security Info=False;Jet OLEDB:Database Password=1"
.Provider = "sqloledb"
.Open
End With其中txtBase.Text为相对路径。如果我不调用CommonDialog控件的showopen方法,连接完全正常。但是如果在程序中使用了一个CommonDialog控件,我只要一调用showopen方法,相对路径前面就加上了showopen的路径。所以连接数据库就会失败。连接SQL数据库也是用样,只要一调用showopen方法就连接失败。请问这该如何解决?
解决方案 »
- 如何在MSHFlexGrid 某一列放Combobox
- 请问如何将Integer转换成string啊???
- VB6里怎么编写可以带参数的exe
- 请问Autocad2000的VBA中如何放置一个OLE控件(连接Autocad)
- 数据库求助!
- VB中取余函数是什么?谢谢,立即给分。在线等待
- 我在我的程序中加了一个托盘程序,在网上抄的!但是当程序出错的时候,程序就死掉了...
- API或VBA高手,请看!(如何用VB控制outlook express中发的邮件的内容及地址)(来者有分!)
- 最顶层窗口
- 这段代码错在何处?(有关EXCEL的调用)
- vb6.0下使用API打印函数不能进行“按行打印”的问题?
- 在问个简单的问题
dim sPath as stringspath = "c:\test\ww.mdb"ipos = instrrev(spath,"\")
if ipos >0 then spath = left(spath ,ipos - 1)ChDrive Left(sPath, 2)
chdir spath试试这样行不行吧..
.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\" & Trim(txtBase.Text) & ";Mode=ReadWrite|Share Deny None;Persist Security Info=False;Jet OLEDB:Database Password=1"
.Provider = "sqloledb"
.Open
End With
Option Explicit
Private Declare Function GetOpenFileName Lib "comdlg32.dll" Alias "GetOpenFileNameA" (pOpenfilename As OPENFILENAME) As Long
Private Const OFN_HIDEREADONLY = &H4
Private Type OPENFILENAME
lStructSize As Long
hwndOwner As Long
hInstance As Long
lpstrFilter As String
lpstrCustomFilter As String
nMaxCustFilter As Long
nFilterIndex As Long
lpstrFile As String
nMaxFile As Long
lpstrFileTitle As String
nMaxFileTitle As Long
lpstrInitialDir As String
lpstrTitle As String
flags As Long
nFileOffset As Integer
nFileExtension As Integer
lpstrDefExt As String
lCustData As Long
lpfnHook As Long
lpTemplateName As String
End TypePrivate Function CommonOpenFile(ByVal hWndParent As Long, ByVal Filter As String, ByVal InitDir As String, ByVal Title As String) As String
Dim OFName As OPENFILENAME '打开一个文件
Dim Tam As Long
OFName.lStructSize = Len(OFName)
OFName.hwndOwner = hWndParent
OFName.hInstance = App.hInstance
OFName.lpstrFilter = Filter
OFName.lpstrFile = Space$(254)
OFName.nMaxFile = 255
OFName.lpstrFileTitle = Space$(254)
OFName.nMaxFileTitle = 255
OFName.lpstrInitialDir = InitDir
OFName.lpstrTitle = Title
OFName.flags = OFN_HIDEREADONLY
If GetOpenFileName(OFName) Then
OFName.lpstrFile = Trim(OFName.lpstrFile)
Tam = Len(OFName.lpstrFile)
CommonOpenFile = Mid(OFName.lpstrFile, 1, Tam - 1) 'cut char 0
Else
CommonOpenFile = ""
End If
End Function
Private Sub open_Click()
Dim FileName As String
FileName = CommonOpenFile(Me.hwnd, "", App.Path, "Open")
If FileName <> "" ThenEnd If
End Sub
其次,输入为绝对路径你的方法也不适用了。
连接数据库:
With Connection
.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Trim(txtBase.Text) & ";Mode=ReadWrite|Share Deny None;Persist Security Info=False;Jet OLEDB:Database Password= 1"
.Provider = "sqloledb"
.Open
End With打开图片:
CommonDialog.ShowOpen
strPicPath = DiaPicSel.FileName
Image5.Picture = LoadPicture(strPicPath)
虽然可能大家觉得很简单,但我还是希望各位高手能够自己先测试一下,谢了。