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

 황동준 (bogri2000)

추천:  0
파일:     220620.png (24.1KB) 조회:  983
제목:   [RE]엑세스 초보자...폼계산데이터->테이블 저장
     
 
- 액세스 버전(2007):

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

엑세스를 20년 지나서 사용해야 하는데 다 까먹었어요 ㅠㅠ
요지는요....
폼을 화면에서 무식하게 + 수식을 이용해 산출을 했습니다.
산출된 '체험인원'이 자동으로 테이블 '체험인원' 데이터에 입력할 수
 없나요?
다른 데이터는 폼에서 입력된 내용 그대로 입력되는데
왜 수식으로 입력되어 자동계산된 것은 테이블에 입력이 안될까요/

고수님들의 도움을 요청합니다.

==============[ey-flo님 글에 대한 답변입니다]==============

바운드 폼의, 각각의 필드의 컨트롤 원본은 해당 테이블에
필드명이어야  자동 저장 됩니다.

따라서 체험인원 필드의 컨트롤 원본은 '체험인원' 으로 설정하시고,
거기에 있던 더하기 수식은 vba로 실행 시켜 주면 됩니다.

이때 어떤 이벤트에 설정 할지 잘 생각 하셔야 합니다.

# # # # # # # # # # # # #

10대이하~80대 이상 까지 순차적으로 숫자를 기입하고 체험인원 필드로 포커스가 올때,
체험인원 필드의 On Got Focus 나 On Enter 이벤트에 해당 수식을 써 주면 됩니다.
Private Sub 체험인원_Enter()
    Me.체험인원 = [10대이하] + [10대] + [20대] + [30대] + [40대] + [50대] + [60대] + [70대] + [80대 이상]
End Sub

또는

Private Sub 체험인원_GotFocus()
    Me.체험인원 = [10대이하] + [10대] + [20대] + [30대] + [40대] + [50대] + [60대] + [70대] + [80대 이상]
End Sub
# # # # # # # # # # # # #

위의 방법은 모든 인원을 입력 또는 수정한 후 체험인원 필드로
포커스가 가야만 계산이 된다는 단점이 있습니다.

그래서 계산이 될 모든 필드의 After Update 이벤트에 
수식이 실행 되도록 하는 것이 좋습니다.

Private Sub Ctl10대_AfterUpdate()
    Me.체험인원 = [10대이하] + [10대] + [20대] + [30대] + [40대] + [50대] + [60대] + [70대] + [80대 이상]
End Sub

Private Sub Ctl10대이하_AfterUpdate()
    Call Ctl10대_AfterUpdate
End Sub

Private Sub Ctl20대_AfterUpdate()
    Call Ctl10대_AfterUpdate
End Sub

Private Sub Ctl30대_AfterUpdate()
    Call Ctl10대_AfterUpdate
End Sub

Private Sub Ctl40대_AfterUpdate()
    Call Ctl10대_AfterUpdate
End Sub

Private Sub Ctl50대_AfterUpdate()
    Call Ctl10대_AfterUpdate
End Sub

Private Sub Ctl60대_AfterUpdate()
    Call Ctl10대_AfterUpdate
End Sub

Private Sub Ctl70대_AfterUpdate()
    Call Ctl10대_AfterUpdate
End Sub

Private Sub Ctl80대_이상_AfterUpdate()
    Call Ctl10대_AfterUpdate
End Sub 

# # # # # # # # # # # # #

엑세스 2010 버전 이후부터 적용된 테이블의 계산 필드를 이용 할 수도 있습니다.
 
[불량 게시물 신고]  
        
  

작성일 : 2022-06-20(02:23)
최종수정일 : 2022-06-20(02:23)
 


 ◎ 관련글

  제 목   작성자   날짜
엑세스 초보자...폼계산데이터->테이블 저장 ey-flo 2022-06-19
[RE]엑세스 초보자...폼계산데이터->테이블 저장 황동준 2022-06-20