책 내용 질문하기
엑세스 SQL 작성문 따옴표 사용이 궁금해요~~
도서
2018 시나공 컴퓨터활용능력 1급 실기(엑셀, 액세스 2010 사용자용)
페이지
348
조회수
51
작성일
2018-10-11
작성자
탈퇴*원
첨부파일

안녕하세요.

모의고사를 풀어보다 모르는 것이 있어 이렇게 질문드립니다.

다름이 아니라 쌍따옴표와 작은따옴표에 관련된 부분인데요.

기본 모의고사 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만 예외적인 건가요?

어떤 차이점이 있는지 궁금해요.

답변
2018-10-11 22:03:27

안녕하세요.

컨트롤을 분리하지 않고 상품코드=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에 설명되어 있습니다.


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

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