我在 Word 2007 中遇到了与单词自动化\邮件合并、QueryString 命令和 SQL 语句相关的问题。
如果我使用 select 和 "=" 运算符,一切都会按预期工作。
doc.MailMerge.DataSource.QueryString =
"SELECT * FROM \"TableName\" WHERE \"Id\" = 10";
如果我使用 select 和“LIKE”运算符,它不会:
doc.MailMerge.DataSource.QueryString =
"SELECT * FROM \"TableName\" WHERE \"EmailAddress\" LIKE '%com%'";
看起来 Word 不理解“LIKE”运算符并跳过它。它返回表中的所有记录。
有没有办法在查询字符串中使用“like”?
更新:实际上,MailMerge.Execute 与 LIKE 语句一起正常工作。问题有点不同。系统中有一个地方我们显示 RecordCount (doc.MailMerge.DataSource.RecordCount),它返回不正确的值(它返回表中所有记录的计数)。因此,如果 LIKE 语句在 QueryString 中使用,Word 似乎无法确定记录数。