Lập trình Window - 27


cmdfirst

cmdpre

cmdnext

cmdlast

Có thể bạn quan tâm!

Xem toàn bộ 248 trang tài liệu này.


cmdadd

cmddel

cmdfind

cmdupdate

cmdend

txtma

txtht

txtdc

txtns

txtgt

dcblop

DataGrid

Bước 4. Mở cửa sổ Code của form frmsv.frm và lập trình cho các sự kiện của các điều khiển trên form

„Khai báo biến trong phần General của form Dim Cnn As New ADODB.Connection

Dim rs As New ADODB.Recordset

„----------------------------------------------------------------------------

Public Sub display() txtma.Text = rs!masv txtht.Text = rs!hoten txtns.Text = rs!ngaysinh txtdc.Text = rs!diachi

If rs!gioitinh Then txtgt.Text = "nam" Else txtgt.Text = "n÷" dcblop.Text = rs!tenlop

End Sub

Public Sub save() rs!masv = txtma.Text rs!hoten = txtht.Text rs!diachi = txtdc.Text

rs!ngaysinh = CDate(txtns.Text)

If txtgt = "nam" Then rs!gioitinh = True Else rs!gioitinh = False rs!tenlop = dcblop.BoundText

Dim x As String

x = "select * from hocphi where masv='" & Text1.Text & "'" Dim rsxem As New ADODB.Recordset rsxem.CursorLocation = adUseClient

rsxem.Open x, Cnn, adOpenStatic, adLockReadOnly Set DataGrid1.DataSource = rsxem

End Sub

„--------------------------------------------------------------------------------------

Private Sub cmdadd_Click()

If cmdadd.Caption = "Bæ sung" Then txtma.Text = ""

txtht.Text = "" txtdc.Text = "" txtns.Text = "" txtgt.Text = "" dcblop.Text = ""

cmdadd.Caption = "Ghi" txtma.SetFocus

Else

If rs.RecordCount > 0 Then rs.MoveFirst

rs.Find "masv='" & Trim(txtma.Text) & "'"

If rs.EOF Then rs.AddNew Call save

Else

MsgBox "Trïng m· sinh viªn, b¶n ghi trªn kh«ng ®•îc l•u l¹i" End If

End If

cmdadd.Caption = "Bæ sung" End If

End Sub

„----------------------------------------------------------------------------

Private Sub cmddel_Click() rs.Delete

If Not rs.EOF Then Call cmdnext_Click

Else

Call cmdfirst_Click End If

End Sub

„----------------------------------------------------------------------------

Private Sub cmdend_Click() Unload Me

End Sub

„--------------------------------------------------------------------------------------------

Private Sub Cmdfind_Click()

If Cmdfind.Caption = "T×m" Then txtma.Text = ""

txtht.Text = "" txtns.Text = "" txtgt.Text = "" dcblop.Text = "" txtdc.Text = ""

Cmdfind.Caption = "HiÓn thÞ" txtma.SetFocus

Else rs.MoveFirst

rs.Find "masv='" & Trim(txtma.Text) & "'" If rs.EOF Then

MsgBox "Kh«ng t×m thÊy " Else

Call display End If

Cmdfind.Caption = "T×m" End If

End Sub

„--------------------------------------------------------------------------------------------

Private Sub cmdfirst_Click()

If rs.RecordCount > 0 Then rs.MoveFirst

Call display End If

End Sub

„--------------------------------------------------------------------------------------------

Private Sub cmdlast_Click()

If rs.RecordCount > 0 Then rs.MoveLast

Call display End If

End Sub

„--------------------------------------------------------------------------------------------

Private Sub cmdnext_Click() If rs.RecordCount > 0 Then rs.MoveNext

If rs.EOF Then

MsgBox "B¹n ®ang ë b¶n ghi cuèi cïng" Else

Call display End If

End If End Sub

„--------------------------------------------------------------------------------------------

Private Sub cmdpre_Click()

If rs.RecordCount > 0 Then rs.MovePrevious

If rs.BOF Then

MsgBox "B¹n ®ang ë b¶n ghi ®Çu tiªn" Else

Call display End If

End If End Sub

„--------------------------------------------------------------------------------------------

Private Sub cmdupdate_Click()

If cmdupdate.Caption = "Söa" Then cmdupdate.Caption = "Ghi"

Else

rs.save Call save

End If

End Sub

„--------------------------------------------------------------------------------------------

Private Sub dcblop_Click(Area As Integer)

Dim x As String

x = "select * from sinhvien where tenlop='" & dcblop.Text & "'"

Dim rsxem As New ADODB.Recordset rsxem.CursorLocation = adUseClient

rsxem.Open x, Cnn, adOpenStatic, adLockReadOnly Set DataGrid1.DataSource = rsxem

End Sub

„--------------------------------------------------------------------------------------------

Private Sub Form_Load()

