【问题标题】:Access table import from csv only getting half the columns从 csv 访问表导入仅获得一半的列
【发布时间】:2021-05-06 23:15:38
【问题描述】:

我正在尝试将 csv 文件作为新表导入 access。由于某种原因,它没有导入所有列。我会注意到 excel 中还有 11 列,包括状态和所有者列以及另外 9 列也没有进入表格。它始终排除相同的列,但我不明白为什么它会排除那些特定的列。

DoCmd.DeleteObject acTable, "TempMODBranch"
DoCmd.TransferText acImportDelim, "TempMODBranch_Import", "TempMODBranch", sPath & "TempMODBranch.csv", True

【问题讨论】:

  • 你确定这是一个 vb.net 问题吗?代码看起来更像 vba。虽然有很多相同的语法,但 vb.net 和 vb6 完全不同
  • 我认为你是对的,一定是输入了 vb 并点击了错误。
  • 您的导入规范 (TempMODBBranch_Import?) 是什么样的?那里的所有字段和类型都正确吗?
  • @MarkMoretto 我相信就是这样。谢谢。
  • @MarkMoretto 在一天结束时抓住了我,但我想知道您是否可以提供更多帮助。我会注意到保存的导入中没有任何内容,但是使用以下查询我确实看到了不完整的导入规范。 SELECT MSysIMEXSpecs.SpecName, MSysIMEXColumns.FieldName, MSysIMEXColumns.Start, MSysIMEXColumns.Width, MSysIMEXColumns.SkipColumn FROM MSysIMEXColumns INNER JOIN MSysIMEXSpecs ON MSysIMEXColumns.SpecID = MSysIMEXSpecs.SpecID ORDER BY MSysIMEXSpecs.SpecName, MSysIMEXColumns.Start, MSysIMEXColumns.Width;

标签: vba ms-access-2010


【解决方案1】:

使用以下

SELECT MSysIMEXColumns.SpecID, MSysIMEXSpecs.SpecName
FROM MSysIMEXColumns INNER JOIN MSysIMEXSpecs ON MSysIMEXColumns.SpecID = MSysIMEXSpecs.SpecID 
ORDER BY MSysIMEXSpecs.SpecName, MSysIMEXColumns.Start, MSysIMEXColumns.Width;

我确定了它使用的 specID(对我来说是 72)。然后我从 MSysIMEXColumns 中选择了所有内容

Select * from MSysIMEXColumns where specID = 72

并根据需要直接编辑/添加值。

【讨论】:

    猜你喜欢
    • 2018-05-14
    • 2012-05-02
    • 1970-01-01
    • 1970-01-01
    • 2015-08-20
    • 1970-01-01
    • 2013-12-18
    • 1970-01-01
    • 2010-11-19
    相关资源
    最近更新 更多