책 내용 질문하기
질문
도서
2018 시나공 컴퓨터활용능력 1급 실기(엑셀, 액세스 2010 사용자용)
페이지
348
조회수
36
작성일
2018-09-29
작성자
탈퇴*원
첨부파일

본 교제 엑세스 348P 1번

1. DoCmd.RunSQL "update 운송 set 운송요금 = 운송요금 + txt변경값 where 운송방법 = cmb운송방법"

정답을

2. DoCmd.RunSQL "update 운송 set 운송요금 = 운송요금 + txt변경값 where 운송방법 =" & "'" & cmb운송방법 & "'"

이런 식으로 해도 작동되는데 2번째 방식으로 입력하여도 정답이 되는지와

명령어를 작성하고 where 조건부분에 " ' & 이런 것들은 어떤 경우에 사용해야 하는지 알고 싶습니다.

답변
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에 설명되어 있습니다.


오늘도 좋은 하루 보내세요.

  • *
    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에 설명되어 있습니다.


    오늘도 좋은 하루 보내세요.

· 5MB 이하의 zip, 문서, 이미지 파일만 가능합니다.
· 폭언, 욕설, 비방 등은 관리자에 의해 경고없이 삭제됩니다.