使用规范文件访问理由问题

Posted

技术标签:

【中文标题】使用规范文件访问理由问题【英文标题】:Access justification issue using a specification file 【发布时间】:2014-12-11 17:34:08 【问题描述】:

我正在使用 MS Access 2007 并尝试使用规范文件导出到文本文件。

我遇到了许多字段左对齐为数字字段的问题(导出器将它们视为文本并左对齐)。

例如,我将使用一个名为“Servicer Loan Number”的字段。在我的数据库中,我将字段“Servicer Loan Number”定义为数字 - 长整数。

我创建了一个查询并为字段“Servicer Loan Number”构建了以下表达式

 expServicerLoanNumber: Space(12-Len(Format([Servicer Loan Number],"General Number"))) & Format([Servicer Loan Number],"General Number")

在我的规范文件中,我将expServicerLoanNumber 定义为长整数。

使用向导,我可以逐步完成导出到文本的过程,并看到实际上我的 Space 函数正在工作并且正确地证明了 expServicerLoanNumber。所以我选择下一个并明显地看到它在我的屏幕上工作。但是,一旦我在记事本中打开文本文件,expServicerLoanNumber 数据列不再右对齐,而是左对齐。

认为这可能是导出向导的问题,我决定构建 vba 代码来调用下面列出的传输文本函数。

  DoCmd.TransferText acExportFixed, "QRY_SURF_Extract_Export_Spec", "QRY_SURF_Extract", path & "2001f029_emc_" & (Format(Date, "YYYYMM")) & ".txt", 0

这也忽略了 Space 函数并继续左对齐我的 expServiceroanNumber 数据列。

对此的任何帮助将不胜感激。哦,顺便说一句,我将我的 MS Access 数据库转换回 2002-03 版本,结果仍然相同。

【问题讨论】:

您是否尝试过在没有“空格...”的情况下按原样导出字段?一旦你在一个数字前面引入一个空格,我相信它会把它当作文本? 是的,不幸的是,这就是我开始尝试将表格导出到文本文件的方式。我没有建立任何表达式。一旦我开始研究我的理由问题,解决它的一种方法就是添加表达式。再次通过向导时,它会真正出现,因为它正在向右证明数据的合理性。一旦我点击完成按钮并打开文件,就可以确定数据是左对齐的。似乎它们是使用规范文件的 MS Access 2007 中的错误。 您使用什么作为分隔符?您是否使用固定宽度的字段?在 2010 年,我做了逗号分隔和固定宽度……两者都可以。如果不使用规范文件会怎样? 【参考方案1】:

您可以使用 schema.ini 文件代替 transfertext。您可以定义字段数据类型。查看以下博客,它描述了使用 schema.in 文件所需的所有内容。 https://officeaccelerators.wordpress.com/2015/02/08/exporting-text-file-from-access/

【讨论】:

以上是关于使用规范文件访问理由问题的主要内容,如果未能解决你的问题,请参考以下文章

重学SpringBoot系列之整合分布式文件系统

从多个/不同文件INPUTS访问文件到JS Var

HibernateSpring和Struts工作原理及使用理由

HibernateSpring和Struts工作原理及使用理由

命名规范

使用 VBA 将多个 TXT 导入最后一列时访问添加文件名