안녕하세요.
모의고사를 풀어보다 모르는 것이 있어 이렇게 질문드립니다.
다름이 아니라 쌍따옴표와 작은따옴표에 관련된 부분인데요.
기본 모의고사 05회 문제3의 2번을 보면 cmd검색 버튼을 누를 시 다음과 같은 기능~~ 인데요
정답을 보면 아래와 같습니다
Me.RecordSource = "SELECT * FROM 접수WHERE 접수.중량코드 = '" & cmb중량 & "' AND 접수.운송코드 = '" & cmb운송방법 & "'"
저도 늘 이런 문제를 풀어와서 이 부분은 그러려니 하는데 그 다음 348페이지에 나온 문제 4의 1번이 헷갈리네요
요금인상 버튼(cmd요금인상)을 누르면 테이블 업데이트를 하라는 이벤트 프로시저를 만드는 게 목표인데 정답은 아래와 같습니다.
DoCmd.RunSQL "UPDATE 운송 SET 운송.운송요금 = 운송요금 + txt변경값 Where 운송방법 = cmb운송방법"
여기서 문제나 정답을 이해하지 못한 건 없습니다.
다만 RunSQL을 할 때는 작은따옴표와 & 연산자는 전혀 사용하지 않고 그냥 단 번에 처리해버리고, 반면에 RecordSource를 비롯하여 Filter 같은 함수들은 항상 작은따옴표 이후 & 연산자로 묶어서 사용하던데 RunSQL만 예외적인 건가요?
어떤 차이점이 있는지 궁금해요.
안녕하세요.
컨트롤을 분리하지 않고 상품코드=txt상품코드 와 같이 사용하는 경우는
Docmd를 이용하는 RunSQL이 있습니다.
Docmd.RunSQL "Delete * from 상품 where 상품코드 = txt상품코드" 와 같이 사용됩니다.
상품코드="' & txt상품코드 "'" 처럼 반드시 분리하여 연결하는 경우는 다음 두 가지를 기억해 주시면 됩니다.
- Me.Filter를 사용하여 조회문을 입력할 경우
- RecordSource, RowSource에 SQL문을 입력할 경우
자세한 예제는 액세스 책 p.181에 설명되어 있습니다.
오늘도 좋은 하루 보내세요.
-
*2018-10-11 22:03:27
안녕하세요.
컨트롤을 분리하지 않고 상품코드=txt상품코드 와 같이 사용하는 경우는
Docmd를 이용하는 RunSQL이 있습니다.
Docmd.RunSQL "Delete * from 상품 where 상품코드 = txt상품코드" 와 같이 사용됩니다.
상품코드="' & txt상품코드 "'" 처럼 반드시 분리하여 연결하는 경우는 다음 두 가지를 기억해 주시면 됩니다.- Me.Filter를 사용하여 조회문을 입력할 경우
- RecordSource, RowSource에 SQL문을 입력할 경우
자세한 예제는 액세스 책 p.181에 설명되어 있습니다.
오늘도 좋은 하루 보내세요.