|
맞습니다.
대신 순서를 생각하여 봅시다.세액을 입력한 이벤트하단에
총공급가=공급가액+세액
하면 됩니다.
안녕하세요? 지금 막 억세스에 재미를 붙인 초보중에 초보입니다.
저는 지금 억세스로 재고 프로그램을 만들어 보려고 하는데요. 거래금액을 입력하다가 보면 공급대가(부가세포함액)만 넣는 경우가 있구여. 아니면, 공급가액을 넣고 다시 세액을 넣어 다시 이 둘을 합산한 공급대가를 넣어야 되는 경우가 있더군요.
그런데, 후자는 일일이 입력하고 다시 합산하는 과정이 너무 복잡해서 나름대로 자동화할 양으로 공급가액에 afterupdate를 적용해 공급가액을 입력할경우 자동으로 그것의 10%를 세액 필드에 입력하도록 했습니다. 이렇게 말입니다.
Private Sub 공급가액_AfterUpdate()
[세액] = [공급가액] * 0.1
End Sub
그런데, 다음 작업은 이렇게 입력되어 있는 세액과 공급가액을 다시 합하여서 공급대가 필드에 넣어야 된다는 것이 지요. 그래서 처음에는 위와 같이 afterupdate 이벤트를 적용해 보았는데요. 그냥 엔터키만 쳐서는 안되고 일일이 세액을 다시 입력해야 되더군요.
Private Sub 세액_AfterUpdate()
[공급대가] = [공급가액] + [세액]
End Sub
그래서, keypress 이벤트를 이용해 보았습니다. 이렇게요
Private Sub 세액_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
[공급대가] = [공급가액] + [세액]
End If
End Sub
이렇게 하니깐 잘되기는 되던군요. 그런데, 어- !, 이상한 건요 세액 필드에서 앤터키를 쳤을때 위의 이벤트가 처리되어야 하는 것 아닌가요?
([공급가액]필드가 [세액]필드 앞에 있어요)
이상하게요 공급가액 필드에서 앤터를 쳐야만 [공급가액]+[세액]=[공급대가]되더라구요.
왜 그렇죠? 저는 분명히 세액필드에 키프레스 이벤트를 했는데요. 세액 필드에서는 엔터를 쳐도 소용 없어요. 반드시 공급가액에서 입력하고 엔터를 쳐야만 처리되요.
정말 이해가 안가네여. 고수님들 좀 알려주세요. 감사합니다.
PS [세액]필드 뒤에 있는 [공급가액]필드에 위 수식을 입력하니까.[세액]필드에서 엔터를 치면 되네요. 정말 이상하네요.
==============[최대석님 글에 대한 답변입니다]==============
|
|