2

我正在使用 DAO 将数据插入 Access 数据库。当我连接字段时,会删除尾随空格。如何插入数据保留尾随空格?

例如,以下代码在创建列“mytext”时去除字段 ref 和 name 的尾随空格:

INSERT INTO mytest (ref, mytext) SELECT ref, ref + name + '/' FROM mytable

mytable 是我已链接的 FoxPro 2.5 表。我假设 FoxPro 表中的列包含尾随空格,因为我在 FoxPro 中的数据不占用字段的整个宽度,并且在 FoxPro 中,当我运行包含连接运算符的 REPLACE 时,会出现尾随空格:

REPLACE ALL mytext WITH ref + name

列 "ref" 和 "name" 是长度为 10 的字符字段。如果 ref = "S1" 和 name = "fred" - FoxPro 中运行的命令将 mytext 设置为 "S1" 然后 8 个空格然后 "fred" 然后 4 个假定空格- 在 VB6 中运行的 DAO 命令将 mytext 设置为“S1fred”

4

1 回答 1

1

假设 [name] 是 10...

也许明确地添加空格会起作用

INSERT INTO mytest (ref, mytext) 
SELECT ref + space(10-len(ref)), 
       ref + [name] + space(20 - (len(ref)+len([name]) ) )+'/' 
FROM mytable

如果 ref 和/或 name 的列大小发生变化,您必须维护此查询。为了安全起见,请使用 left(ref + space(10), 10)。如果您的列大小更改,至少它不会中断

于 2012-12-24T09:00:27.740 回答