책 내용 질문하기
쿼리부분 컨트롤 분리 연결 문제
도서
2016 시나공 컴퓨터활용능력 1급 실기
페이지
177
조회수
87
작성일
2016-02-25
작성자
첨부파일

docmd를 이용하는 runsql명령에서 폼의컨트롤이 아닌 프로시저에서 선언한 변수를 사용하는 경우에는 변수를 분리하라고 제시되어있는데

프로시저에서 선언한 변수인지 확인하는 쉬운방법이 있을까요

아예 모든 식을쓸때 구분하지 않아도 되는 식도 구분해도되는지요

또 141page에 txt제품명에 숫자값을 가지고 있으면 작은따옴표를 쓰지 않는데 써도 되나요

아무리 예제를 봐도 해결이 되지 않습니다.

답변
2016-02-26 07:19:28

폼의 컨트롤이 아닌 프로시저에서 선언한 변수(변수상품코드)

프로시저 안에서 선언한 것입니다.

docmd.runsql "Delete * from 상품_2 where 상품코드 =''" & 변수상품코드 & "''"

를 사용하기 전에 필요에 의해서 만들어진 변수 입니다.

만약.. 변수상품코드를 어떤 컨트롤에 입력되어 있는 결과에 따라 달라진다고 할때..

if txt상품명 = "전화기" then
변수상품코드 = 1
else
변수상품코드 = 2
end if

docmd.runsql "Delete * from 상품_2 where 상품코드 =''" & 변수상품코드 & "''"

라고 사용된다면..

변수상품코드에는 1이나 2의 값이 들어가고 상품코드와 비교가 되게 됩니다.

이것이 폼의 컨트롤이 아닌 프로시저에서 선언한 변수 입니다.

숫자값일때 작은따옴표를 사용하면 문자값으로 인식되므로 사용하면 안됩니다.

좋은 하루 되세요.

  • *
    2016-02-26 07:19:28

    폼의 컨트롤이 아닌 프로시저에서 선언한 변수(변수상품코드)

    프로시저 안에서 선언한 것입니다.

    docmd.runsql "Delete * from 상품_2 where 상품코드 =''" & 변수상품코드 & "''"

    를 사용하기 전에 필요에 의해서 만들어진 변수 입니다.

    만약.. 변수상품코드를 어떤 컨트롤에 입력되어 있는 결과에 따라 달라진다고 할때..

    if txt상품명 = "전화기" then
    변수상품코드 = 1
    else
    변수상품코드 = 2
    end if

    docmd.runsql "Delete * from 상품_2 where 상품코드 =''" & 변수상품코드 & "''"

    라고 사용된다면..

    변수상품코드에는 1이나 2의 값이 들어가고 상품코드와 비교가 되게 됩니다.

    이것이 폼의 컨트롤이 아닌 프로시저에서 선언한 변수 입니다.

    숫자값일때 작은따옴표를 사용하면 문자값으로 인식되므로 사용하면 안됩니다.

    좋은 하루 되세요.

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