2014-03-29 3 views
0

나는 데이터 유형 불일치 오류가 발생합니다. "KLIST"테이블의 "KLIST"필드는 숫자가 들어있는 텍스트 필드이기도합니다.데이터 형식 불일치 ACESS 2010 VBA

양식의 텍스트 필드에 숫자를 입력해도 사실 필드 형식이 변경됩니까? 그리고 만약 그렇다면 WHERE 문에서 어떻게 비교할 수 있습니까?

감사합니다. KLIST 만약

+1

'sSQL = "SELECT * FROM KLIST WHERE KLIST ='"& Me.bleh & " '" –

+0

포맷 오류가 사라졌지 만 이제는 기록. 나는 두 번 확인했고 그런 기록이있다. 숫자의 ASCII 코드를 문자열로 가져올 가능성이 있습니까? – DanielLazarov

+0

나는 그렇게 생각하지 않는다, 나는 방금 번호로 시험했고 그것은 나를 위해 일한다. 테이블 (또는'Me.bleh')에 필드에 추가 공백이 있는지 확인하십시오. (뒤 또는 앞자리) –

답변

0

, 이것은 당신이 SQL에서 VBA 변수를 사용하는 방법에 대한이를 볼 수 있습니다 또한

sSQL = "SELECT * FROM KLIST WHERE TRIM(KLIST) = '" & TRIM(Me.bleh) & "'" 

작동 다른 데이터 유형에 대한 설명 : Global Variables in SQL statement

0

는 문자열 구분 기호 (SQL에서 작은 따옴표)에 추가해야합니다, 텍스트 컬럼입니다 : VBA에서

SELECT * FROM KLIST WHERE KLIST = '123' 

sSQL = "SELECT * FROM KLIST WHERE KLIST = '" & Me.bleh & "'" 

SQL 문자열 내의 작은 따옴표 견적을 두 배로하여 도망 갈 수 있습니다.

SELECT * FROM KLIST WHERE KLIST = 'that''s it' 

사용 VBA에서 Replace 기능이를 달성하기 : 댓글에서 후속으로

sSQL = "SELECT * FROM KLIST WHERE KLIST = '" & Replace(Me.bleh, "'", "''") & "'"