2013-03-19 2 views
0

액세스 데이터베이스에서 oledb 쿼리의 명령 줄에 약간 문제가 있습니다. 나는 액세스와 코드에서 여러 가지 다양한 구문을 시도했다. 데이터베이스에 연결하면 문제가 없으며 액세스를 쿼리로 실행하면 오류가 발생합니다.SQL 쿼리 할 쿼리 문자열 데이터베이스

SELECT * FROM MyTable WHERE MyColumn = 'This Text String'; 

내가이 액세스를 실행할 때 데이터 형식이 일치하지 않습니다. 큰 따옴표는 동일한 결과를 산출합니다. 나는 그것 때문에 공백이라고 생각은 내가 thusly 히 대괄호에서 텍스트 문자열을 포장 시도 할 :이 프롬프트 액세스에서

SELECT * FROM MyTable WHERE MyColumn = [This Text String]; 

"이 텍스트 문자열"로 매개 변수를 나열 "매개 변수 값을 입력합니다."

나는 또한처럼 연산자를 사용하여 시도했다 : 단일 또는 이중 따옴표 여부

SELECT * FROM MyTable WHERE MyColumn LIKE 'This Text String'; 

,이 오류를 생산하지뿐만 아니라, 어떤 결과를 얻을 수 없습니다. 나에게 구문 오류를주는 CONTAINS를 시도했다.

이 시점에서 나는 무엇을 시도해야할지 모르겠다. 내가 무엇을 달성하기 위해 노력하고있어입니다 :에

반환 모든 행 'MyColumn'의 텍스트가 '이 텍스트 문자열을'동일 곳 '을 MyTable'

누군가가 나를 도울 수

? 나는 뭔가 분명히 간과 할 것 같아.


편집 : 아 ...이게 문제인지는 모르겠지만 도움이 될지 모르겠습니다.

나는 필자가 기반으로 필터링하려고하는 열 (MyColumn)이 액세스의 일반 텍스트가 아니라 실제로 다른 테이블의 열을 조회한다는 것을 알게되었습니다.

데이터 유형이 실제로 텍스트가 아니기 때문에 문제 일 가능성이 큽니다. 목록이므로 숫자입니다. Ok ... 나는 그것을 어떻게 극복합니까?

+0

열 유형이 무엇을 가입해야? 오류가 무엇입니까? – dfb

+0

와우 ... 빠른 답장! 그것이 내가 방금 실현하고 게시물을 편집 한 것입니다. '이 텍스트 문자열'데이터 유형을 포함하는 열은 텍스트가 아니며 다른 테이블의 다른 열에서 사용할 수있는 선택 사항을 조회하므로 숫자입니다. 참조 할 수있는 방법이 있습니까? 또는 포함하는 테이블의 항목 수를 알아야합니까? – NapkinBob

답변

1

당신은 조회 테이블

SELECT * FROM MyTable INNER JOIN Lookup l on MyColumn = l.key and l.value = 'This Text String';