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

작성자:  

 드리뭉 (efreecom)

추천:  0
파일:     조회:  179
제목:   bookmark가 않되는 것 같네요...함 봐주세요..
     
  * 답변하시는 분들께 도움이 되도록 자신의 환경을 아래 항목 옆에 기재해 주세요.

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

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

에러메시지 

"이 개체형식에서는 지원되지 않는 형식입니다."

탭형식의 폼에서 마지막레코드를 삭제후 커서가 빈레코드(마지막줄)에 가있는상태에서 컬럼형식의 폼을 열고 탭형식에서 삭제한 것이 적용되었나 확인해보면 그 레코드에 #deleted라고 나타나서 저의 좁은 소견으로는 삭제후 커서의 위치가 빈곳에 있어서 boomark(Forms![상담카드_관리].Bookmark = Me.Bookmark)기능이 제대로 작동하지 않은 것이 아닌가 생각되서 클릭이벤트에 다음과 같이 코드를 삽입했습니다.


Private Sub 상담카드1_Click()
On Error GoTo Err_상담카드1_Click
    
    Dim dbs As Database              '새로 삽입
    Dim rst As DAO.Recordset         '새로 삽입
    
    Dim stDocName As String
    Dim stlinkcriteria As String

    Set dbs = CurrentDb()                                      '새로 삽입 
    Set rst = dbs.OpenRecordset("상담카드", dbOpenTable)       '새로 삽입
    
    stDocName = "상담카드_관리"
    DoCmd.OpenForm stDocName, , , stlinkcriteria
    
    If rst.AbsolutePosition = rst.EOF Then    '새로 삽입
    
       rst.MoveFirst           '새로 삽입
       rst.MoveLast            '새로 삽입
       
    End If                '새로 삽입
    
    
    
    DoEvents
    
    
    
    Forms![상담카드_관리].Bookmark = Me.Bookmark
    
    DoCmd.Close acForm, "상담카드"
    
    dbs.Close
    rst.Close
    

Exit_상담카드1_Click:
    Exit Sub

Err_상담카드1_Click:
    MsgBox Err.Description
    Resume Exit_상담카드1_Click
    
End Sub

그리고 마지막 빈레코드에서 컬럼형식의 폼을 열었더니 위의 에러메시지가 뜨네요

에러메시지도 뜨지 않고 #deleted도 나타나지 않게 하려면 어떻게 해야 되나요?

파일은 앞전에 올린 저의 애칭 드리뭉으로 올려놓은 것과 같습니다.(여기의 파일은 클릭이벤트에 코드를 삽입하기 전의 것입니다. 질문에 있는 코드에 삽입내용이 있습니다.)

고수님들 부탁드려요
 
[불량 게시물 신고]  
김규경마지막 빈 레코드는 빈 레코드가 아니고 
실제는 존재하지 않은 유령 레코(ghost record)입니다. 
실체가 없으니 당연히 bookmark도 없겠죠?
조건식을 작성해서 피해가야 합니다.

If EOF 이면Then 
    ...
Else 
   ....
End If
11-08 (21:51)
삭제 ■신고
드리뭉if rst.EOF then
rst.MoveLast
else
doevents
Forms![상담카드_관리].Bookmark = Me.Bookmark
End if 
로 하니 폼이 열린후 "현재 레코드가 없습니다."라고 메시지가 뜨고 첫번째 레코드로 포인터가 이동됩니다.  이것이 정상 적인 것인지 아니면 이런 메지지도 안 뜨고  수 있게 할  수 는 없는가요?
11-09 (09:26)
삭제 ■신고
김규경BookMark는 해당 레코드셋에서만 작동합니다.
두 폼간에 작동하지는 않습니다.
두폼의 레코드셋을 서로 다른 레코드셋이므로...
레코드셋과 테이블이나 쿼리등 데이터 원본을 혼동하지 마십시오.
레코드셋은 레코드셋 개체이죠? 따라서 두개의 레코드셋에서 데이터 원본은 같아도 서로 다른 레코드셋입니다.
11-09 (21:01)
삭제 ■신고
        
  

작성일 : 2004-11-07(18:05)
최종수정일 : 2004-11-07(18:05)