尝试连接到访问数据库的 vbscript 错误
vbscript error trying to connect to access database
这是脚本:
Option Explicit
'Supported in Access 2003 and newer versions
'Add a reference to "Microsoft Access xx.0 Object Library"
'or change code to do Late Binding to support multiple Access versions
Private Sub Command1_Click()
Dim oApp As Access.Application
Set oApp = CreateObject("Access.Application")
oApp.OpenCurrentDatabase "C:\student_id_Ft Lupton.mdb", Exclusive:=False
oApp.ExportXML ObjectType:=acExportTable, _
DataSource:="Ft_lupton", _
DataTarget:="C:\fortlupton.xml"
oApp.CloseCurrentDatabase
oApp.Quit acQuitSaveNone
Set oApp = Nothing
End Sub
我收到以下错误:
script: forltuptontest.vbs
line: 6
Char: 14
Error: expected end of statement
Code: 800A0401
Source: Microsoft VBScript compilation error
不确定第 6 行字符 14 有什么问题
得到解答的精彩帮助后by:HansUp
这是我需要的脚本的工作版本。
更新后的代码如下所示:
Dim oApp
Set oApp = CreateObject("Access.Application")
Const acExportTable = 0
Const acQuitSaveNone = 2
oApp.OpenCurrentDatabase "C:\users\amoore19\desktop\Database\student_id_Ft Lupton.mdb", False
oApp.ExportXML 0, "Ft_lupton", "C:\users\amoore19\desktop\fortlupton.xml"
oApp.CloseCurrentDatabase
oApp.Quit 2
Set oApp = Nothing
Dim [variable name] As [something]
在 VBScript 中不受支持。所有变量都是变体,Dim ... As
会触发错误。
您可以通过此更改消除错误...
'Dim oApp As Access.Application
Dim oApp
不幸的是,脚本宿主抱怨它遇到的第一个错误并停在那里。修复第一个错误后,您会看到更多。
VBScript 不了解 Access 命名常量,因此您必须提供每个常量的值而不是其名称。
- 0 对于 acExportTable
- 2 对于 acQuitSaveNone
或者您可以根据需要在脚本中定义常量,然后继续使用它们的名称。
Const acExportTable = 0
Const acQuitSaveNone = 2
VBScript 无法处理 Access 方法的命名选项。因此,您必须丢弃选项名称并按预期顺序传递选项值。
'oApp.OpenCurrentDatabase "C:\student_id_Ft Lupton.mdb", Exclusive:=False
oApp.OpenCurrentDatabase "C:\student_id_Ft Lupton.mdb", False
'oApp.ExportXML ObjectType:=acExportTable, _
' DataSource:="Ft_lupton", _
' DataTarget:="C:\fortlupton.xml"
oApp.ExportXML 0, "Ft_lupton", "C:\fortlupton.xml"
最后,修复错误后,您的脚本将不会执行任何操作,因为可执行语句位于子例程中:Command1_Click()
您可以通过在 End Sub
之后的行中添加 Call Command1_Click()
来 运行 子例程。但是,我不明白为什么这里需要一个子程序;你可以只丢弃 Private Sub Command1_Click()
和 End Sub
.
HansUp 的有效解决方案是:
Dim oApp
Set oApp = CreateObject("Access.Application")
Const acExportTable = 0
Const acQuitSaveNone = 2
oApp.OpenCurrentDatabase "C:\users\amoore19\desktop\Database\student_id_Ft Lupton.mdb", False
oApp.ExportXML 0, "Ft_lupton", "C:\users\amoore19\desktop\fortlupton.xml"
oApp.CloseCurrentDatabase
oApp.Quit 2
Set oApp = Nothing`
这是脚本:
Option Explicit
'Supported in Access 2003 and newer versions
'Add a reference to "Microsoft Access xx.0 Object Library"
'or change code to do Late Binding to support multiple Access versions
Private Sub Command1_Click()
Dim oApp As Access.Application
Set oApp = CreateObject("Access.Application")
oApp.OpenCurrentDatabase "C:\student_id_Ft Lupton.mdb", Exclusive:=False
oApp.ExportXML ObjectType:=acExportTable, _
DataSource:="Ft_lupton", _
DataTarget:="C:\fortlupton.xml"
oApp.CloseCurrentDatabase
oApp.Quit acQuitSaveNone
Set oApp = Nothing
End Sub
我收到以下错误:
script: forltuptontest.vbs
line: 6
Char: 14
Error: expected end of statement
Code: 800A0401
Source: Microsoft VBScript compilation error
不确定第 6 行字符 14 有什么问题
得到解答的精彩帮助后by:HansUp
这是我需要的脚本的工作版本。
更新后的代码如下所示:
Dim oApp
Set oApp = CreateObject("Access.Application")
Const acExportTable = 0
Const acQuitSaveNone = 2
oApp.OpenCurrentDatabase "C:\users\amoore19\desktop\Database\student_id_Ft Lupton.mdb", False
oApp.ExportXML 0, "Ft_lupton", "C:\users\amoore19\desktop\fortlupton.xml"
oApp.CloseCurrentDatabase
oApp.Quit 2
Set oApp = Nothing
Dim [variable name] As [something]
在 VBScript 中不受支持。所有变量都是变体,Dim ... As
会触发错误。
您可以通过此更改消除错误...
'Dim oApp As Access.Application
Dim oApp
不幸的是,脚本宿主抱怨它遇到的第一个错误并停在那里。修复第一个错误后,您会看到更多。
VBScript 不了解 Access 命名常量,因此您必须提供每个常量的值而不是其名称。
- 0 对于 acExportTable
- 2 对于 acQuitSaveNone
或者您可以根据需要在脚本中定义常量,然后继续使用它们的名称。
Const acExportTable = 0
Const acQuitSaveNone = 2
VBScript 无法处理 Access 方法的命名选项。因此,您必须丢弃选项名称并按预期顺序传递选项值。
'oApp.OpenCurrentDatabase "C:\student_id_Ft Lupton.mdb", Exclusive:=False
oApp.OpenCurrentDatabase "C:\student_id_Ft Lupton.mdb", False
'oApp.ExportXML ObjectType:=acExportTable, _
' DataSource:="Ft_lupton", _
' DataTarget:="C:\fortlupton.xml"
oApp.ExportXML 0, "Ft_lupton", "C:\fortlupton.xml"
最后,修复错误后,您的脚本将不会执行任何操作,因为可执行语句位于子例程中:Command1_Click()
您可以通过在 End Sub
之后的行中添加 Call Command1_Click()
来 运行 子例程。但是,我不明白为什么这里需要一个子程序;你可以只丢弃 Private Sub Command1_Click()
和 End Sub
.
HansUp 的有效解决方案是:
Dim oApp
Set oApp = CreateObject("Access.Application")
Const acExportTable = 0
Const acQuitSaveNone = 2
oApp.OpenCurrentDatabase "C:\users\amoore19\desktop\Database\student_id_Ft Lupton.mdb", False
oApp.ExportXML 0, "Ft_lupton", "C:\users\amoore19\desktop\fortlupton.xml"
oApp.CloseCurrentDatabase
oApp.Quit 2
Set oApp = Nothing`