업무 자동화/PostgreSQL

pgAdmin Study] Table 만들기 #3 - VBA로 만들기

ToolBOX01 2025. 8. 7. 19:39
반응형

 

데이터베이스 테이블을 생성 합니다 테이블 이름과 테이블안에 넣을 컬럼 이름, 데이터 타입, 제한 조건을 입략 합니다.
위 이미지와 필요한 내용을 AI에 입력하면 아래와 같은 코드를 자동 생성 합니다.

Option Explicit
Sub CreateDatabaseTable()
    Dim conn As Object
    Dim cmd As Object
    Dim connectionString As String
    Dim databaseName As String
    
    ' 데이터베이스 이름과 연결 문자열 설정
    databaseName = "creomodel01" ' 실제 데이터베이스 이름으로 변경
    connectionString = "Driver={PostgreSQL Unicode(x64)};" & _
                      "Server=localhost;" & _
                      "Port=5432;" & _
                      "Database=" & databaseName & ";" & _
                      "Uid=designer;" & _
                      "Pwd=7777;" ' 실제 비밀번호로 변경
    
    ' ADO 연결 초기화
    Set conn = CreateObject("ADODB.Connection")
    Set cmd = CreateObject("ADODB.Command")
    
    ' 데이터베이스 연결 시도
    On Error Resume Next
    conn.Open connectionString
    If Err.Number <> 0 Then
        MsgBox "데이터베이스 연결 실패: " & Err.Description, vbCritical
        Exit Sub
    End If
    On Error GoTo 0
    
    ' 명령 객체 설정
    With cmd
        .ActiveConnection = conn
        .CommandType = 1 ' adCmdText
    End With
    
    ' 기존 테이블 및 시퀀스 삭제 (옵션: 이미 존재하면 삭제)
    On Error Resume Next
    cmd.CommandText = "DROP SEQUENCE IF EXISTS folder_id_seq"
    cmd.Execute
    cmd.CommandText = "DROP TABLE IF EXISTS folders"
    cmd.Execute
    On Error GoTo 0
    
    ' folder_id_seq 시퀀스 생성
    cmd.CommandText = "CREATE SEQUENCE folder_id_seq START 1;"
    On Error Resume Next
    cmd.Execute
    If Err.Number = 0 Then
        MsgBox "시퀀스 'folder_id_seq'가 성공적으로 생성되었습니다.", vbInformation
    Else
        MsgBox "시퀀스 생성 실패: " & Err.Description, vbCritical
        conn.Close
        Exit Sub
    End If
    On Error GoTo 0
    
    ' folders 테이블 생성
    cmd.CommandText = "CREATE TABLE folders (" & _
                     "folder_id TEXT PRIMARY KEY DEFAULT 'folder-' || nextval('folder_id_seq'), " & _
                     "folder_name TEXT NOT NULL, " & _
                     "folder_date CHAR(12) NOT NULL, " & _
                     "type VARCHAR(10) NOT NULL);"
    On Error Resume Next
    cmd.Execute
    If Err.Number = 0 Then
        MsgBox "테이블 'folders'가 성공적으로 생성되었습니다.", vbInformation
    Else
        MsgBox "테이블 생성 실패: " & Err.Description, vbCritical
    End If
    On Error GoTo 0
    
    ' 연결 종료
    conn.Close
    Set cmd = Nothing
    Set conn = Nothing
End Sub

 

엑셀 화면 구성과 위 코드를 참고 하여, 엑셀 VBA로 테이블은 만들수 있습니다. 프로그램 개발에 있어서 데이터 베이스 테이블을 구성하는것은 매우 중요합니다. 여러개의 테이블을 연결하여 중복없이 데이터를 저장할 수 있고. 불러올수 있습니다.   AI를 활용한다면, 기본적인 개발언어 내용만 습득하면 코드를 만드는것은 기존 방법보다 쉽습니다.

 

by korealionkk@gmail.com


반응형