我在继承一系列Access查询时遇到了一些问题。此前下面的VBA代码工作的预期,但我改变了一些过滤条件(变更日期范围,以反映新的一年),我现在遇到了一个问题,下面的代码:Access 2010-将数字字段转换为使用VBA的文本时遇到问题
'1) Make Leaks LMS Date from FMSPROD
DoCmd.OpenQuery "LeakLMSDateMkTbl"
DoEvents
'Change Leak number data type from number to text.
dbs.Execute "ALTER TABLE LeaksLMSDate " & "ALTER COLUMN LEAK_NO CHAR(20);"
dbs.Close
'2) Make Leaks All Orders Table
DoCmd.OpenQuery "LeaksMkTbl"
DoEvents
总结第一台联合收割机来自一个数据库的几个表使用LEAK_NO字段作为标识符。在该数据库中,数据以数字形式存储。第二个表格引入另一个数据库的某些字段,其中相同的信息以文本形式存储。插入中间的转换代码以修改字段类型以将LEAK_NO字段从数字转换为文本,但似乎不起作用。
当我运行关联的子表时,第一个表被创建,但我得到运行时错误3615类型不匹配表达式中的第2步。当我去查看LeaksLMSDate表时,LEAK_NO字段仍然被格式化为一个号码。在这一点上,我很难理解为什么代码不能按预期运行。任何帮助,将不胜感激。
不要在日期处理中运行“Alter Table”。创建一个读取LeaksLMSDate并转换为您需要的值类型的查询。然后使用此查询进行进一步处理。 – Gustav