1

我正在尝试使用 vb6 打开特定的 Access 表单Shell,但在阅读了大量文档后,我无法找出 Access 找不到我的数据库的原因。

dim ss as string
ss = MSAccFolder & "\MSAccess.exe" & " " & app.path & "\database\db.mdb /cmd " & ""formname""
Shell sss, vbNormalFocus

我应该告诉你的有趣的事情是,一段时间后 Access 打开,它说找不到具有此路径的数据库

MYAPPPATH/MYFORMNAME.mdb

怎么了?

4

2 回答 2

3

app.path可能包含空格。用引号将 app.path 和 "\database\db.mdb" 括起来。我很抱歉,但我忘记了执行此操作的 VB 语法。

于 2012-09-04T11:56:07.267 回答
0

最后我找到了解决方案。

    Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long

'This will open Access with the specified name

    Dim ss As String
    ss = App.path & "\database\db.mdb"
    ShellExecute Me.hwnd, vbNullString, ss, vbNullString, "C:\", SW_SHOWNORMAL
于 2012-09-05T03:45:57.530 回答