본 교제 엑세스 348P 1번
1. DoCmd.RunSQL "update 운송 set 운송요금 = 운송요금 + txt변경값 where 운송방법 = cmb운송방법"
정답을
2. DoCmd.RunSQL "update 운송 set 운송요금 = 운송요금 + txt변경값 where 운송방법 =" & "'" & cmb운송방법 & "'"
이런 식으로 해도 작동되는데 2번째 방식으로 입력하여도 정답이 되는지와
명령어를 작성하고 where 조건부분에 " ' & 이런 것들은 어떤 경우에 사용해야 하는지 알고 싶습니다.
안녕하세요.
정상작동 되었다면, 정답으로 인정됩니다.
Docmd.RunSQL에서는 작은따옴표나 & 연산자를 이용해서 컨트롤을 분리해주시지 않아도 됩니다.
<컨트롤 분리>
우선 분리하지 않고 상품코드=txt상품코드 와 같이 사용하는 경우는
Docmd를 이용하는 RunSQL이 있습니다.
Docmd.RunSQL "Delete * from 상품 where 상품코드 = txt상품코드" 와 같이 사용됩니다.
상품코드="' & txt상품코드 "'" 처럼 반드시 분리하여 연결하는 경우는 3가지가 있습니다.
- Docmd를 이용한 RunSQL문이지만, 폼의 컨트롤이 아닌 프로시저에서 선언한 변수를 사용한 경우
(프로시저에서 선언한 변수는 Docmd.RunSQL을 사용하기 전에 필요에 의해 만들어진 변수를 의미합니다. 시험에는 아직 출제되지 않았습니다. 이런 것이 있다는 것 정도만 알고 계시면 좋을 것 같습니다.)
- Me.Filter를 사용하여 조회문을 입력할 경우
- RecordSource, RowSource에 SQL문을 입력할 경우
자세한 예제는 액세스 책 p.181에 설명되어 있습니다.
오늘도 좋은 하루 보내세요.
-
*2018-10-01 12:06:51
안녕하세요.
정상작동 되었다면, 정답으로 인정됩니다.
Docmd.RunSQL에서는 작은따옴표나 & 연산자를 이용해서 컨트롤을 분리해주시지 않아도 됩니다.
<컨트롤 분리>
우선 분리하지 않고 상품코드=txt상품코드 와 같이 사용하는 경우는
Docmd를 이용하는 RunSQL이 있습니다.
Docmd.RunSQL "Delete * from 상품 where 상품코드 = txt상품코드" 와 같이 사용됩니다.
상품코드="' & txt상품코드 "'" 처럼 반드시 분리하여 연결하는 경우는 3가지가 있습니다.- Docmd를 이용한 RunSQL문이지만, 폼의 컨트롤이 아닌 프로시저에서 선언한 변수를 사용한 경우
(프로시저에서 선언한 변수는 Docmd.RunSQL을 사용하기 전에 필요에 의해 만들어진 변수를 의미합니다. 시험에는 아직 출제되지 않았습니다. 이런 것이 있다는 것 정도만 알고 계시면 좋을 것 같습니다.)
- Me.Filter를 사용하여 조회문을 입력할 경우
- RecordSource, RowSource에 SQL문을 입력할 경우
자세한 예제는 액세스 책 p.181에 설명되어 있습니다.
오늘도 좋은 하루 보내세요.