배움터  
  HOME > 배움터 > 무료강좌
무료강좌
 
액세스 연재 강좌 - 자재관리 프로젝트 , Access

마법사를 이용 
 

Private Sub del_Click()
On Error GoTo Err_del_Click
DoCmd.DoMenuItem acFormBar, acEditMenu, 8, , acMenuVer70
DoCmd.DoMenuItem acFormBar, acEditMenu, 6, , acMenuVer70
Exit_del_Click:
Exit Sub

Err_del_Click:
MsgBox Err.Description
Resume Exit_del_Click
End Sub

 04-00.gif(46241바이트)

04-02.gif(51236바이트)

공정 및 완성품 자재 프로세스에서는 거래처코드 입력을 불가하도록 제어
두 가지 방법
visible, enabled, LOCKED 도움말참조

04-03.gif(42206바이트)

● 신규품목등록
1. 구분1을 더블클릭하여 선택
2. 구분2을 더블클릭하여 선택
3. 구분3을 더블클릭하여 선택
4. 품목코드에 신규 품목코드가 등록됩니다.
5. 신규품목코드를 더블클릭하면 등록된 전체품목코드가 표시
6. 검색란에 알고 있는 부문 품목명의 내용을 입력하면 비슷한 품목코드가 검색
7. 리스트항목을 클릭
8. 검색을 클릭하면 찾기고 하는 품목정보 표시

● 코드작성

Function aa()
Me.품목코드 = 품목구분1 & "-" & 품목구분2 & "-" & 품목구분3
Me.품목상위명 = 품목명1 & "-" & 품목명2 & "-" & 품목명3
End Function

Private Sub 품목구분1_DblClick(Cancel As Integer)
On Error GoTo Err_품목구분1_DblClick

Me.품목구분2.SetFocus
Dim FIND As String
FIND = "*" & [Forms]![품목코드상위]![품목구분1] & "*"
DoCmd.OpenForm "FIND", acNormal
If IsNull(Me.품목구분1) Or Me.품목구분1 = "" Then
Forms!FIND!LIST.RowSource = " SELECT * FROM 품목구분1 "
Else
Forms!FIND!LIST.RowSource = " SELECT * " _
& " FROM 품목구분1 " _
& " WHERE (((품목구분1) Like " & "'" & FIND & "'));"
End If
Forms!FIND!N = 52
Forms!FIND.LIST.Requery
Forms!FIND!성명1.SetFocus
Exit_품목구분1_DblClick:
Exit Sub
Err_품목구분1_DblClick:
MsgBox Err.Description
Resume Exit_품목구분1_DblClick
End Sub

Private Sub 품목코드_DblClick(Cancel As Integer)
On Error GoTo Err_품목코드_DblClick
Me.품목구분1.SetFocus
Dim FIND As String
FIND = "*" & [Forms]![품목코드상위]![품목코드] & "*"
% 폼목코드와 비슷한 객체 지정 
DoCmd.OpenForm "FIND", acNormal
If IsNull(Me.품목코드) Or Me.품목코드 = "" Then
Forms!FIND!LIST.RowSource = " SELECT 품목코드, 품목상위명, 단가1, 단가2, 단가3, 단가4 FROM 품목코드상위 "
Else
Forms!FIND!LIST.RowSource = " SELECT 품목코드, 품목상위명, 단가1, 단가2, 단가3, 단가4 " _
& " FROM 품목코드상위 " _
& " WHERE (((품목코드) Like " & "'" & FIND & "'));"
End If
Forms!FIND!N = 51
Forms!FIND.LIST.Requery
Forms!FIND!성명1.SetFocus
Exit_품목코드_DblClick:
Exit Sub
Err_품목코드_DblClick:
MsgBox Err.Description
Resume Exit_품목코드_DblClick

End Sub

 

04-04.gif(34652바이트)

신규거래처코드를 더블클릭하면 검색조건에 일부회사명을 입력하고 엔터를 치면 리스트에 회사가 나타나며, 리스트를 클릭하면 검색거래처에 입력되고 검색을 누르면 관련 회사의 정보가 화면으로 출력됩니다.

거래처의 주소는 우편번호로 검색하는 방식을 사용한다면 정확한 주소 고객관리가 될 수 있습니다. [고객관리]

