Chức năng xử lí Bán vé cho khách

Một phần của tài liệu Phần mềm Quản lý Bán vé và điều hành xe tại bến xe Vinh, Nghệ An. (Trang 74 - 82)

Chương 7: THIẾT KẾ GIAO DIỆN VÀ XÂY DỰNG MODUL CHƯƠNG TRÌNH

7.4. Thiết kế giao diện chức năng xử lí thông tin

7.4.1. Chức năng xử lí Bán vé cho khách

a. Giao diện.

b. Modul chương trình.

+ Chức năng mới:

- Hiện thị bảng bán vé cho khách.

- Nhập vé bán theo yêu cầu của khách theo tuyến luồng và xe đó phải đang

Ngày đặt, giờ đặt, ngày xe chạy, giờ xe chạy.

+ Chức năng hủy: Hủy các thao tác.

+ Chức năng xóa: Xóa các bản ghi ở bảng dữ liệu.

c. Code

Dim rsmv As ADODB.Recordset Dim nutmoi As Boolean

Dim vt As Variant

Dim rsxtb As ADODB.Recordset Dim rsDXG As ADODB.Recordset Dim rstuyen As ADODB.Recordset Dim rsxetaiben As ADODB.Recordset Dim d As Date

Dim giochay As Date Dim ngaychay As Date Dim socho As Byte Private Sub cbsg_Click()

If Timkiem("giave", "tuyen='" & cbtd.Text & "'") = True Then If Check1.Value = 1 Then

rschung.Filter = "chatluongcao='Chất lượng cao'"

Else

rschung.Filter = "chatluongcao='Không'"

End If

txtgv.Text = rschung!giave Else

MsgBox "Lỗi hệ thống", vbOKOnly + vbCritical, "Thông báo"

Exit Sub End If

Private Sub cbsg_GotFocus() Dim i As Byte

Dim cho_ngoi As String cbsg.Clear

For i = 1 To socho

cho_ngoi = Trim(Str(i))

If Timkiem("datve", "soxe='" & cbsx.Text & "' and soghe='" & cho_ngoi & "' and ((ngaychay = #" & Format(Date, "mm/dd/yyyy") & "# and giochay > #" &

Format(Time, "hh:mm") & "#) or (ngaychay > #" & Format(Date, "mm/dd/yyyy")

& "# )) ") = False Then cbsg.AddItem i Next i

End Sub

Private Sub cbsg_KeyPress(KeyAscii As Integer)

If Timkiem("giave", "tuyen='" & cbtd.Text & "'") = True Then If Check1.Value = 1 Then

rschung.Filter = "chatluongcao='Chất lượng cao'"

Else

rschung.Filter = "chatluongcao='Không'"

End If

txtgv.Text = rschung!giave Else

MsgBox "Lỗi hệ thống", vbOKOnly + vbCritical, "Thông báo"

If Timkiem("xetaiben", "soxe='" & cbsx.Text & "' and ((ngayxuat = #" &

Format(Date, "mm/dd/yyyy") & "# and giochay > #" & Format(Time, "hh:mm") &

"#) or (ngayxuat > #" & Format(Date, "mm/dd/yyyy") & "# ) )") = True Then ngaychay = rschung!ngayxuat

giochay = rschung!giochay Else

MsgBox "Xe này đã chạy", vbOKOnly + vbInformation, "Thông báo"

End If

Dim i As Byte

If Timkiem("soxe", "soxe='" & cbsx.Text & "'") = True Then socho = rschung!soghe

End If End Sub

Private Sub cbsx_GotFocus()

rsDXG.Open "SELECT Soxe.soxe, Soxe.soghe, Soxe.chatluongcao, Xetaiben.tuyen, Xetaiben.ngayxuat, Xetaiben.Giochay, Giave.giave " & _

"FROM (Soxe INNER JOIN Xetaiben ON Soxe.soxe = Xetaiben.soxe) INNER JOIN Giave ON (Soxe.chatluongcao = Giave.chatluongcao) AND (Xetaiben.tuyen

