【问题标题】:Changing the length of Text fields in an Access linked table更改 Access 链接表中文本字段的长度
【发布时间】:2014-06-01 10:46:35
【问题描述】:

我正在将系统中的文件导出为.csv. 我的目标是将该文件作为表链接(与字段的输出字段匹配),然后运行查询并导出。

我遇到的问题是,在导入时,所有字段都是 255 字节宽,而不是它们需要的宽度。

这是我迄今为止尝试过的:

  • 我查看了ALTER TABLE,但无法在一个宏中运行多个ALTER TABLE 语句。
  • 我还尝试将表附加到另一个具有正确结构的表中,但它似乎覆盖了结构。
  • 我也尝试过使用具有适当字段长度的 Left 函数,但是当我尝试导出时,我几乎只看到每列 5 个字节。

根据我的情况,我想要的是关于最佳路径的建议。我无法修改最初的 .csv 导出,并且我想尽可能避免使用 VBA,因为我一点也不熟悉它。

【问题讨论】:

  • 当您说“所有字段都是 255 字节宽”时,您到底是什么意思?文本字段中的数据值是否用空格右填充到 255 个字符的长度?或者您的意思是当您在设计视图中打开链接表时,文本字段的(最大)长度为 255?

标签: sql vba ms-access csv


【解决方案1】:

您不必担心连接到 CSV 文件的 Access 链接表中 Text 字段的大小。 Access 只是为每个 Text 字段分配最大可能的最大大小:255。这并不意味着每个值实际上都是 255 个字符长,它只是意味着这些字段中的任何值都可以是 最多 255 个字符。

即使您可以更改链接表的结构(您不能),除了可能截断更长的 Text 值之外,它不会产生任何真正的区别,您可以使用 String 函数轻松做到这一点.例如,如果特定字段必须限制为 15 个字符,那么您可以简单地将 Left([fieldName], 15) 用作查询列或报表中的控制源。

【讨论】:

  • 就您的第一段而言,我知道这一点,但感谢您的确认。根据我的问题,虽然我确实尝试使用 Left 函数,但是当我尝试导出为固定宽度时,无论查询中的内容是什么,所有列都被限制为 5 字节宽度。
【解决方案2】:

最后,由于数据集并不大,我已将其设置为从源数据追加到具有正确结构的表中。我现在可以照常针对此表运行我的进程。

【讨论】:

    猜你喜欢
    • 2017-07-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-04-27
    相关资源
    最近更新 更多