책 내용 질문하기
프로시저 질문이요..(입력시 -1 을 하는 이유)
도서
[2011] 컴퓨터활용능력 1급 실기(엑셀, 액세스 2007 사용자용)
페이지
293
조회수
96
작성일
2012-03-01
작성자
첨부파일

기본모의고사 1회 4-2번에서요..

조회 버튼 더블클릭하여 코드입력하는 부분에서 입력행 젤 마지막 -1을 하는 이유가 기준행 제외하고 순수하게 데이터 범위에 대한 행수를 구하기 위해서라고 했는데..

어떤 문제에선 -1이 없는가하면 여기선 -1이 있고..

문제 어디를 봐야 -1을 붙이느냐 안 붙이느냐 알 수 있나요?

(암호 : 48&523)

답변
2012-03-02 18:23:15

-1 을 하는 이유는 마지막에 입력된 데이터가 폼에 조회되게 하기 위해서 입니다.

입력행=[a3].row+[a3].currentregion.count

은 입력 버튼, 즉 컨트롤에 입력된 값을 마지막 셀뒤에 입력 할때 사용 하는 것이구요.

입력행=[a3].row+[a3].currentregion.count -1

은 조회 버튼, 즉 셀에 입력된 값의 마지막 데이터를 조회할때 사용 하는 것입니다.

[a3].row 는 a3의 행위치를 나타내므로 3이 나오구요.

[a3].currentregion.rows.count 는 a3부터 입력되어 있는 값들의 개수를 세게 됩니다.

a3부터 3줄의 데이터가 있다면 이 값은 3이 되고

3+3 이 되어 6 행이 되는 것이죠. (필드명 포함해서 입니다. 필드명부터 4줄이라면 4를 더해주셔야 합니다.)

즉 6번행부터 입력하게 합니다.

이것은 마지막 데이터 다음줄에 값을 입력 하는 입력 프로시저에 사용하는 것이고

여기에 -1 을 하신다면 마지막 줄을 조회하여 폼에 나타나게 하는 조회 프로시저를 작성 하는 것입니다.

이름=cells(입력행,1)

과 같이 나타내는 것은 이름에 셀에 입력된 값을 입력 하라는 것으로 셀에 입력된 값을 폼에 입력하게 하는

조회 하실때 사용하는 것이구요.

cells(입력행,1)=이름

은 셀에 폼의 컨트롤에 입력된 이름 값을 셀에 입력 하라는 것으로

입력 프로시저를 작성할 때 사용하는 것입니다.

프로시저에서 =은 같다가 아니라

오른쪽에 있는 데이터를 왼쪽으로 넣는다 라는 개념으로 생각 하셔야 합니다.

입력행 = [a3].row + [a3].currentregion.rows.count -1

이름=cells(입력행,1)

과 같이 작성하시면 조회를 하는 프로시저이고

입력행 = [a3].row + [a3].currentregion.rows.count

cells(입력행,1)=이름

으로 작성하시면 셀에 입력하는 입력 프로시저가 되는 것입니다.

좋은 하루 되세요.

"
  • *
    2012-03-02 18:23:15

    -1 을 하는 이유는 마지막에 입력된 데이터가 폼에 조회되게 하기 위해서 입니다.

    입력행=[a3].row+[a3].currentregion.count

    은 입력 버튼, 즉 컨트롤에 입력된 값을 마지막 셀뒤에 입력 할때 사용 하는 것이구요.

    입력행=[a3].row+[a3].currentregion.count -1

    은 조회 버튼, 즉 셀에 입력된 값의 마지막 데이터를 조회할때 사용 하는 것입니다.

    [a3].row 는 a3의 행위치를 나타내므로 3이 나오구요.

    [a3].currentregion.rows.count 는 a3부터 입력되어 있는 값들의 개수를 세게 됩니다.

    a3부터 3줄의 데이터가 있다면 이 값은 3이 되고

    3+3 이 되어 6 행이 되는 것이죠. (필드명 포함해서 입니다. 필드명부터 4줄이라면 4를 더해주셔야 합니다.)

    즉 6번행부터 입력하게 합니다.

    이것은 마지막 데이터 다음줄에 값을 입력 하는 입력 프로시저에 사용하는 것이고

    여기에 -1 을 하신다면 마지막 줄을 조회하여 폼에 나타나게 하는 조회 프로시저를 작성 하는 것입니다.

    이름=cells(입력행,1)

    과 같이 나타내는 것은 이름에 셀에 입력된 값을 입력 하라는 것으로 셀에 입력된 값을 폼에 입력하게 하는

    조회 하실때 사용하는 것이구요.

    cells(입력행,1)=이름

    은 셀에 폼의 컨트롤에 입력된 이름 값을 셀에 입력 하라는 것으로

    입력 프로시저를 작성할 때 사용하는 것입니다.

    프로시저에서 =은 같다가 아니라

    오른쪽에 있는 데이터를 왼쪽으로 넣는다 라는 개념으로 생각 하셔야 합니다.

    입력행 = [a3].row + [a3].currentregion.rows.count -1

    이름=cells(입력행,1)

    과 같이 작성하시면 조회를 하는 프로시저이고

    입력행 = [a3].row + [a3].currentregion.rows.count

    cells(입력행,1)=이름

    으로 작성하시면 셀에 입력하는 입력 프로시저가 되는 것입니다.

    좋은 하루 되세요.

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