我使用的是Access2003数据库,有2个表,一个查询,一个宏用来查看文件,一个宏用来导出文件(分隔的,不固定的),还有一个表格。
主表构建如下:“职员姓名”,数据类型:文本,字段大小:22。“职员ID”,数据类型:文本,字段大小:22。"RT #“;数据类型:文本,字段大小:9。账号;数据类型:文本,字段大小:15。“金额”,数据类型:数字,字段大小:小数,格式:标准,精度:9,小数位数:2。生效日期,数据类型:文本,字段大小:2。"Status“;数据类型:text,字段大小:255。
辅表Active table构建方式为:员工姓名,数据类型:文本,字段大小:22。“职员ID”,数据类型:文本,字段大小:22。"RT #“;数据类型:文本,字段大小:9。账号;数据类型:文本,字段大小:15。“金额$”,数据类型:文本,字段大小:255。生效日期,数据类型:文本,字段大小:2。"Status“;数据类型:text,字段大小:255。
查询构建如下:“员工姓名”“员工ID”"RT #“”账号“”金额$:格式$(金额,"000000.00")“”生效日期“,条件为”请输入生效日期“”状态“,条件为”有效“
有2个宏1.视图:打开查询(按天激活),打开表单(frm_Veiw_Active_Table) 2.导出: TransferText (传输类型:导出分隔,表名:活动表)
有一个表单frm_Veiw_Active_Table
还有一个具有以下选项的总机:添加和编辑;查看所选日期导出所选日期退出
交换板的功能: 1.用户添加行或编辑行2.用户将点击“查看选定的日期”,并输入日期,例如3. (在后台,视图宏运行并查询有效日期为3的活动人员的查询过滤器;并显示只读结果)3.用户将单击“导出选定的日期”(在后台,查询用步骤2中选定的生效日期的结果替换“活动表格”中的值。然后导出宏将此结果导出到桌面上的.txt文件中)。
对于活动表中的所有文本字段,导出文件的长度各不相同,但Amount$ field除外,它以9个字符的固定数量导出(无论在主表中添加多少字符,查询都会填充0最多9个字符,因此它最多会导出9个字符,并以0开头)。
我需要为所有其他导出的文本字段设置固定长度,例如,员工姓名应始终为22个字符,如果人员姓名短于22个字符,则应使用空格填充22个字符。
有人知道如何在我的查询中添加一个公式,用不可见的字符填充我的文本字段吗,例如,员工姓名最多22个字符,以便在导出文件时,它具有固定数量的字符(字母和不可见)
任何帮助都将不胜感激。
只需注意:我确实尝试将我的导出宏设置为Transfer Type: Fixed Length;但这切断了我最后两列的生效日期和状态(这是我在查询中添加了条件的两个字段)
发布于 2009-07-23 15:59:27
要将字符串填充或截断为22个字符,请执行以下操作:
myNewString = left(myString & space(22),22)
在字符串的末尾添加22个空格,然后获取字符串最左边的22个字符。
https://stackoverflow.com/questions/1172708
复制相似问题