THÔNG TIN - ĐẠI HỌC THÁI NGUYÊN
CHƯƠNG 3: THIẾT KẾ HỆ THỐNG
3.4 Một số đoạn mã thiết kế Form
Form Cập nhật sách Dim t As Integer Dim sl As Integer Dim ttt As Integer
Function trungma(ma As String) As Boolean Dim ok As Boolean
ok = False
If Not dtnhap.Recordset.BOF Then dtnhap.Recordset.MoveFirst End If
Do While Not dtnhap.Recordset.EOF And Not ok
If UCase(dtnhap.Recordset.Fields("Matensach")) = UCase(ma) Then ok = True
Else
dtnhap.Recordset.MoveNext End If
Loop
trungma = ok End Function
Private Sub Check1_Click() If Check1.Value = 0 Then Frame2.Visible = True Frame1.Visible = False End If
If Check1.Value = 1 Then Frame1.Visible = True Frame2.Visible = False End If
If Check1.Value = 1 Then Check2.Value = 0 If Check1.Value = 0 Then Check2.Value = 1 End Sub
Private Sub Check2_Click() If Check2.Value = 0 Then Frame1.Visible = True Frame2.Visible = False End If
If Check2.Value = 1 Then Frame2.Visible = True Frame1.Visible = False End If
If Check2.Value = 1 Then Check1.Value = 0
If Check2.Value = 0 Then Check1.Value = 1 End Sub
Private Sub cmbend_Click()
dtxem0.Recordset.MoveLast End Sub
Private Sub cmbghi_Click() Dim i As Integer
If t = 1 Then
For i = 1 To Val(txtsoluong.Text) dtnhap.Recordset.AddNew
dtnhap.Recordset.Fields("Masach") = Me.dbmaploai.Text & "-" &
Me.dbmanxb.Text & "-" & Me.txtmatensach.Text & i
dtnhap.Recordset.Fields("Matensach") = Me.txtmatensach.Text & i dtnhap.Recordset.Fields("Tensach") = Me.txttensach.Text
dtnhap.Recordset.Fields("Maploai") = Me.dbmaploai.Text dtnhap.Recordset.Fields("Manxb") = Me.dbmanxb.Text dtnhap.Recordset.Fields("Soluong") = 1
dtnhap.Recordset.Fields("Giatien") = Me.txtgiatien.Text dtnhap.Recordset.Fields("Sotrang") = Me.txtsotrang.Text dtnhap.Recordset.Fields("Ngaynhap") = Me.txtngaynhap.Text dtnhap.UpdateRecord
Next i
Me.cmbghi.Visible = False Me.cmbnhap.Visible = True Me.cmbthoat.Enabled = True Me.cmbend.Enabled = True Me.Command1.Enabled = True Me.Command2.Enabled = True Me.Command3.Enabled = True txtmatensach.Locked = True txttensach.Locked = True dbmaploai.Locked = True dbmanxb.Locked = True txtsoluong.Locked = True txtgiatien.Locked = True txtsotrang.Locked = True txtngaynhap.Locked = True End If
dtnhap.Refresh dtxem.Refresh
If Not dtnhap.Recordset.BOF Then dtnhap.Recordset.MoveFirst End If
Do While Not dtnhap.Recordset.EOF dtxem0.Recordset.AddNew
dtxem0.Recordset.Fields("Masach") = dtnhap.Recordset.Fields("Masach") dtxem0.Recordset.Fields("Matensach") = dtnhap.Recordset.Fields("Matensach") dtxem0.Recordset.Fields("Tensach") = dtnhap.Recordset.Fields("Tensach") dtxem0.Recordset.Fields("Maploai") = dtnhap.Recordset.Fields("Maploai") dtxem0.Recordset.Fields("Manxb") = dtnhap.Recordset.Fields("Manxb") dtxem0.Recordset.Fields("Soluong") = 1
dtxem0.Recordset.Fields("Giatien") = dtnhap.Recordset.Fields("Giatien") dtxem0.Recordset.Fields("Sotrang") = dtnhap.Recordset.Fields("Sotrang") dtxem0.Recordset.Fields("Ngaynhap") = dtnhap.Recordset.Fields("Ngaynhap") dtxem0.UpdateRecord
dtnhap.Recordset.MoveNext 'dtnhap.Recordset.Delete Loop
t = 0 End Sub
Private Sub cmbnhap_Click() txtmasach.Text = ""
txtmatensach.Text = ""
txttensach.Text = ""
dbmaploai.Text = ""
dbmanxb.Text = ""
txtsoluong.Text = ""
txtgiatien.Text = ""
txtsotrang.Text = ""
txtngaynhap.Text = ""
Me.lbtennxb.Caption = ""
Me.lbtenploai.Caption = ""
txtmatensach.SetFocus t = 1
Me.cmbghi.Visible = True Me.cmbnhap.Visible = False Me.cmbthoat.Enabled = False Me.cmbend.Enabled = False Me.Command1.Enabled = False
Me.Command2.Enabled = False Me.Command3.Enabled = False txtmatensach.Locked = False txttensach.Locked = False dbmaploai.Locked = False dbmanxb.Locked = False txtsoluong.Locked = False txtgiatien.Locked = False txtsotrang.Locked = False txtngaynhap.Locked = False
If Not dtnhap.Recordset.BOF Then dtnhap.Recordset.MoveFirst End If
Do While Not dtnhap.Recordset.EOF dtnhap.Recordset.Delete
dtnhap.Recordset.MoveNext Loop
dtxem.Refresh End Sub
Private Sub cmbthoat_Click() If Not dtnhap.Recordset.BOF Then dtnhap.Recordset.MoveFirst End If
Do While Not dtnhap.Recordset.EOF dtnhap.Recordset.Delete
dtnhap.Recordset.MoveNext Loop
dtxem.Refresh Unload Me
End Sub
Private Sub cmbxoa_Click() Dim n
Dim tl
If (dtxem.Recordset.EOF = False) And (dtxem.Recordset.BOF = False) Then
n = dtxem.Recordset.RecordCount End If
If n = 0 Then
MsgBox " Không còn mẩu tin nào "
Else
tl = MsgBox("Bạn có muốn xoá tỉnh này ko?", vbYesNo + 32,
"Thông báo") If tl = 6 Then
dtxem.Recordset.Delete dtxem.Refresh
dtnhap.Refresh End If
End If End Sub
Private Sub Command1_Click() dtxem0.Recordset.MoveFirst End Sub
Private Sub Command2_Click() If dtxem0.Recordset.BOF Then MsgBox "Da la ban ghi dau"
Else
dtxem0.Recordset.MovePrevious End If
End Sub
Private Sub Command2_MouseMove(Button As Integer, Shift As Integer, x As Single, y As Single)
If dtxem0.Recordset.BOF Then dtxem0.Recordset.MoveNext End If
End Sub
Private Sub Command3_Click() If dtxem0.Recordset.EOF Then MsgBox "Da la ban ghi dau"
Else
dtxem0.Recordset.MoveNext End If
End Sub
Private Sub Command3_MouseMove(Button As Integer, Shift As Integer, x As Single, y As Single)
If dtxem0.Recordset.EOF Then
dtxem0.Recordset.MovePrevious End If
End Sub
Private Sub Command4_Click() Unload Me
End Sub
Private Sub Command6_Click()
Dim sx, mts As String Dim n, i As Integer
If Val(txtslt.Text) < 0 Then
MsgBox " Số sách nhập thêm phải không âm"
Else
If ttt = 1 Then
dtsach02.Recordset.MoveFirst
sx = dtsach02.Recordset.Fields("Matensach") n = InStr(sx, "1") - 1
mts = Left$(sx, Str(n)) 'MsgBox mts
'MsgBox dtsach02.Recordset.Fields("Tensach") For i = sl + 1 To Val(txtslt.Text) + sl
dtsach04.Recordset.AddNew
dtsach04.Recordset.Fields("Masach") = dtsach02.Recordset.Fields("Maploai") & "-" &
dtsach02.Recordset.Fields("Manxb") & "-" & mts & i dtsach04.Recordset.Fields("Matensach") = mts & i
dtsach04.Recordset.Fields("Tensach") = dtsach02.Recordset.Fields("Tensach") dtsach04.Recordset.Fields("Maploai") = dtsach02.Recordset.Fields("Maploai") dtsach04.Recordset.Fields("Manxb") = dtsach02.Recordset.Fields("Manxb") dtsach04.Recordset.Fields("Soluong") = 1
dtsach04.Recordset.Fields("Giatien") = dtsach02.Recordset.Fields("Giatien") dtsach04.Recordset.Fields("Sotrang") = dtsach02.Recordset.Fields("Sotrang") dtsach04.Recordset.Fields("Ngaynhap") = dtsach02.Recordset.Fields("Ngaynhap") dtsach04.UpdateRecord
Next i
dtsach04.Refresh
dtsach02.RecordSource = " SELECT * From Sach0 Where Tensach =" & "'" & dbtensach.Text & "'"
dtsach02.Refresh
If Val(txtslt.Text) > 0 Then txtsluong.Text = Str(sl + Val(txtslt.Text)) sl = sl + Val(txtslt.Text)
txtslt.Text = 0 dtsach03.Refresh End If
End If End Sub
Private Sub dbtensach_Change() sl = 0
If Not dtsach03.Recordset.BOF Then dtsach03.Recordset.MoveFirst End If
Do While Not dtsach03.Recordset.EOF
If dtsach03.Recordset.Fields("Tensach") = dbtensach.Text Then sl = sl + 1
End If
dtsach03.Recordset.MoveNext Loop
dtsach02.RecordSource = " SELECT * From Sach0 Where Tensach ="
& "'" & dbtensach.Text & "'"
dtsach02.Refresh txtsluong.Text = Str(sl) ttt = 1
End Sub
Private Sub Form_Load() t = 0
ttt = 0
cmbghi.Visible = False
txtmatensach.Locked = True txttensach.Locked = True dbmaploai.Locked = True dbmanxb.Locked = True txtsoluong.Locked = True txtgiatien.Locked = True txtsotrang.Locked = True txtngaynhap.Locked = True
dtsach01.RecordSource = " SELECT Sach0.Tensach From Sach0 GROUP BY Sach0.Tensach ORDER BY Sach0.Tensach"
dtsach01.Refresh End Sub
Private Sub txtmatensach_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Then
txttensach.SetFocus End If
End Sub
Private Sub txtmatensach_LostFocus() Dim matensach1 As String
matensach1 = Trim(txtmatensach.Text) If t = 1 Then
If trungma(matensach1) Then
MsgBox "Mã trùng, Nhập lại", vbOKOnly, "Thông báo"
txtmatensach.SetFocus End If
If matensach1 = "" Then
MsgBox "Mã không được rỗng ", vbOKOnly, "Thông báo"
txtmatensach.SetFocus End If
End If End Sub
Private Sub txtngaynhap_KeyPress(KeyAscii As Integer) If Me.cmbghi.Visible = True Then
If KeyAscii = 13 Then Me.cmbghi.SetFocus End If
End If End Sub
Private Sub txttensach_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Then
Me.txtsoluong.SetFocus End If
End Sub
Private Sub txtsoluong_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Then
Me.txtgiatien.SetFocus End If
End Sub
Private Sub txtgiatien_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Then
Me.txtsotrang.SetFocus End If
End Sub
Private Sub txtsotrang_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Then
Me.txtngaynhap.SetFocus End If
End Sub
Private Sub dbmanxb_Change() Dim ook1 As Boolean
ook1 = False
Me.dtmanxb.Recordset.MoveFirst
Do While Not dtmanxb.Recordset.EOF And Not ook1 If UCase(dtmanxb.Recordset.Fields("Manxb")) = UCase(dbmanxb.Text) Then
lbtennxb.Caption = dtmanxb.Recordset.Fields("Tennxb") ook1 = True
Else
dtmanxb.Recordset.MoveNext End If
Loop End Sub
Private Sub dbmaploai_Change() Dim ook As Boolean
ook = False
Me.dtmaploai.Recordset.MoveFirst
Do While Not dtmaploai.Recordset.EOF And Not ook If UCase(dtmaploai.Recordset.Fields("Maploai")) = UCase(dbmaploai.Text) Then
lbtenploai.Caption = dtmaploai.Recordset.Fields("Tenploai") ook = True
Else
dtmaploai.Recordset.MoveNext End If
Loop End Sub
Form Cho mượn sách
Function chatsau(st As String) As Integer Dim ok As Boolean
Dim n, i, k As Integer ok = False
n = Len(st) i = 1
Do While Not ok k = Val(Right$(st, i)) If k / 1 = 0 Then ok = True End If i = i + 1 Loop
chatsau = Val(Right$(st, i - 2)) End Function
Private Sub cbvan_Click() Me.dbtensach.Text = ""
Me.dbmasach.Text = ""
'dtsach02.RecordSource = " SELECT * From Sach0 Where Tensach like " & "'" & cbvan.Text & "*" & "'"
dtsach02.RecordSource = " SELECT * From Sach0 Where left$
(Tensach,1) = " & "'" & cbvan.Text & "'"
dtsach02.Refresh
dtsach01.RecordSource = " SELECT Sach0.Tensach From Sach0 Where Tensach like " & "'" & cbvan.Text & "*" & "' GROUP BY Sach0.Tensach ORDER BY Sach0.Tensach"
dtsach01.Refresh
End Sub
Private Sub cmbhsach_Click() Dim tl
If dbmasach.Text <> "" Then
If Not dtsach04.Recordset.BOF Then dtsach04.Recordset.MoveFirst End If
tl = MsgBox("Bạn có chác chắn không?", vbYesNo + 32, "Thông báo")
If tl = 6 Then
Do While Not dtsach04.Recordset.EOF
If UCase(dtsach04.Recordset.Fields("Masach")) = UCase(dbmasach.Text) Then
dtsachhuy.Recordset.AddNew
dtsachhuy.Recordset.Fields("Masach") = dtsach04.Recordset.Fields("Masach")
dtsachhuy.Recordset.Fields("Tensach") = dtsach04.Recordset.Fields("Tensach")
dtsachhuy.Recordset.Fields("Ngayhuy") = txtngayhuy.Text dtsachhuy.UpdateRecord
'dtsach04.Recordset.Delete End If
dtsach04.Recordset.MoveNext Loop
End If
dtsach02.RecordSource = " SELECT * From Sach0 Where Tensach ="
& "'" & dbtensach.Text & "'"
dtsach02.Refresh
dtsach03.RecordSource = " SELECT * From Sach0 Where Tensach ="
& "'" & dbtensach.Text & "'"
dtsach03.Refresh dtsach04.Refresh dbtensach.Text = ""
End If End Sub
Private Sub cmbhuysach_Click() Dim tl
If dbtensach.Text <> "" Then
If Not dtsach04.Recordset.BOF Then dtsach04.Recordset.MoveFirst End If
tl = MsgBox("Bạn có chác chắn không?", vbYesNo + 32, "Thông báo")
If tl = 6 Then
Do While Not dtsach04.Recordset.EOF
If UCase(dtsach04.Recordset.Fields("Tensach")) = UCase(dbtensach.Text) Then
dtsachhuy.Recordset.AddNew
dtsachhuy.Recordset.Fields("Masach") = dtsach04.Recordset.Fields("Masach")
dtsachhuy.Recordset.Fields("Tensach") = dtsach04.Recordset.Fields("Tensach")
dtsachhuy.Recordset.Fields("Ngayhuy") = txtngayhuy.Text dtsachhuy.UpdateRecord
dtsach04.Recordset.Delete End If
dtsach04.Recordset.MoveNext Loop
End If
dtsach02.RecordSource = " SELECT * From Sach0 Where Tensach ="
& "'" & dbtensach.Text & "'"
dtsach02.Refresh
dtsach03.RecordSource = " SELECT * From Sach0 Where Tensach ="
& "'" & dbtensach.Text & "'"
dtsach03.Refresh dtsach04.Refresh dbtensach.Text = ""
End If End Sub
Private Sub cmbmsach_Click() Dim ok As Boolean
sl = 0 ok = False
Luoi3.Visible = True luoinhap.Visible = False
If dbmasach.Text = "" Or dbdocgia.Text = "" Or txtngaymuon.Text = ""
Or txtngayhtra.Text = "" Then
MsgBox " Hãy nhập đầy đủ thông tin "
Else
dtsachmuon.Recordset.AddNew
dtsachmuon.Recordset.Fields("Mathe") = dbdocgia.Text dtsachmuon.Recordset.Fields("Masach") = dbmasach.Text dtsachmuon.Recordset.Fields("Ngmuon") = txtngaymuon.Text dtsachmuon.Recordset.Fields("Nghentra") = txtngayhtra.Text dtsachmuon.UpdateRecord
dtsachmuon.Refresh
If Not dtsach04.Recordset.BOF Then dtsach04.Recordset.MoveFirst End If
'tl =
'If tl = 6 Then
Do While Not dtsach04.Recordset.EOF And Not ok If UCase(dtsach04.Recordset.Fields("Masach")) = UCase(dbmasach.Text) Then
dtsach04.Recordset.Edit
dtsach04.Recordset.Fields("Sluongcon") = 0 dtsach04.Recordset.Update
ok = True End If
dtsach04.Recordset.MoveNext Loop
'End If
dtsach02.RecordSource = " SELECT * From Sach0 Where Tensach ="
& "'" & dbtensach.Text & "'"
dtsach02.Refresh
'dtsach03.RecordSource = " SELECT * From Sach0 Where Tensach ="
& "'" & dbtensach.Text & "'"
'dtsach03.Refresh 'dtsach04.Refresh 'dbtensach.Text = ""
If Not dtsach02.Recordset.BOF Then dtsach02.Recordset.MoveFirst End If
Do While Not dtsach02.Recordset.EOF
If dtsach02.Recordset.Fields("Tensach") = dbtensach.Text Then sl = sl + 1
End If
dtsach02.Recordset.MoveNext
Loop
If dbtensach.Text <> "" Then
lbsosach.Caption = Str(sl) & " quyển"
Else
lbsosach.Caption = ""
End If
lbdmuon.Caption = " đã mượn"
cmbmuonsach.Visible = True cmbmsach.Visible = False End If
End Sub
Private Sub cmbmuonsach_Click() cmbmsach.Visible = True Me.dbdocgia.Text = ""
Me.dbmasach.Text = ""
Me.dbtensach.Text = ""
Me.txtngayhtra.Text = ""
txtngaymuon.Text = Date cmbmuonsach.Visible = False dbdocgia.Locked = False
cbvan.Locked = False dbmasach.Locked = False dbsachma.Locked = False dbtensach.Locked = False Me.txtngayhtra.Locked = False Me.txtngaymuon.Locked = False End Sub
Private Sub cmbthoat_Click()
If Not dtnhap.Recordset.BOF Then dtnhap.Recordset.MoveFirst End If
Do While Not dtnhap.Recordset.EOF dtnhap.Recordset.Delete
dtnhap.Recordset.MoveNext Loop
dtnhap.Refresh Unload Me
End Sub
Private Sub dbdocgia_Change()
lbtendocgia.Caption = dbdocgia.BoundText End Sub
Private Sub dbmasach_Change()
sl1 = 0
dtsach02.RecordSource = " SELECT * From Sach0 Where Masach
=" & "'" & dbmasach.Text & "'"
dtsach02.Refresh
If Not dtsach02.Recordset.BOF Then dtsach02.Recordset.MoveFirst End If
Do While Not dtsach02.Recordset.EOF
If dtsach02.Recordset.Fields("Tensach") = dbtensach.Text Then sl1 = sl1 + 1
End If
dtsach02.Recordset.MoveNext Loop
If dbmasach.Text <> "" Then
lbsomuon.Caption = Str(sl1) & " quyển"
Else
lbsomuon.Caption = ""
End If
If dbmasach.Text = "" Then dbsachma.Locked = True Else
dbsachma.Locked = False End If
dbsachma.Text = ""
Luoi3.Visible = True luoinhap.Visible = False
End Sub
Private Sub dbmasach_Click(Area As Integer) If dbtensach.Text = "" Then
MsgBox " Hãy chọn tên sách "
End If End Sub
Private Sub dbsachma_Change() Dim i, s, n As Integer
Dim st As String
If dbsachma.Text <> "" Then
s = Abs(chatsau(dbsachma.Text) - chatsau(dbmasach.Text)) lbsomuon.Caption = Str(s + 1) & " quyển"
st = Left$(dbmasach.Text, (Len(dbmasach.Text) + 1 - Len(Str(chatsau(dbmasach.Text)))))
If Not dtsach04.Recordset.BOF Then dtsach02.Recordset.MoveFirst End If
If (chatsau(dbsachma.Text) - chatsau(dbmasach.Text)) > 0 Then n = chatsau(dbmasach.Text)
Else
n = chatsau(dbsachma.Text) End If
For i = 0 To s
dtnhap.Recordset.AddNew
dtnhap.Recordset.Fields("Masach") = st & (n + i) dtnhap.Recordset.Fields("Matensach") =
dtsach02.Recordset.Fields("Matensach") dtnhap.Recordset.Fields("Tensach") = dtsach02.Recordset.Fields("Tensach") dtnhap.Recordset.Fields("Maploai") = dtsach02.Recordset.Fields("Maploai") dtnhap.Recordset.Fields("Manxb") = dtsach02.Recordset.Fields("Manxb")
dtnhap.Recordset.Fields("Soluong") = 1 dtnhap.Recordset.Fields("Giatien") = dtsach02.Recordset.Fields("Giatien") dtnhap.Recordset.Fields("Sotrang") = dtsach02.Recordset.Fields("Sotrang")
dtnhap.Recordset.Fields("Ngaynhap") = dtsach02.Recordset.Fields("Ngaynhap") dtnhap.UpdateRecord
Next i
dtnhap.Refresh dbmasach.SetFocus Luoi3.Visible = False luoinhap.Visible = True End If
End Sub
Private Sub dbsachma_GotFocus() If Not dtnhap.Recordset.BOF Then dtnhap.Recordset.MoveFirst End If
Do While Not dtnhap.Recordset.EOF dtnhap.Recordset.Delete
dtnhap.Recordset.MoveNext Loop
dtnhap.Refresh End Sub
Private Sub dbtensach_Change() sl = 0
dtsach02.RecordSource = " SELECT * From Sach0 Where Tensach ="
& "'" & dbtensach.Text & "'"
dtsach02.Refresh
dtsach03.RecordSource = " SELECT * From Sach0 Where Tensach ="
& "'" & dbtensach.Text & "'"
dtsach03.Refresh
lbtensach.Caption = dbtensach.Text
If Not dtsach02.Recordset.BOF Then dtsach02.Recordset.MoveFirst End If
Do While Not dtsach02.Recordset.EOF
If dtsach02.Recordset.Fields("Tensach") = dbtensach.Text Then sl = sl + 1
End If
dtsach02.Recordset.MoveNext Loop
If dbtensach.Text <> "" Then
lbsosach.Caption = Str(sl) & " quyển"
Else
lbsosach.Caption = ""
End If End Sub
Private Sub dbtensach_Click(Area As Integer) dbmasach.Text = ""
End Sub
Private Sub Form_Load()
dtsach01.RecordSource = " SELECT Sach0.Tensach From Sach0 GROUP BY Sach0.Tensach ORDER BY Sach0.Tensach"
dtsach01.Refresh
cmbmsach.Visible = False cmbmuonsach.Visible = True dbdocgia.Locked = True
cbvan.Locked = True
Me.txtngayhtra.Locked = True Me.txtngaymuon.Locked = True End Sub