什么是在 Access 2003 中将带有填充空格的文本字段导出到 txt 文件的解决方案或公式
Posted
技术标签:
【中文标题】什么是在 Access 2003 中将带有填充空格的文本字段导出到 txt 文件的解决方案或公式【英文标题】:What's a Solution or Formula to export a text field with padded spaces in Access 2003, to a txt file 【发布时间】:2009-07-23 15:47:14 【问题描述】:我使用 Access2003 数据库,有 2 个表,一个查询,一个查看文件的宏,一个用于导出文件的宏(分隔,不固定)和一个表单。
主表构建如下: “员工姓名”;数据类型:文本,字段大小:22。 “员工ID”;数据类型:文本,字段大小:22。 “RT#”;数据类型:文本,字段大小:9。 "A/C Number" ;数据类型:文本,字段大小:15。 “金额”;数据类型:数字,字段大小:十进制, 格式:标准,精度:9,比例:2,小数位数:2。 “生效日”;数据类型:文本,字段大小:2。 “状态”;数据类型:文本,字段大小:255。
二级表“活动表”构建如下: “员工姓名”;数据类型:文本,字段大小:22。 “员工ID”;数据类型:文本,字段大小:22。 “RT#”;数据类型:文本,字段大小:9。 "A/C Number" ;数据类型:文本,字段大小:15。 “金额$”;数据类型:文本,字段大小:255。 “生效日”;数据类型:文本,字段大小:2。 “状态”;数据类型:文本,字段大小:255。
查询构建如下: “员工姓名” “员工ID” “RT#” “A/C 号” "金额$: 格式$([金额],"000000.00")" 带有条件“[请输入生效日]”的“生效日” 标准为“活动”的“状态”
有 2 个宏 1.查看:打开查询(按天活跃ACH),打开表单(frm_Veiw_Active_Table) 2.导出:TransferText(传输类型:Export Delimited;表名:Active Table)
只有一种形式 frm_Veiw_Active_Table
还有一个带有选项的总机: 添加和编辑; 查看选定的日期 导出选定日期 退出
开关板的功能: 1.用户添加行或编辑行 2. 用户点击“查看所选日期”,输入日期 e.g.3 (在后台,查看宏运行并查询有效日期为 3 的活动人员的过滤器;并显示只读结果) 3. 用户点击“导出选定日期” (在后台,查询将“活动表”中的值替换为步骤 2 中选择的生效日期的结果。导出宏然后将此结果导出到桌面上的 .txt 文件中)
导出文件对于活动表中的所有文本字段都有不同的长度,但 Amount$ 字段除外,该字段以固定数量的 9 个字符导出(无论在主表中添加多少数量,都用 0 填充Query 最多 9 个字符,因此导出最多 9 个字符,前导 0)。
我需要为所有其他导出的文本字段设置固定长度,例如员工姓名应始终为 22 个字符,如果人名少于 22 个字符,则应在其中填充空格以达到 22 个字符。
有谁知道如何在我的查询中添加公式,用不可见字符填充我的文本字段,例如Employee Name 最多 22 个,这样当文件导出时,它有固定数量的字符(字母和不可见)
任何帮助将不胜感激。
请注意:我确实尝试将导出宏设置为传输类型:固定长度;但这切断了我最后两列有效日期和状态(这是我在查询中添加了条件的 2 个字段)
【问题讨论】:
【参考方案1】:将字符串填充或截断为 22 个字符:
myNewString = left(myString & space(22),22)
你在末尾添加 22 个空格,然后取你所创建的字符串的最左边的 22 个字符。
【讨论】:
我不明白如何在我的查询中将此应用于我的字段员工姓名和银行帐号。你能建议吗。并感谢您的回复 在您的查询中,将“员工姓名”列替换为“员工姓名:left([员工姓名] & Space(22),22)”。您必须将该列称为“员工姓名”以外的其他名称,否则 Access 会感到困惑。这有帮助吗? 天啊!!!它奏效了,非常感谢你......你是个天才。希望你有一个愉快的一天 嗨,现在我已经完成了将具有固定字符长度的文件导出到文本文件;我还有另一个挑战。有谁知道如何使用列标题将文件导出为文本?以上是关于什么是在 Access 2003 中将带有填充空格的文本字段导出到 txt 文件的解决方案或公式的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 MS Access 基于变量发送带有附加报告的自定义电子邮件? 2003 年或 2007 年
ACCESS2003 查询条件设置 把字段里某个字改为空格或限期 记录仍显示在查询结果里