| |
* 답변하시는 분들께 도움이 되도록 자신의 환경을 아래 항목 옆에 기재해 주세요.
1. 액세스 버전(95,97,2000,2002): 2000
2. 윈도우즈의 버전(win95,win98,winME,winNT,win2000,winXP): win98
3. CPU (486,PentiumI/II/III/IV...): 111
4. RAM (32,64,128,256,512MB,1G...): 128
* 아래줄에 질문을 작성하세요 >>
제 의도는 주소록 데이터의 주소를 받아들여 우편번호를 자동으로 입력하는 기능을 만들려고 합니다. 주소록의 자료가 2000건 정도 되므로 동별로 찾기기능을 이용하는것도 벅차기 때문에 완전 자동으로 입력하려는 거죠.
주소록 데이터 구조는 다음과 같습니다.
이름, 광역시군, 시군구, 읍면동, 하위, 번지, 우편번호
사용하는 폼은 2가지입니다.
------ 폼1 ------- --------폼2-----------
| 주소록 데이타 | | 주소 : 텍스트데이터 |
| 우편번호 | | 리스트박스 |
|----------------| |---------------------|
폼1은 주소록의 1명의 기본적인 데이타가 뜨는 전형적인 폼이고이고,
폼2는 해당주소에 대한 우편번호가 한개일때는 나타나지 않고
바로 폼 1의 우편번호 필드에 우편번호가 입력되지만,
해당주소에 대한 우편번호가 여러개일때는 어쩔수 없이 폼2의
리스트 박스에 해당 우편번호가 나열되고, 그 중 한가지를
클릭하면 폼1의 데이타에 우편번호가 자동 입력되도록 구성하고자
합니다.
폼1 에서 모든 레코드에 대해
For n=1 to 레코드수
....
DoCmd.Open ("폼2")
next
로 코딩할 시
우편번호가 여러개일 때
폼2가 화면에 나타나고 리스트박스 중 하나를 클릭
하여 우편번호를 입력하고 Docmd.close를 해주면
폼2가 사라진 후 위의 For문이 더이상 작동하지 않는다는겁니다.
제 질문의 요지는
폼2를 닫은 후 폼1의 For 문이 나머지 루프를 돌게 하려면 어떻게
해야 하는지요.
오늘 하루종일 머리를 써 봤지만, 답을 얻을 수없었습니다.
레코드당 우편번호를 하나씩 입력하는 것은 성공했지만...
일괄해서 우편번호를 자동으로 입력하는 부분이 어렵군요...
아직 레코드update부분은 손도 대지 못했습니다.
도움 부탁드립니다.
아마도 폼2의 리스트박스 더블클릭 이벤트에서 폼2가 종료되면서
폼1내의 코드가 실행되지 않는것 같습니다.
파일도 첨부했습니다. 더 좋은 방법이 있으면 도움 주십시오
Private Sub List6_DblClick(Cancel As Integer)
If Act = 1 Then
Forms![F소유자입력폼]![우편번호] = Forms![F우편번호검색폼]![List6] '바운드열이 6임을 폼에서 정적으로 정의했음
Command0.Visible = True
DoCmd.Close
Else
arrOwnerAddress(ArrayIndexN, 1) = Forms![F우편번호검색폼]![List6] '바운드열이 6임을 폼에서 정적으로 정의했음
Command0.Visible = True
DoCmd.Close
End If
End Sub
==============[아저씨님 글에 대한 답변입니다]==============
끝나는 것이 아니라 폼이 열려 있는 사이 다 지나가 버리는 것 같네요..
그나저나.. 코딩을 이렇게 잘 하시는 분이.. 테이블이..
예전에 1월, 2월 ... 12월 테이블을 본 이후로...
뭔가 사연이 있겠지요.. |
|