VBA 运行时错误 3625 文本文件规范 Export_Spec 不存在
VBA runtime error 3625 The text file specification Export_Spec does not exist
我正在 运行ning Access 2016。我正在尝试将查询结果导出到文本文件中,但我一直收到错误 3625,未找到规范。我创建了规范,如果我 运行 规范,它会按预期工作。我尝试用引号代替导出规范,但文件没有格式。我在网上找到的解决方案是说使用高级选项卡来定义格式,在我的 Access 2016 版本上,规范创建过程中没有高级选项卡。我已经完成了整个过程,所有目录和文件名都已正确创建。
该行发生错误:
DoCmd.TransferText TransferType:=acExportDelim, SpecificationName:=strExportSpec, TableName:=strQueryName, FileName:=strFullName, HasFieldNames:=True
感谢任何帮助。
Private Sub Export_Click()
Dim strFileName As String
Dim lFileName As Long
Dim strCurrentDate As String
Dim strFormattedDate As String
Dim dtCurrentDate As Date
Dim strDir As String
Dim strFullName As String
Dim strExportSpec As String
Dim strQueryName As String
Dim strYear As String
Dim strMonth As String
Dim strPath1 As String
Dim strPath2 As String
strYear = Format(Date, "yyyy")
strMonth = Format(Date, "mm")
'Check if Directory Year exists
strPath1 = "C:\Users\Owner\Google Drive\Employment\Mass Unemployment\" & strYear
'Check if year exists
If Dir(strPath1, vbDirectory) = "" Then
MkDir strPath1
End If
'Create
strPath2 = "C:\Users\Owner\Google Drive\Employment\Mass Unemployment\" & strYear & "\" & strMonth & "\"
If Dir(strPath2, vbDirectory) = "" Then
MkDir strPath2
End If
strCurrentDate = Date
strFormattedDate = Format(strCurrentDate, "mmddyyyy")
lFileName = InputBox("Enter Week Number", "Enter Week Number")
strFileName = strFormattedDate
strFullName = strPath2 & strFileName & ".txt"
strExportSpec = "Export_Spec" ' error 3625 export spec does not exist
strQueryName = "qryUnEmployment"
DoCmd.TransferText TransferType:=acExportDelim, SpecificationName:=strExportSpec, TableName:=strQueryName, FileName:=strFullName, HasFieldNames:=True
End Sub
Save Import/Export GUI frontend feature and the backend method, DoCmd.TransferText指的是不同的规格类型。前者更像是一个保存的 routine 作为检索同名文本、电子表格或 XML 文件的便捷方法以及导入或导出外部数据和避免的所有步骤未来 运行s.
向导的演练
但是,后者特定于 任何 文本文件的格式,通常在 Advanced 按钮下的文本文件向导中创建.请参见下面的屏幕截图。在此对话框中,您可以为每个字段、分隔符等指定格式,然后 运行 指定一次或 Save As...
以供将来在 any 文本文件上使用.事实上,Specs...
显示了所有已保存命名规范的当前列表。您可以在这里找到要在 DoCmd.TransferText
.
中使用的名称
导入文本向导
导出文本向导
迄今为止,可能没有任何其他 GUI 方式来调整这些保存的规格。它们存储在系统表 MSysIMEXspecs
和 MSysIMEXColumns
中。同样,不要将上述文本文件特定方法与通用外部数据方法混淆:ImportExportSpecifications and DoCmd.RunSavedImportExport.
我相信 Parfait 告诉您的是,保存的 Import/Saved 导出与 Import/Export 规范有很大不同。您正在尝试将保存的导出放入调用规范的 TransferText 参数中。您可能在某个时候进行了导出并将步骤保存为已保存的导出。
如果您真的有兴趣使用此导出的规范,那么您将希望通过导入您想要的格式的现有文本文件来创建一个规范。请参阅上面的 Parfait 答案。
否则,只需将规范参数留空即可导出查询。
我正在 运行ning Access 2016。我正在尝试将查询结果导出到文本文件中,但我一直收到错误 3625,未找到规范。我创建了规范,如果我 运行 规范,它会按预期工作。我尝试用引号代替导出规范,但文件没有格式。我在网上找到的解决方案是说使用高级选项卡来定义格式,在我的 Access 2016 版本上,规范创建过程中没有高级选项卡。我已经完成了整个过程,所有目录和文件名都已正确创建。 该行发生错误: DoCmd.TransferText TransferType:=acExportDelim, SpecificationName:=strExportSpec, TableName:=strQueryName, FileName:=strFullName, HasFieldNames:=True
感谢任何帮助。
Private Sub Export_Click()
Dim strFileName As String
Dim lFileName As Long
Dim strCurrentDate As String
Dim strFormattedDate As String
Dim dtCurrentDate As Date
Dim strDir As String
Dim strFullName As String
Dim strExportSpec As String
Dim strQueryName As String
Dim strYear As String
Dim strMonth As String
Dim strPath1 As String
Dim strPath2 As String
strYear = Format(Date, "yyyy")
strMonth = Format(Date, "mm")
'Check if Directory Year exists
strPath1 = "C:\Users\Owner\Google Drive\Employment\Mass Unemployment\" & strYear
'Check if year exists
If Dir(strPath1, vbDirectory) = "" Then
MkDir strPath1
End If
'Create
strPath2 = "C:\Users\Owner\Google Drive\Employment\Mass Unemployment\" & strYear & "\" & strMonth & "\"
If Dir(strPath2, vbDirectory) = "" Then
MkDir strPath2
End If
strCurrentDate = Date
strFormattedDate = Format(strCurrentDate, "mmddyyyy")
lFileName = InputBox("Enter Week Number", "Enter Week Number")
strFileName = strFormattedDate
strFullName = strPath2 & strFileName & ".txt"
strExportSpec = "Export_Spec" ' error 3625 export spec does not exist
strQueryName = "qryUnEmployment"
DoCmd.TransferText TransferType:=acExportDelim, SpecificationName:=strExportSpec, TableName:=strQueryName, FileName:=strFullName, HasFieldNames:=True
End Sub
Save Import/Export GUI frontend feature and the backend method, DoCmd.TransferText指的是不同的规格类型。前者更像是一个保存的 routine 作为检索同名文本、电子表格或 XML 文件的便捷方法以及导入或导出外部数据和避免的所有步骤未来 运行s.
向导的演练但是,后者特定于 任何 文本文件的格式,通常在 Advanced 按钮下的文本文件向导中创建.请参见下面的屏幕截图。在此对话框中,您可以为每个字段、分隔符等指定格式,然后 运行 指定一次或 Save As...
以供将来在 any 文本文件上使用.事实上,Specs...
显示了所有已保存命名规范的当前列表。您可以在这里找到要在 DoCmd.TransferText
.
导入文本向导
导出文本向导
迄今为止,可能没有任何其他 GUI 方式来调整这些保存的规格。它们存储在系统表 MSysIMEXspecs
和 MSysIMEXColumns
中。同样,不要将上述文本文件特定方法与通用外部数据方法混淆:ImportExportSpecifications and DoCmd.RunSavedImportExport.
我相信 Parfait 告诉您的是,保存的 Import/Saved 导出与 Import/Export 规范有很大不同。您正在尝试将保存的导出放入调用规范的 TransferText 参数中。您可能在某个时候进行了导出并将步骤保存为已保存的导出。
如果您真的有兴趣使用此导出的规范,那么您将希望通过导入您想要的格式的现有文本文件来创建一个规范。请参阅上面的 Parfait 答案。
否则,只需将规范参数留空即可导出查询。