알쓸전컴(알아두면 쓸모있는 전자 컴퓨터)
[VBA]CVS SQL로 연결 본문
CVS SQL로 연결
가끔 VBA로 메크로를 만들다 보면 자동화 설비에서 로그 파일을 CSV로 저장할때가 있습니다.
그럴때 VBA 에서 CSV 데이터를 처리할때 SQL로 하면 정말 편하겠다 해서 학습후에 적어 봅니다.
라이브러리 추가
도구 -> 참조
다음과 같이 라이브러리를 추가해 줍니다.
라이브러리를 추가 해야 CSV를 SQL 쿼리를 사용하여 데이터를 사용할수 있습니다.
CSV 내용
파일 경로 : D:\CSV
파일 이름 : testdata.csv
라는 조건으로 시작 하게 됩니다.
에디터로 본내용
Cassette,SLOT,RESULT TYPE,MEAN,MIN,MAX
,,,,,
Right,11,TEST1,10916.167,10902.4463,10929.9102
Right,11,TEST2,0.9762,0.9759,0.9764
Right,12,TEST3,10974.3008,10957.5713,10989.4609
Right,12,TEST4,0.9769,0.9766,0.9771
Right,13,TEST5,11032.5645,11009.8828,11055.9395
Right,13,TEST6,0.977,0.9766,0.9772
Right,14,TEST7,11050.4482,11021.4424,11068.3975
Right,14,TEST8,0.9772,0.9766,0.9774
Right,15,TEST9,11137.4893,11127.1348,11150.1846
Right,15,TEST10,0.9779,0.9776,0.9781
Right,16,TEST11,10941.0293,10927.2646,10963.7012
Right,16,TEST12,0.9766,0.9762,0.9768
Right,17,TEST13,10972.959,10836.6396,11060.2666
Right,17,TEST14,0.9768,0.9761,0.9771
Right,18,TEST15,10876.9141,10851.9688,10909.7129
Right,18,TEST16,0.9761,0.9759,0.9763
Right,19,TEST17,10915.8203,10890.7803,10932.376
Right,19,TEST18,0.9764,0.9761,0.9766
Right,20,TEST19,10974.1514,10952.1025,10992.084
Right,20,TEST20,0.9768,0.9764,0.977
Right,21,TEST21,10999.1719,10982.6699,11028.5918
Right,21,TEST22,0.977,0.9765,0.9773
Sub Moudle() Dim 연결 As New ADODB.Connection Dim 레코드셋 As New ADODB.Recordset Dim OLEDB As String Dim 경로 As String Dim Table As String 경로 = "D:\CSV\" Table = "testdata.csv" OLEDB = "Provider=Microsoft.Jet.OLEDB.4.0;" & _ "Data Source=" & 경로 & ";" & _ "Extended Properties=""text;HDR=Yes;FMT=Delimited"";" 연결.Open OLEDB xsql = "select * from [" & Table & "] " 레코드셋.Open xsql, 연결, adOpenStatic, adLockReadOnly Count = 레코드셋.RecordCount 레코드셋.MoveFirst For i = 1 To Count Debug.Print 레코드셋("MEAN").Value 레코드셋.MoveNext Next i End Sub
여기서 DB 는 폴더가 되고 table 은 csv 파일이 됩니다.
또한 칼럼속성은 첫번째 Row가 됩니다.
다음과 같은 결과가 나오게 됩니다.
'VBA' 카테고리의 다른 글
vba ScriptControl 429 error (0) | 2019.01.30 |
---|---|
VBA Json 파싱 (0) | 2018.12.21 |
excel을 DB 처럼 사용 하기 (0) | 2017.08.07 |
VBA MSSQL 접속 (0) | 2017.08.04 |
VBA 폴더내 파일 이름 조건 검색 (0) | 2017.08.04 |