나눔터  
  HOME > 나눔터 > 묻고답하기 > 액세스
액세스
액세스에 대한 질문과 답변을 올려주세요. 단, 취지에 맞지 않는 글은 운영자가 삭제합니다.
 "000 님, 도와주세요", "부탁 드립니다.", "급합니다!" 등과 같이 막연한 제목을 달지 말아주세요.
[필독] 빠르고 정확한 답변을 얻는 16가지 Tip !
[필독] 저작권법 개정에 따른 이용안내

작성자:  

 드리뭉 (efreecom)

추천:  0
파일:     조회:  526
제목:   findrecord메소드 에 대한 질문입니다....
     
  * 답변하시는 분들께 도움이 되도록 자신의 환경을 아래 항목 옆에 기재해 주세요.

1. 액세스 버전(95,97,2000,2002):
2. 윈도우즈의 버전(win95,win98,winME,winNT,win2000,winXP):
3. CPU (486,PentiumI/II/III/IV...):
4. RAM (32,64,128,256,512MB,1G...): 

* 아래줄에 질문을 작성하세요 >>

c폼과 d폼 모두 같은 테이블을 참조합니다.
그리고 c폼은 컬럼형식이고 d폼은 탭형식입니다.
그리고 d폼에서 c폼을 버튼으로 엽니다.
c폼에서 form_load()에서 docmd.gotocontrol "[c폼의이름컨트롤]"과
docmd.findrecord forms![d폼]![d폼의이름컨트롤]
이렇게 하면 c폼이 열렸을때 해당 레코드로 이동하지않고 예전의 레코드로 이동하지 않습니다.

안되어서 findfirst메소드로 해도 안되는군요

고수님들! 답변을 부탁드립니다......
 
[불량 게시물 신고]  
초보맨1.DoCmd.GoToControl "컨트롤이름" 하시면 될텐데요...
  Me.컨트롤이름.SetFocus 하셔도 되고 ...

2.d 폼이 탭형식이고 버튼으로 c 폼을 연다 하셨는데 
  d 폼에서 정확히 어떤 방법으로 c 폼을 열게되나요?  
  혹시 하위폼에 있다면 하위폼값을 참조하도록 식을 써주어야 합니다.
10-21 (12:37)
삭제 ■신고
드리뭉1번의 의견대로는 했고요
2번의 경우는 하위폼은 아닙니다.
10-21 (14:40)
삭제 ■신고
Crocii2.
이렇게 하십시요..
d 폼에서 c폼을 열때..
docmd.openform "c",,,"이름='" & me.이름 & "'"

이름이 중복되면 난감하겠군요.. 기본키 필드로 해주십시요..
아니면..

두 폼의 레코드셋이 완전히 같다는 가정하에..(같겠지요?)

forms!c.recordset.bookmark=me.recordset.bookmark

또는 반대로 열리는 쪽에서 해도 되겠지요..
sub form_Load()
me.recordset.bookmark=forms!c.recordset.bookmark
end sub

음.. 레코드셋이 만들어 지지 않은 상태여서 에러날 수도 있겠군요.. 

혹 에러나면..
doevents를 bookmark 쓰기 이전에 한번.. 넣어 주세요..
10-21 (20:15)
삭제 ■신고
드리뭉가르쳐주신데로 2가지방법를 모두 적용하니 레코드가 찾아지지만 폼이 열린후 레코드이동버튼을 누루면 '레코드를 이동할수없다'는 메시지가 뜨고 이동이 안됩니다.10-22 (14:01)
삭제 ■신고
Crocii레코드 이동을 하려면..
첫번째 방법은 안되지요.. 필터링 된 데이터만으로 레코드셋이 구성되어 있을테니까요.. 닫고 다시 열어야 합니다..

두번째 방법만 하십시요..
10-25 (16:36)
삭제 ■신고
드리뭉두번째 방법대로 해도 여전하군요
아무런 반응도 없습니다.
10-25 (19:08)
삭제 ■신고
        
  

작성일 : 2004-10-20(22:41)
최종수정일 : 2004-10-20(22:41)