나는 단어 자동화 \의 편지 병합에 관한 문제, 내가 선택하고 예상대로 "="연산자, 모든 작업을 사용하는 경우편지 병합, 쿼리 문자열을 반환 잘못된 레코드
워드 2007에서 명령 및 SQL 문장을 쿼리 문자열이있다.
doc.MailMerge.DataSource.QueryString =
"SELECT * FROM \"TableName\" WHERE \"Id\" = 10";
내가 선택하고 "LIKE"연산자를 사용하는 경우, 그것은하지 않습니다
doc.MailMerge.DataSource.QueryString =
"SELECT * FROM \"TableName\" WHERE \"EmailAddress\" LIKE '%com%'";
은 "LIKE"연산자를 이해하고 그냥 건너 뛸 수없는 말씀처럼 보인다. 테이블의 모든 레코드를 반환합니다.
querystring에서 "like"를 사용할 수있는 방법이 있습니까?
업데이트 : 실제로 MailMerge.Execute는 LIKE 문과 함께 올바르게 작동합니다. 문제는 조금 다릅니다. 시스템에 RecordCount (doc.MailMerge.DataSource.RecordCount)가 표시되고 잘못된 값을 반환합니다 (테이블의 모든 레코드 수를 반환합니다). LIKE 문이 QueryString에서 사용 중이면 Word에서 레코드 수를 확인할 수없는 것처럼 보입니다.
대답 주셔서 감사합니다, 우리는 SQL 서버에서 데이터를 얻을, 그래서 나는 그것이 작동하지 않습니다 궁금 해서요 ... 정렬/필터 대화 상자에 "좋아"도 이해해야한다 "옵션"을 포함하고 있습니다 ... 그러나 그렇지 않습니다. –
* .odc 파일을받는 사람의 데이터 원본으로 사용합니다. Word 2007 + SQL Server 2008 R2, 기본 OLE DB 연결 및 이전 SQLOLEDB.1 공급자 수동으로 메일 작업을 수행하면 필터가 제대로 작동하지만 코드에서 수행하면 작동하지 않습니다 ... EmailAddress 열은 테이블에서 varchar (200)입니다. –
제안을 주셔서 감사합니다 ... SQL 프로파일 러를 사용하여 조사를 수행하고 더 흥미로운 것을 발견 했으므로 문제를 해결하기 위해 거의 다가갔습니다 ... 실제로 MailMerge.Execute는 LIKE 문과 함께 올바르게 작동합니다. 문제는 조금 다릅니다. 시스템에 RecordCount (doc.MailMerge.DataSource.RecordCount)가 표시되고 잘못된 값을 반환합니다 (테이블의 모든 레코드 수를 반환합니다). LIKE 문이 QueryString에서 사용 중이면 Word에서 레코드 수를 확인할 수없는 것처럼 보입니다. –