이전 거래처 관리를 만들다가 말았는데 변경사항이 생겨 로그인부터 새롭게 시작합니다.
변경사항으로는 DB를 MSSQL에서 MySQL로 변경하였습니다.
(회사에서는 MSSQL을 쓰는데 개인적으로는 MySQL이 가격이 저렴해서 연습/공개용으로 쓰기에는 적당하다 생각되서 MySQL로 바꿔서 진행할 예정입니다.)
처음에 포스팅을 시작할때는 그냥 소스 공개정도로만 생각했는데, 이번에는 소스를 공개하면서 일정수준 프로그램이 완성되면 완성본도 함께 사용할 예정입니다.
그럼 우선 로그인폼을 만들어 보겠습니다.
먼저 유저폼을 하나 만들어주세요.
저는 이번엔 완성된 로그인 유저폼을 빌려와 적당히 수정해서 쓰기로 했습니다.
빌려온 유저폼은 "오빠두엑셀"의 로그인 폼을 약간 수정해서 사용하였습니다.
TextBox 2개와 버튼 2개로 구성되어있습니다.
유저폼에 들어갈 코드가 좀 길어서 코드에 대한 자세한 설명은 다음 포스팅에서 다루도록 하겠습니다.
"현재_통합_문서"의 코드에 문서가 열렸을때 유저폼을 불러오도록 아래의 코드를 작성합니다.
Option Explicit
Private Sub Workbook_Open()
Call show_FormLogin
End Sub
모듈을 하나 만들고 모듈에 데이터 베이스 연결을 위한 코드를 작성해 줍니다.
Option Explicit
Public Cn As ADODB.Connection
Public rs As ADODB.Recordset
Public SQL As String
Dim SERVER$, DBNAME$, USERNAME$, PASSWORD$ 'As String
Public Sub Connect_DB()
SERVER = "서버주소" 'IP 어드레스(서버주소)
DBNAME = "DB이름" 'DB
USERNAME = "DB아이디" 'ID
PASSWORD = "DB패스워드" 'PW
Set Cn = New ADODB.Connection
Set rs = New ADODB.Recordset
'MySQL
Call ConnectMySQL
'MSSQL
' Call ConnectMSSQL
Cn.Open
End Sub
Private Sub ConnectMSSQL()
'// 방식1 : DSN 이용안함, 대신 Server명, Port등을 지정해 주어야 한다.
Cn.ConnectionString = "Provider = SQLOLEDB;Data Source = " & SERVER & ";Initial Catalog = " & DBNAME & ";User ID = " & USERNAME & ";Password =" & PASSWORD & ";"
'// 방식2 : DSN을 이용하여 연결(상세한 연결Option은 DSN을 만들때 지정할 수 있다)
'Cn.ConnectionString = "Provider=SQLOLEDB;Data Source=" & a & "; Initial Catalog=" & b & ";Integrated Security=SSPI;"
End Sub
Public Sub ConnectMySQL()
'// 방식1 : DSN을 이용하여 연결(상세한 연결Option은 DSN을 만들때 지정할 수 있다)
'Cn.ConnectionString = "DSN=" & SERVER & ";Uid=" & USERNAME & ";Pwd=" & PASSWORD & ";Option=2;"
'// 방식2 : DSN 이용안함, 대신 Server명, Port등을 지정해 주어야 한다.
Cn.ConnectionString = "DRIVER={MySQL ODBC 5.3 Unicode Driver};Server=" & SERVER & ";Port=3306;Database=" & DBNAME & ";User=" & USERNAME & ";Password=" & PASSWORD & ";Option=2;"
End Sub
MySQL ODBC의 경우 사용하는 서버의 MySQL 버전에 맞춰서 Connecter을 설치해주셔야 합니다.
자세한 내용은 아래의 포스트를 참조해주세요.
cookiexcel.tistory.com/20?category=976491
MySQL을 사용하나 MSSQL 커넥트도 함께 넣어두었습니다.
모듈을 하나더 만들어서 이번에는 유저폼을 불러오는 코드를 작성해 줍니다.
Option Explicit
'로그인
Sub show_FormLogin()
FormLogin.Show
End Sub
마지막으로 유저폼 파일을 첨부합니다.
첨부된 유저폼에는 소스 코드가 포함되어 있습니다.
포함된 소스코드에 대한 설명은 다음 포스팅에서 하도록 하겠습니다.
'엑셀 vba > 발주관리' 카테고리의 다른 글
매입처 관리폼 #3 Listview 데이터 채우기 (0) | 2021.02.09 |
---|---|
매입처 관리폼 #2 테이블 생성 (0) | 2021.02.09 |
매입처 관리폼 #1 라벨을 이용한 버튼 만들기 & Listview (0) | 2021.02.08 |
유저폼 만들기 #3 테이블 생성 (0) | 2021.02.04 |
로그인 만들기 #2 유저폼 코드 (0) | 2021.02.01 |