首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何修改已保存的Microsoft Access 2007或2010导入规范?

如何修改已保存的Microsoft Access 2007或2010导入规范?
EN

Stack Overflow用户
提问于 2008-09-27 11:03:02
回答 6查看 171.3K关注 0票数 44

有人知道如何修改Microsoft Access 2007或2010中的现有导入规范吗?在较早的版本中,在导入向导期间会出现一个Advanced按钮,允许您选择和编辑现有规范。我不再看到这个功能,但希望它仍然存在,只是被移到了其他地方。

EN

回答 6

Stack Overflow用户

发布于 2008-09-27 12:07:02

我不相信有一种直接支持的方式。但是,如果您正在分离,则在导航选项下,选择以显示系统对象。然后,在您的表列表中,将出现系统表。这里有两个表: MSysIMEXspecs和MSysIMEXColumns。您将能够编辑导入和导出信息。祝好运!

票数 17
EN

Stack Overflow用户

发布于 2013-01-22 00:29:43

以下是您可以用来更改和使用MS Access 2010导入规范的三个函数。第三个sub更改现有导入规范的名称。第二个sub允许您更改导入等级库中的任何xml文本。如果您需要更改列名、数据类型、添加列、更改导入文件位置等,这将非常有用。本质上,任何你想要修改现有规范的东西。第一个Sub是一个例程,它允许您调用现有的导入规范,为您尝试导入的特定文件修改它,导入该文件,然后删除修改后的规范,同时保持导入规范“模板”不变。好好享受吧。

代码语言:javascript
复制
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
票数 7
EN

Stack Overflow用户

发布于 2013-07-29 06:17:15

当我要检查或更改导入/导出规范时,我会在MS Access中查询定义该规范的表。

代码语言:javascript
复制
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语句更改现有列,或者在现有规范中插入和附加新列。您可以使用此方法创建全新的规范。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/143420

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档