개발자의 경우 여러 DB툴(DB Tool)들 예를들어 TOAD, 골든(Golden), 오렌지(orange)등등을
이용하여 DB의 테이블에 있는 데이타들을 직접 ACCESS한다
그러나 업무일선의 사용자들은 데이타이용에 많은 제약을 받는다
원시적으로 화면의 데이타를 다시 수작업으로 입력하거나
약간 개선된 업무환경이라 하더라도 화면의 데이타를 덤프(Dump)하여 내려서
다시 가공하여 쓰거나 개발실(또는 전산실)에 요청하여 데이타를 작성해달라고
요청하는 정도이다
실제로 윗분들에게 보고하는 많은 자료는 엑셀로 데이타를 편집,가공하여
제출하는 일들이 빈번하기 때문에 이는 업무담당자에게 상당한 업무로드가
되고있다
사용자가 약간의 엑셀 VBA지식을 갖고 있다면 아래의 VBA를 이용하여
원하는 업무데이타를 데이타베이스에서 가져와 사용할 수 있고 어떤 경우
이것은 획기적인 업무생산성으로 연결될수도 있다
녹색으로 되어있는 부분을 선택하고
VBA창으로 가서 아래의 코드를 실행하는 방식으로 하면 된다
Sub test()
Dim conn As ADODB.Connection
Dim rs As ADODB.Recordset
Set conn = New ADODB.Connection
Set rs = New ADODB.Recordset
conn.Open "Driver={Microsoft ODBC for Oracle};" & _
"Server=svr_name;" & _ 'svr_name에 해당DB의 서버이름으로
"Uid=xxx;" & _ 'xxx에 접속 사용자 ID
"Pwd=yyy;" 'yyy에 접속 패스워드
Set rng = Selection
For Each c In rng
Sql = "select sum(amount) from abc_tbl " & _
"where abc_date = '" & c.Cells(1, 2).Value & _
"' and abc_id = '" & c.Cells(1, 1).Value
rs.Open Sql, conn
Set fld1 = rs.Fields(0)
Do Until rs.EOF
c.Cells(1, 3).Value = fld1.Value
rs.MoveNext
Loop
rs.Close
Next
Set rs = Nothing
conn.Close
Set conn = Nothing
End Sub
'컴퓨터 > 엑셀' 카테고리의 다른 글
Excel Option 버튼에서 복수선택 VBA 처리 (0) | 2011.11.22 |
---|---|
엑셀VBA에서 Membership(문자열 배열에서 특정문자열 string 유무 확인) Check (0) | 2011.11.21 |
엑셀 VBA 활용하여 파일 목록 작성 (File Lister) (0) | 2010.09.14 |
엑셀 VBA에서 필터를 이용한 중복데이타 제거 및 조건충족데이타 추출 (0) | 2010.09.07 |
엑셀 2007에서 VBA 열기 (0) | 2010.09.03 |