Private Sub 거래처코드_DblClick(Cancel As Integer)
On Error GoTo Err_거래처코드_DblClick
Me.거래시작일.SetFocus
Dim FIND As String
FIND = "*" & [Forms]![거래처]![거래처코드] & "*"
DoCmd.OpenForm "FIND", acNormal
If IsNull(Me.거래처코드) Or Me.거래처코드 = "" Then
Forms!FIND!LIST.RowSource = " SELECT 거래처코드, 회사이름, 대표자이름, 전화번호1 FROM 거래처 "
Else
Forms!FIND!LIST.RowSource = " SELECT 거래처코드, 회사이름, 대표자이름, 전화번호1 " _
& " FROM 거래처 " _
& " WHERE (((거래처코드) Like " & "'" & FIND & "'));"
End If
Forms!FIND!N = 61
Forms!FIND.LIST.Requery
Forms!FIND!성명1.SetFocus
Exit_거래처코드_DblClick:
Exit Sub
Err_거래처코드_DblClick:
MsgBox Err.Description
Resume Exit_거래처코드_DblClick
End Sub

Private Sub 검색_Click()
DoCmd.ApplyFilter "", "[거래처코드]=forms!거래처![검색거래처]"
'DoCmd.OpenForm "거래처", acNormal, , "[거래처코드]=forms!거래처![검색거래처]"
End Sub

Private Sub 전체보이기_Click()
DoCmd.ShowAllRecords
End Sub

Private Sub 초기화면이동_Click()
DoCmd.OpenForm "초기화면", acNormal
End Sub

03-004.gif(11211바이트)

각 검색어는 성명1필드

Private Sub 성명1_AfterUpdate()
Dim FIND As String
Dim FIND1 As String
Dim FIND2 As String
Dim FIND3 As String
Dim FIND4 As String
Dim FIND5 As String
Dim FIND6 As String
Dim FIND7 As String
FIND = "*" & [Forms]![FIND]![성명1] & "*"
If Me.N = 11 Then
Forms!FIND!LIST.RowSource = "SELECT 전표번호, 발행일, 전표구분 FROM 자재상위 WHERE (((자재상위.전표구분)=[Forms]![자재상위]![전표구분1]) AND ((자재상위.발행일) Like " & "'" & FIND & "'));"
생략,,,,,,
ElseIf Me.N = 24 Then

Me.LIST.RowSource = " SELECT 자재하위.품목코드, 품목코드상위.품목상위명, Sum(IIf([전표구분]=1,[수량],0))-Sum(IIf([전표구분]=2,[수량],0)) AS [입고-공정재고수량]" _
& " FROM 품목코드상위 INNER JOIN (자재상위 INNER JOIN 자재하위 ON 자재상위.전표번호 = 자재하위.전표번호) ON 품목코드상위.품목코드 = 자재하위.품목코드" _
& " WHERE (((자재상위.발행일)<=[Forms]![자재상위]![발행일]) AND ((품목코드상위.품목상위명) Like " & "'" & FIND & "'))" _
& " GROUP BY 자재하위.품목코드, 품목코드상위.품목상위명 " _
& " HAVING (((Sum(IIf([전표구분]=1,[수량],0))-Sum(IIf([전표구분]=2,[수량],0)))>0)); "
생략,,,,,,

If Me.N = 51 Then '2
FIND2 = "*" & [Forms]![품목코드상위]![품목코드] & "*"
Me.LIST.RowSource = " SELECT 품목코드, 품목상위명, 단가1, 단가2, 단가3, 단가4 " _
& " FROM 품목코드상위 " _
& " WHERE (((품목상위명) Like " & "'" & FIND & "') and ((품목코드) Like " & "'" & FIND2 & "'));"
%%%조건식은 품목상위면 뿐만 아니라 품목코드와 연결되어 있습니다.

ElseIf Me.N = 52 Then
FIND3 = "*" & [Forms]![품목코드상위]![품목구분1] & "*"
Me.LIST.RowSource = "SELECT * FROM 품목구분1 " _
& " WHERE (((품목명1) Like " & "'" & FIND & "') and ((품목구분1) Like " & "'" & FIND3 & "'));"
생략,,,,,

Me.LIST.Requery
Me.성명1.SetFocus
End Sub

Private Sub LIST_CLICK()
If Me.N = 11 Then '교육구분
Forms!자재상위!검색전표번호 = Me.LIST.Column(0)
ElseIf Me.N = 12 Or Me.N = 42 Then
Forms!자재상위!거래처코드 = Me.LIST.Column(0)
ElseIf Me.N = 13 Or Me.N = 23 Or Me.N = 33 Or Me.N = 43 Then
Forms!자재상위!자재하위.Form!품목코드 = Me.LIST.Column(0)
If [Forms]![자재상위]![전표구분] = 1 Then
Forms!자재상위!자재하위.Form!단가 = Me.LIST.Column(2)
생략,,,,,

End If
Forms!자재상위!자재하위.Form!금액 = Forms!자재상위!자재하위.Form!단가 * Forms!자재상위!자재하위.Form!수량
ElseIf Me.N = 24 Or Me.N = 34 Or Me.N = 44 Then
Forms!자재상위!자재하위.Form!품목코드 = Me.LIST.Column(0)
ss
End Sub

목차 | 이전 | 다음