有人知道如何修改Microsoft Access 2007或2010中的现有导入规范吗?在较早的版本中,在导入向导期间会出现一个Advanced按钮,允许您选择和编辑现有规范。我不再看到这个功能,但希望它仍然存在,只是被移到了其他地方。
发布于 2008-09-27 12:07:02
我不相信有一种直接支持的方式。但是,如果您正在分离,则在导航选项下,选择以显示系统对象。然后,在您的表列表中,将出现系统表。这里有两个表: MSysIMEXspecs和MSysIMEXColumns。您将能够编辑导入和导出信息。祝好运!
发布于 2013-01-22 00:29:43
以下是您可以用来更改和使用MS Access 2010导入规范的三个函数。第三个sub更改现有导入规范的名称。第二个sub允许您更改导入等级库中的任何xml文本。如果您需要更改列名、数据类型、添加列、更改导入文件位置等,这将非常有用。本质上,任何你想要修改现有规范的东西。第一个Sub是一个例程,它允许您调用现有的导入规范,为您尝试导入的特定文件修改它,导入该文件,然后删除修改后的规范,同时保持导入规范“模板”不变。好好享受吧。
Public Sub MyExcelTransfer(myTempTable As String, myPath As String)
On Error GoTo ERR_Handler:
Dim mySpec As ImportExportSpecification
Dim myNewSpec As ImportExportSpecification
Dim x As Integer
For x = 0 To CurrentProject.ImportExportSpecifications.Count - 1
If CurrentProject.ImportExportSpecifications.Item(x).Name = "TemporaryImport" Then
CurrentProject.ImportExportSpecifications.Item("TemporaryImport").Delete
x = CurrentProject.ImportExportSpecifications.Count
End If
Next x
Set mySpec = CurrentProject.ImportExportSpecifications.Item(myTempTable)
CurrentProject.ImportExportSpecifications.Add "TemporaryImport", mySpec.XML
Set myNewSpec = CurrentProject.ImportExportSpecifications.Item("TemporaryImport")
myNewSpec.XML = Replace(myNewSpec.XML, "\\MyComputer\ChangeThis", myPath)
myNewSpec.Execute
myNewSpec.Delete
Set mySpec = Nothing
Set myNewSpec = Nothing
exit_ErrHandler:
For x = 0 To CurrentProject.ImportExportSpecifications.Count - 1
If CurrentProject.ImportExportSpecifications.Item(x).Name = "TemporaryImport" Then
CurrentProject.ImportExportSpecifications.Item("TemporaryImport").Delete
x = CurrentProject.ImportExportSpecifications.Count
End If
Next x
Exit Sub
ERR_Handler:
MsgBox Err.Description
Resume exit_ErrHandler
End Sub
Public Sub fixImportSpecs(myTable As String, strFind As String, strRepl As String)
Dim mySpec As ImportExportSpecification
Set mySpec = CurrentProject.ImportExportSpecifications.Item(myTable)
mySpec.XML = Replace(mySpec.XML, strFind, strRepl)
Set mySpec = Nothing
End Sub
Public Sub MyExcelChangeName(OldName As String, NewName As String)
Dim mySpec As ImportExportSpecification
Dim myNewSpec As ImportExportSpecification
Set mySpec = CurrentProject.ImportExportSpecifications.Item(OldName)
CurrentProject.ImportExportSpecifications.Add NewName, mySpec.XML
mySpec.Delete
Set mySpec = Nothing
Set myNewSpec = Nothing
End Sub
发布于 2013-07-29 06:17:15
当我要检查或更改导入/导出规范时,我会在MS Access中查询定义该规范的表。
SELECT
MSysIMEXSpecs.SpecName,
MSysIMexColumns.*
FROM
MSysIMEXSpecs
LEFT JOIN MSysIMEXColumns
ON MSysIMEXSpecs.SpecID = MSysIMEXColumns.SpecID
WHERE
SpecName = 'MySpecName'
ORDER BY
MSysIMEXSpecs.SpecID, MSysIMEXColumns.Start;
还可以使用UPDATE或INSERT语句更改现有列,或者在现有规范中插入和附加新列。您可以使用此方法创建全新的规范。
https://stackoverflow.com/questions/143420
复制相似问题