드로우홀릭 더베이직
1. 오피스 버전은 2010입니다.
2. 원래 엑셀로 하고 있던 프로그램을 빠르게 실행하고 싶어서 액세스 무작정 따라하기 2013을 읽고 덜컥 액세스를 배우게 되었습니다.
3. 원래 기존에 제가 만들었던 엑셀 프로그램에서 쓰고 있던 Trend 함수를 적용하려고 고수분들이 만드신 Trend 함수 모듈을 적용했습니다.
4.결과적으로, 적용은 했으나 레코드 수가 400개 밖에 안되는데도, Trend 함수 결과가 나오는 시간이 엑셀보다 더 오래 걸리는 것 같습니다.
Q. 어떻게 해결하면 좋을까요?? 그냥 엑셀에서 트랜드 함수까지는 적용한 데이터를 불러와야하는건가요?
+. 원격 서비스를 받고 싶은데, 책을 구매했는데 E-book 입니다. 10~20분 서비스를 받기 위한 코드 같은 것이 따로 있는 건가요?
** 불러온 trend 함수 모듈은 아래와 같습니다
Public Function Trend(ByVal Input1, Input2, Input3, Input4, Input5 As Double) As Double
Dim objExcel As Object
Dim result As Variant
Dim Arg1(1) As Double
Dim Arg2(1) As Double
Dim Arg3 As Double
Set objExcel = CreateObject("Excel.Application")
Arg1(0) = Input1
Arg1(1) = Input2
Arg2(0) = Input3
Arg2(1) = Input4
Arg3 = Input5
result = objExcel.WorksheetFunction.Trend(Arg1, Arg2, Arg3)
Trend = result(1)
Set objExcel = Nothing
Exit_Trend:
Exit Function
Err_Trend:
MsgBox Err.Number & " " & Err.Description
Resume Exit_Trend
End Function
VBA 까막눈이라서 해석이 어려웠는데 감사합니다!
자료는 회사 자료라서 공유가 어렵지만 쓰려고 하는 맥락을 말씀드려볼게요!
쓰고자 하는 의도는 예상 판매량 예측입니다.
제품별로 최근 3주치의 주별 판매량을 적어두고, 금주 판매량을 예측하고자 함입니다.
판매량 예측 후에는 매장의 재고와 연동하여 몇 개 정도를 추가적으로 보내야하는지 계산하려고 합니다!
(표로 예시 하나 남겨두겠습니다 ㅠㅠ)
|
|
|
|
|
제품명 | 3주전 판매량 | 2주전 판매량 | 1주전 판매량 | 금주 판매 예측량(알고 싶은 값) |
딸기 | 10 | 20 | 30 | ??? (Trend 함수) |
바나나 | 30 | 10 | 20 | ??? (Trend 함수) |
혹시 액세스에서 이를 처리하기 위한 다른 방법이 있을까요?
지금 말씀하신 Trend 함수는 액세스에서 만들었다가 보다는 엑셀의 Trend 함수를 액세스에서 불러와 사용하는 함수입니다.
그러니 당연히 엑셀에서 만든 것보다 더 느릴수 밖에요. 특히 함수를 호출할 때 마다 'CreateObject'를 하니 엄청 느릴 것입니다.
가장 빠른 방법은, 엑셀에서의 Trend 함수와 동일한 기능을 하는 것을 액세스에서 만드는 것입니다. 지금 것은 엑셀 함수를 액세스에서 사용하게 해 주는 것 뿐입니다.
어떤 맥락에서 Trend 함수를 사용하는지 모르겠네요.
액세스에서 데이터 처리를 할 때에는 완전히 달리 해결되는 경우도 있으니, 업무적으로 풀어서 데이터를 가지고 설명해 보시면 더 나은 설명을 드릴 수 있을 것 같네요.