= Giave.tuyen) where ((ngayxuat = #" & Format(Date, "mm/dd/yyyy") & "# and giochay > #" & Format(Time, "hh:mm") & "#) or (ngayxuat > #" & Format(Date,

"mm/dd/yyyy") & "# )) and xetaiben.tuyen='" & cbtd.Text & "'", kn, adOpenDynamic, adLockOptimistic

cbsx.Clear

If Check1.Value = 1 Then

rsDXG.Filter = "chatluongcao='Chất lượng cao'"

Else

If rsDXG.RecordCount > 0 Then rsDXG.MoveFirst

cbsx.Clear

Do While Not rsDXG.EOF cbsx.AddItem rsDXG!Soxe rsDXG.MoveNext

Loop Else

MsgBox "Hết xe", vbOKOnly + vbInformation, "Thông báo"

Call sang(Me, True) End If

rsDXG.Close End Sub

Private Sub cmdghi_Click() If txtgv.Text = "" Then

MsgBox "Mời bạn chọn thông tin lại", vbOKOnly + vbInformation, "Thông báo"

Exit Sub End If

If nutmoi = True Then rsmv.AddNew Else

rsmv.Bookmark = vt End If

rsmv!giave = txtgv.Text rsmv.Update

Call sang(Me, True) End Sub

Private Sub cmdhuy_Click() Call sang(Me, True)

Call xoatext(Me) End Sub

Private Sub cmdmoi_Click() Call xoatext(Me)

nutmoi = True Call sang(Me, False) End Sub

Private Sub cmdsua_Click() If cbsx.Text = "" Then

MsgBox "Hãy chọn bản ghi cần sửa", vbOKOnly + vbExclamation, "Thông báo"

Exit Sub End If

Call sang(Me, False) vt = rsmv.Bookmark nutmoi = False End Sub

Private Sub cmdthoat_Click()

If MsgBox("Có chắc là bạn muốn thoát không?", vbOKCancel + vbQuestion,

Private Sub cmdxoa_Click()

If MsgBox("Có chắc là bạn muốn xóa bản ghi này", vbOKCancel + vbQuestion,

"Thông báo") = vbOK Then rsmv.Delete If rsmv.RecordCount = 0 Then

cmdmoi.Enabled = False cmdsua.Enabled = False End If

End Sub

Private Sub DataGrid1_Click() vt = rsmv.Bookmark

ht

End Sub

Private Sub ht()

If rsmv.RecordCount > 0 Then cbsx.Text = rsmv!Soxe

Dim bs As String bs = cbsx.Text

If Timkiem("xetaiben", "soxe='" & bs & "' and ((ngayxuat >= #" & Format(Date,

"mm/dd/yyyy") & "# and giochay > #" & Format(Time, "hh:mm") & "#) or (ngayxuat > #" & Format(Date, "mm/dd/yyyy") & "# )) ") = True Then cbtd.Text = rschung!tuyen

If Timkiem("soxe", "soxe='" & cbsx.Text & "'") = True Then

cbsg.Text = rsmv!soghe txtgv.Text = rsmv!giave End If

End Sub

Private Sub Form_Load() Call sang(Me, True)

Set rsDXG = New ADODB.Recordset Call modulieu(rsxtb, "Xetaiben") Call modulieu(rstuyen, "luongchay") If rstuyen.RecordCount > 0 Then rstuyen.MoveFirst

Do While Not rstuyen.EOF cbtd.AddItem rstuyen!tuyen rstuyen.MoveNext

Loop

Set rsmv = New ADODB.Recordset

rsmv.Open "select * from datve where ngay= # " & Format(Date, "mm/dd/yyyy") &

" # ", kn, adOpenDynamic, adLockOptimistic Set DataGrid1.DataSource = rsmv

End If ht

End Sub.

Một phần của tài liệu Phần mềm Quản lý Bán vé và điều hành xe tại bến xe Vinh, Nghệ An. (Trang 74 - 82)

Tải bản đầy đủ (DOC)

(108 trang)
w