이번 포스팅은 지난 발주관리#3에서 만들어둔 수정 버튼에 프로시저를 만들어 연결하겠습니다.
역시 지난 포스팅에서 만들었던 유저관리폼과 함께 사용하게 됩니다.
우선 수정 버튼을 눌렀을때 실행될 프로시저 입니다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
Sub 매입처_수정()
'복수셀 선택시 종료
If Selection.Count > 1 Then
MsgBox "수정할 하나의 셀만 선택해 주세요!", vbCritical, "오류"
Exit Sub
End If
'A:C열이 아니거나 1:3행일경우 종료
If Intersect(Columns("A:C"), Selection) Is Nothing Or Not Intersect(Rows("1:3"), Selection) Is Nothing Then
MsgBox "수정할 매입처의 셀을 선택해 주세요!", vbCritical, "오류"
Exit Sub
End If
'매입처수정폼 열기
If Intersect(Columns("B:C"), ActiveCell) Is Nothing Then
Call show_매입처수정폼(ActiveCell.Value, ActiveCell.Offset(, 1).Value, ActiveCell.Offset(, 2).Value)
ElseIf Intersect(Columns("A:B"), Selection) Is Nothing Then
Call show_매입처수정폼(ActiveCell.Offset(, -2).Value, ActiveCell.Offset(, -1).Value, ActiveCell.Value)
Else
Call show_매입처수정폼(ActiveCell.Offset(, -1).Value, ActiveCell.Value, ActiveCell.Offset(, 1).Value)
End If
Call 매입처DB불러오기
End Sub
|
cs |
수정 버튼에 매크로 지정 해주세요.
매입처 수정 유저폼을 불러올 프로시저를 작성해 줍니다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
'매입처수정폼 불러오기
Public Sub show_매입처수정폼(a As String, b As String, c As String)
With 매입처수정폼
.StartUpPosition = 0
.Left = 400
.Top = 200
.TextBox1.Value = a '번호
.TextBox2.Value = b '매입처명
.ComboBox1.Value = c '구분
.Show '매입처수정폼 불러오기
End With
End Sub
|
cs |
마지막으로 매입처수정폼의 코드보기로 유저폼내의 처리를 해줄 프로시저를 만들어 줍니다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
|
Option Explicit
'취소 버튼 클릭
Private Sub ComCancel_Click()
Unload 매입처수정폼
End Sub
'저장 버튼 클릭
Private Sub ComOK_Click()
On Error Resume Next
Call DataBase연결
'매입처 UPDATE
SQL = "UPDATE 매입처 SET 매입처명 = '" & TextBox2.Value & "', 구분 = '" & ComboBox1.Value & "' WHERE 번호='" & TextBox1.Value & "'"
rs.Open SQL, Cn
rs.Close
Cn.Close
Unload 매입처수정폼
End Sub
'유저폼 열릴때 실행
Private Sub UserForm_Initialize()
Dim i As Integer
Call DataBase연결
SQL = "SELECT 구분 FROM 매입처 GROUP BY 구분"
rs.CursorLocation = adUseClient
rs.Open SQL, Cn, adOpenStatic, adLockReadOnly
For i = 0 To (rs.RecordCount - 1)
매입처수정폼.ComboBox1.AddItem rs.Fields("구분")
rs.MoveNext
Next i
rs.Close
Cn.Close
' ComboBox1.ListIndex = 0
End Sub
|
cs |
역시 여기도 총 3개의 프로시저를 작성했습니다.
취소 버튼을 눌렀을때 실행되는 프로시저.
저장 버튼을 눌렀을때 DB UPDATE 시켜주는 프로시저.
유저폼이 열릴때 구분 콤보박스에 추가될 구분 item을 불러와서 넣어주는 프로시저 입니다.
'엑셀 vba > 발주관리(OLD)' 카테고리의 다른 글
발주관리#8 매입처 삭제 (0) | 2019.12.26 |
---|---|
발주관리#6 매입처 추가(등록) (0) | 2019.12.20 |
발주관리#5 매입처 등록, 수정 폼 만들기 (0) | 2019.12.19 |
발주관리#4 DB연결, 데이터 불러오기 (0) | 2019.12.18 |
발주관리#3 매입처관리 시트 만들기 (0) | 2019.12.18 |