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

● 초기 화면 ●

01-02.gif(8222바이트)

[그림 1]

● 사용설명 - 과정별 단계를 선택한 후 열기를 클릭합니다.

Private Sub 열기_Click()
DoCmd.OpenForm "자재상위", acNormal, "", "[전표구분]= [Forms]![초기화면]![전표구분1]"
자재상위 폼을 열고 전표구분과 초기화면의 전표구분1과 같은 조건식에 있는 것을 열기

DoCmd.GoToRecord , , acLast
마지막 입력된 레코드로 이동

[Forms]![자재상위]![전표구분1] = [Forms]![초기화면]![전표구분1]
변수지정을 하지 않고 자재상위전표구분1에 초기화면 전표구분1과 같이 복사하여 붙여넣기

[Forms]![자재상위]![전표이름] = [Forms]![초기화면]![전표구분1].Column(1) & " 자재전표"
자재전표 제목에 표기됨 
전표구분1의 텍스트 열중 2번째 항목을 가져오기
우측부터 순서 0,1,2, 순으로 지정할 수 있음, 항상 문자구분은 ""로 표기

If [Forms]![초기화면]![전표구분1] = 1 Or [Forms]![초기화면]![전표구분1] = 4 Then
[Forms]![자재상위]![거래처코드].Visible = True
`````` 즉 위의 조건에 맞는 것이라면, 거래처코드는 보이고
[Forms]![자재상위]![Label47].Visible = True
``````
Else
`````
[Forms]![자재상위]![대표자이름].Visible = False
아니면 보이지 않게 합니다.
참조] [Forms]![자재상위]![대표자이름].ENABLED = False 많이 사용됨
사용을 하지 못하게 하는 경우에 많이 사용 

[Forms]![자재상위]![Label47].Visible = False
`````
End If
End Sub

Private Sub 품목코드_Click()
DoCmd.OpenForm "품목코드상위", acNormal
품모코드상위폼을 열기 
DoCmd.GoToRecord , , acLast
End Sub

Private Sub Form_Load()
DoCmd.Maximize
최대하면 처리, 최소화면은 ?
End Sub

Private Sub 종료_Click()
DoCmd.Quit
종료하기
End Sub

Private Sub 거래처_Click()
DoCmd.OpenForm "거래처", acNormal
DoCmd.GoToRecord , , acLast
End Sub

 

01-03.gif(22897바이트)

[그림 2] 전표구분1

 
행 원본 형식 쿼리, 값목록, 필드중  값목록
마법사를 이용하는 것 보다 직접 작성된 것을 변경하여 사용하는 것이 더 좋습니다.
행 원본은 "1","입고" ‥‥‥
열 개수 2 (즉 포커스경우 1;입고는 같이 그룹화)
열 머리글  아니오(필드명)
열 너비 열개수 2개중 첫번째열 숫자는 보이지 말고 두 번째 입고등과 같은 문자만 표시
행 개수  8 즉 행의 수 조절 한번 3이나 2로 바꾸어 보십시오

질문1 ) 행 원본이 1;2;3;4;5;6;7라면
열 개수 : ?
열 너비 : ?
 

Private Sub 전표구분1_AfterUpdate()
Me.전표구분1.Requery
새로운 내용이 있을 경우
End Sub

Private Sub 전표구분1_GotFocus()
Me.전표구분1.Dropdown
즉 전표구분1에 포커스 될 경우 콤보내용이 하단으로 보이도록 하는 것
End Sub

 - 열기 : 입고를 누르고 열기를 누른다.

● 요약

- 명령어 
DOCMD 관련된 도움말을 참조하여 사용할 수 있다면 액세스를 반정도 습득했다고 해도 과언이 아닙니다. 폼 열기, 보고서열기, 매크로 실행, 화면 확대축소, SQL등 거의 하나의 명령어로 해결이 됩니다.
VBA에 관련된 사항은 MSDN에서 DOCMD라는 찾기를 하시면 기대이상의 소스를 얻을 수 있습니다.

- 정리
제일 중요한 것은 명령어를 적절하게 이용하여 반복되는 명령어를 텍스트나 워드로 정리한 후 필요 시 쓸 수 있도록 반복 훈련이 필요합니다. 프로그램을 만드는 것은 개발 이라기 보다는 응용이라고 할 수 있습니다. 즉 프로그램을 만들기 전에 정리하고 설계하는 습관도 중요합니다.

- 문제
여기서 에러에 대한 해결방법을 제시하지 않고 모든 과정 프로세스가 맞다는 가정 하에서 프로그램을 작성하였으나, 에러에 대한 답은 작성하지 않았습니다.
이것을 응용하여 에러에 대한 VBA문까지 한번 작성해 보십시오

목차 | 이전 | 다음