如何从Excel中复制导入规范来访问?

我有一个导入规范已经在MS Excel中映射出来。

当我尝试复制并将其粘贴到MS Access中的“高级文本文件导入”向导中时,它将validationinput没有错误,只有当我到达最后一步时才提供一个。

有没有人遇到过这个问题,他们是否有解决的办法? 我可以手动input规格,但是这将是非常耗时的,因为有200多个字段。

谢谢。

突出显示导入例程表的上angular并粘贴(Cont V)表格必须采用相同的格式,因此最好的方法是复制现有的导入规格,方法是突出显示导入规格(spec表格的左上angular)和cntl C并粘贴到excel中,调整到新的规格并粘贴回来,突出显示导入例程表的顶部并粘贴(Cont V)

经过多年的思考,我发现今天的这一切都是可笑的。

根据微软的说法,你无法将规范从一个数据库复制到另一个数据库。 如果禁止访问访问传输导入/导出规范,那么Excel-Access传输也是不可用的。

但是,规范存储在MS Access中的表,特别是MSysImexSpecs和MSysImexColumns表。 根据您使用MS Access的版本,您查看这些隐藏表的方式是不同的。 谷歌可以很快引导你。

一些VBA编码可以通过读取源数据库中的MSysImexSpecs内容,并将数据插入目标表中的MSysImexSpecs来实现规范的Access-Access传输。

因为Excel不使用表格,所以我实在不相信有一个解决scheme比在MS Access中重build规范更快。

以下是我今天发现的导入/导出规格Access-Access迁移的代码示例。 如果您知道如何将ImEx规格存储在Excel中(可能在集合中?),则下面的代码可能会更改为从Excel集合迁移到Access表。

Sub GetSpecs() Dim accApp As Object Dim SourceDBName As String Dim DbPath As String Dim CurrDB As String SourceDBName = "C:\SourceDB.mdb" DbPath = "C:\TargetDBPath\" 'Make sure about last slash Set accApp = CreateObject("Access.Application") CurrDB = Dir(DbPath & "*.mdb", vbNormal) Do Until Len(CurrDB) = 0 If Not DbPath & CurrDB = SourceDBName Then accApp.OpenCurrentDatabase DbPath & CurrDB On Error GoTo errhandler accApp.CurrentDb.TableDefs.Delete "MSysIMEXSpecs" accApp.DoCmd.TransferDatabase acImport, "Microsoft Access", SourceDBName, acTable, "MSysIMEXSpecs", "MSysIMEXSpecs" accApp.CloseCurrentDatabase CurrDB = Dir() End If Loop accApp.Quit MsgBox "Done", vbOKOnly + vbInformation, "Error" Exit Sub errhandler: If Err = 3265 Then Resume Next Else MsgBox Err & " - " & Err.Description, vbOKOnly + vbExclamation, "Error" If Not accApp Is Nothing Then accApp.Quit End If End Sub 

资料来源: http : //www.mrexcel.com/forum/showthread.php?58094-Import-Specifications