님께서 원하신 소스입니다.
Private Sub Command3_Click()
Dim conn As New ADODB.Connection
Dim SQL As String
Command3.Enabled = False
conn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & App.Path & "\DB파일 이름.mdb"
SQL = "insert into 해당테이블이름 " _
& "Select * FROM [Text;DATABASE=" & App.Path & ";HDR=No;FMT=Delimited].[" & "입수컴마구분자파일.Csv" & "]"
conn.Execute SQL
MsgBox "OK"
conn.Close
Command3.Enabled = True
End Sub
단 해당 테이블의 필드와 입수컴마구분자파일.Csv 에 구분자로
구분된 필드 수가 같아야 합니다.
MDB에서 DB 및 테이블을 생성하셔도 됩니다.
만약 자동 생성을 원하시면 쪽지 주십시요.
그럼 즐프하세요.
님께서 원하신 DB생성 프로그램 입니다.
먼저 DAO를 사용하기 위해서는 구성요소의 참조에서
Microsoft DAO 3.6 Object Libry 를 체크해야 합니다.
그럼 소스는
Option Explicit
Private Wspace As DAO.Workspace
Private DB As DAO.Database
Private RS As DAO.Recordset
Private DB_Path As String
Sub CreatDB(DB_FileName As String) ' db name
Set DB = Wspace.CreateDatabase(DB_FileName, dbLangGeneral, dbEncrypt)
' Test1Tbl 테이블 이름
With DB
.Execute "CREATE TABLE Test1Tbl (Name TEXT (50), JuMinNo TEXT (15), TelNo TEXT (15), Years SMALLINT)"
' .Execute "CREATE TABLE Test2Tbl (FileName TEXT (50), TelNo TEXT (13), CallNo SMALLINT, CallTxt TEXT (40) )" 다른 테이블
.Close
End With
End Sub
Private Sub Form_Load()
DB_Path = App.Path & "\Test.MDB"
Set Wspace = DBEngine.Workspaces(0)
If Dir(DB_Path) = "" Then 'DB파일 있는가 조사
Call CreatDB(DB_Path)
Else 'DB 내용삭제
Set DB = OpenDatabase(DB_Path, False, False, ";pwd=")
DB.Execute "Delete From Test1Tbl" 'Test1Tbl을 테이블명
' DB.Execute "Delete From Test2Tbl" '다른것
DB.Close
End If
End Sub
이것은 먼저 DB파일이 존재하는가를 검사하고 없으면 생성
있으면 내용을 삭제하는 것입니다.
이방법 말고도 또다른 것도았으나
이정도면 답이 되지 않나 생각합니다.
즐프하세요.