9. 데이터베이스 두 개의 테이블 조인해서 보기
두개의 테이블 연결해보기 학생관리.mdb에 새 테이블 추가 추가기능>비주얼데이터관리자 주소록 학번 : 9 (필수, 0길이 비허용) 이름 : 10 (필수, 0길이 비허용) 핸드폰 : 13 주소 : 200 2019-05-03 수원과학대학 컴퓨터정보과 1학년
두개의 테이블 연결해보기 학생관리 DB 구조 성적 테이블 주소록 테이블 2019-05-03 수원과학대학 컴퓨터정보과 1학년
데이터폼 작성기를 이용 성적관리 데이터폼 작성 2019-05-03 수원과학대학 컴퓨터정보과 1학년
데이터폼 작성기를 이용 주소관리 데이터폼 작성 2019-05-03 수원과학대학 컴퓨터정보과 1학년
성적관리 폼 수정 DBGrid1 (Microsoft Data Bound Grid control) 처음에는 성적테이블 전용 테이블 조인하여 보기/성적순보기/학번순보기는 성적과 주소록 조인시켜 보여줌 Data2 : 주소록테이블용 2019-05-03 수원과학대학 컴퓨터정보과 1학년 Data1 : 성적테이블용
성적관리폼 설정 Data1 Data2 DatabaseName : 학생관리.mdb RecordSetType : 2-다이너셋 RecordSource : 성적 Data2 RecordSource : 주소록 2019-05-03 수원과학대학 컴퓨터정보과 1학년
성적관리폼 설정 DBGrid1 두 테이블 조인(join)해서 보기 버튼 DataSource : Data1 Private Sub cmdJoin_Click() Data1.RecordSource = "select 성적.*,주소록.핸드폰,주소록.주소 from 성적 left join 주소록 on 성적.학번 = 주소록.학번" Data1.Refresh End Sub 2019-05-03 수원과학대학 컴퓨터정보과 1학년
성적관리폼 설정 성적순 보기 버튼 order by 필드명 : 필드의 순서대로 정렬 desc : 내림차순 (descend) asc : 오름차순(ascend) Private Sub Command1_Click() Data1.RecordSource = "select 성적.*,주소록.핸드폰,주소록.주소 from 성적 left join 주소록 on 성적.학번 = 주소록.학번 order by 평균 desc" Data1.Refresh End Sub 2019-05-03 수원과학대학 컴퓨터정보과 1학년
성적관리폼 설정 학번순 보기 버튼 order by 성적.학번 asc 성적 테이블의 학번 필드를 오름차순으로 정렬 Private Sub Command2_Click() Data1.RecordSource = "select 성적.*,주소록.핸드폰,주소록.주소 from 성적 left join 주소록 on 성적.학번 = 주소록.학번 order by 성적.학번 asc " Data1.Refresh End Sub 2019-05-03 수원과학대학 컴퓨터정보과 1학년
주소록 추가 버튼 주소록 추가 기능 성적 테이블에 있는 학번 / 이름을 주소록 테이블에 신규로 넣어주는 기능 이미 존재하는 경우 메시지를 띄운다. 2019-05-03 수원과학대학 컴퓨터정보과 1학년
Private Sub Command4_Click() ' 입력한 학번의 학생이 주소록에 존재하는지 검색 Data2.RecordSource = "select * from 주소록 where 학번 = '" & txtFields(0).Text & "'" Data2.Refresh If Data2.Recordset.RecordCount > 0 Then ' 같은 학번이 존재 MsgBox "이미 존재하는 학번입니다.", vbCritical + vbOKOnly, "학번중복" Data2.RecordSource = "주소록" ' 주소록을 다시 원상복구 Exit Sub ' 프로시져 종료 End If Data2.RecordSource = "주소록" Data2.Recordset.MoveLast ' 가장 마지막 레코드로 이동 Data2.Recordset.AddNew ' 신규 레코드 추가 Data2.Recordset.Fields(0) = txtFields(0).Text ' 학번 삽입 Data2.Recordset.Fields(1) = txtFields(1).Text ' 이름 삽입 Data2.UpdateRecord ' 레코드 자료 수정 End Sub 2019-05-03 수원과학대학 컴퓨터정보과 1학년
주소록 수정 버튼 주소록 수정 기능 성적 테이블에서 자료 수정중 주소를 수정해야 할 일이 있을때 해당 학번의 학생이 없으면 메시지 출력 있으면 핸드폰/주소 입력창을 보여주고 수정이 끝난후 다시 수정 버튼을 누르면 데이터베이스에 수정완료. 2019-05-03 수원과학대학 컴퓨터정보과 1학년
핸드폰 주소입력창 보이기 설정 프로시져 Private Sub 주소보이기(flag As Boolean) txtFields(8).Visible = flag txtFields(9).Visible = flag lblLabels(8).Visible = flag lblLabels(9).Visible = flag End Sub 2019-05-03 수원과학대학 컴퓨터정보과 1학년
Dim toggle As Boolean ‘ TRUE or FALSE값을 가지는 변수 ‘ 맨 윗줄에 변수 정의 Dim toggle As Boolean ‘ TRUE or FALSE값을 가지는 변수 ================================================ Private Sub Command5_Click() If toggle = False Then ' 수정 버튼을 처음 누른 경우 수정모드로 전환 ' 해당 학번의 학생을 주소록에서 검색 Data2.RecordSource = _ "select * from 주소록 where 학번 = '" & txtFields(0).Text & "'" Data2.Refresh If Data2.Recordset.RecordCount <> 1 Then ' 학생이 존재하지 않는 경우 MsgBox "주소록에 존재하지 않는 학생입니다..", _ vbCritical + vbOKOnly, "미등록학생" Data2.RecordSource = "주소록" Exit Sub End If Data2.Recordset.Edit ' 학생이 존재하는 경우, 수정모드로 전환 toggle = True ' 수정버튼을 한번 눌렀음.. 주소보이기 (toggle) ' 핸드폰/주소 입력창을 보여주고 안보여주고... 2019-05-03 수원과학대학 컴퓨터정보과 1학년
Data2.Recordset.Fields(2) = txtFields(8).Text ' 핸드폰 수정 Else Data2.Recordset.Fields(2) = txtFields(8).Text ' 핸드폰 수정 Data2.Recordset.Fields(3) = txtFields(9).Text ' 주소 수정 Data2.UpdateRecord ' 주소록 자료 수정완료 Data2.RecordSource = "주소록" ' Data2 초기화 Data2.Refresh Data1.Refresh toggle = False 주소보이기 (toggle) End If End Sub 2019-05-03 수원과학대학 컴퓨터정보과 1학년
DBGrid 수정시 txtFields 자동 수정 Private Sub DBGrid1_Change() Dim i As Integer For i = 0 To 5 txtFields(i) = DBGrid1.Columns(i) Next End Sub 2019-05-03 수원과학대학 컴퓨터정보과 1학년
추가기능 조인해서 테이블 보는 경우 성적테이블만 보기 데이터 뷰를 보는 상태 = 자료의 수정이 불가능한 상태 추가/삭제/수정 버튼이 동작하지 않아야함 성적테이블만 보기 추가/삭제/수정 버튼이 동작하게 바꿈 2019-05-03 수원과학대학 컴퓨터정보과 1학년
테이블 조인하여 보기 성적순 보기 학번순 보기 버튼사용(False) 버튼사용(True) Private Sub 버튼사용(flag As Boolean) cmdAdd.Enabled = flag cmdDelete.Enabled = flag cmdUpdate.Enabled = flag End Sub 테이블 조인하여 보기 성적순 보기 학번순 보기 버튼사용(False) 버튼사용(True) 2019-05-03 수원과학대학 컴퓨터정보과 1학년
정리 DataBase Programming 비주얼 데이터관리자 : 데이터베이스 생성 화면 구성 테이블생성 > 필드 추가 화면 구성 Data 객체 : DatabaseName, RecordSource 설정 텍스트박스 : DataSource, DataField 설정 DBGrid : DataSource 설정 커맨드버튼들 : Click이벤트 프로시져 작성 2019-05-03 수원과학대학 컴퓨터정보과 1학년