Cnn.ConnectionString = "provider=microsoft.jet.oledb.4.0; data source= " & App.Path & "qlhp.mdb"

Cnn.Open

'dua danh sach lop vao Datacombo dcblop Dim rs1 As New ADODB.Recordset rs1.CursorLocation = adUseClient

rs1.Open "lop", Cnn, adOpenStatic, adLockReadOnly Set dcblop.RowSource = rs1

dcblop.ListField = "tenlop" 'hien ra de chon dcblop.BoundColumn = "tenlop" 'cai can lay ra 'mo recordset rs de ghi du lieu vao bang sinh vien rs.CursorLocation = adUseClient

rs.Open "sinhvien", Cnn, adOpenStatic, adLockOptimistic Call cmdfirst_Click

End Sub

Bước 5. Tạo form frmdslop.frm và đặt tên các điều khiển trên form theo chỉ dẫn

dcblop

cmdprint

cmdend

Bước 6. Mở cửa sổ Code của form frmdslop.frm và nhập các câu lệnh sau

Dim Cnn As New ADODB.Connection Dim rs As New ADODB.Recordset

Private Sub cmdend_Click() Unload Me

End Sub

„--------------------------------------------------------------------------------------------

Private Sub dcbhk_Click(Area As Integer)

x = "select distinct hocphi.masv, hocphi.ngaynop, hocphi.sotien, hocphi.noidung " _ & " from hocphi,sinhvien where (hocphi.masv=sinhvien.masv) and (" _

& " tenlop='" & dcblop.Text & "') and (noidung= '" & dcbhk.Text & "')"

Dim rsxem As New ADODB.Recordset rsxem.CursorLocation = adUseClient

rsxem.Open x, Cnn, adOpenStatic, adLockReadOnly Set DataGrid1.DataSource = rsxem

End Sub

„--------------------------------------------------------------------------------------------

Private Sub inds_Click()

Dim x As String

x = "select * from sinhvien where (" _ & " tenlop='" & dcblop.Text & "')" Dim rsxem As New ADODB.Recordset rsxem.CursorLocation = adUseClient

rsxem.Open x, Cnn, adOpenStatic, adLockReadOnly Set DataReport1.DataSource = rsxem DataReport1.Show

End Sub

„--------------------------------------------------------------------------------------------

Private Sub Form_Load()

Cnn.ConnectionString = "provider=microsoft.jet.oledb.4.0; data source= " & App.Path & "qlhp.mdb"

Cnn.Open

'dua danh sach sinh vien vao Datacombo dcbma Dim rs1 As New ADODB.Recordset rs1.CursorLocation = adUseClient

rs1.Open "sinhvien", Cnn, adOpenStatic, adLockReadOnly Set dcblop.RowSource = rs1

dcblop.ListField = "tenlop" 'hien ra de chon dcblop.BoundColumn = "tenlop" 'cai can lay ra End Sub

Bước 7. Tạo trình thiết kế dữ liệu, bổ sung vào project một report và thiết kế như sau:

txtlop txtnvt txtss Bước 8 Thiết kế form frmlop frm và đặt tên cho các điều 1

txtlop

txtnvt

txtss

Bước 8. Thiết kế form frmlop.frm và đặt tên cho các điều khiển theo chỉ dẫn


cmdfirst

cmdpre

cmdnext

cmdlast


cmdadd

cmddel

cmdfind

cmdupdate

cmdend

Bước 9. Mở cửa sổ Code của form frmlop.frm và gò vào các dòng lệnh sau

Dim Cnn As New ADODB.Connection Dim rs As New ADODB.Recordset Public Sub display()

txtlop.Text = rs!tenlop txtnvt.Text = rs!namvaohoc txtss.Text = rs!siso

End Sub

„-------------------------------------------------------------------------------------

Public Sub save() rs!tenlop = txtlop.Text

rs!namvaohoc = txtnvt.Text rs!siso = Val(txtss.Text) rs.Update

End Sub

„-------------------------------------------------------------------------------------

Private Sub cmdadd_Click()

If cmdadd.Caption = "Bæ sung" Then txtlop.Text = ""

txtnvt.Text = "" txtss.Text = "" cmdadd.Caption = "Ghi" txtlop.SetFocus

Else

If rs.RecordCount > 0 Then rs.MoveFirst

rs.Find "tenlop='" & Trim(txtlop.Text) & "'"

If rs.EOF Then rs.AddNew Call save

Else

MsgBox "Trïng tªn líp, b¶n ghi trªn kh«ng ®•îc l•u l¹i" End If

End If

cmdadd.Caption = "Bæ sung" End If

End Sub

„--------------------------------------------------------------------------------------------

Private Sub cmddel_Click() rs.Delete

If Not rs.EOF Then Call cmdnext_Click

Else

Call cmdfirst_Click

..... Xem trang tiếp theo?
⇦ Trang trước - Trang tiếp theo ⇨

Ngày đăng: 16/07/2022