INTECH
Chào Mừng Bạn Đã Ghé Thăm Diễn Đàn Intech.forumvi.com của chúng tôi.

Mong rằng tại đây bạn sẽ nhận được những thông tin hữu ích,, và đáp ứng được nhu cầu của bạn.

Tuy ít nhiều chúng tôi vẫn còn khá nhiều thiếu sót về nội dung và hình thức, mong nhận được ý kiến đóng góp từ các bạn để chúng tôi tự hoàn thiện.

Hiện tại, bạn có thể đăng nhập Intech thông qua Open ID Facebook, hết sức nhanh chóng và tiện lợi.

Xin lưu ý: Thông tin bạn đăng kí về Giới tính và Ngày sinh, chúng tôi khảo sát nhằm thống kê và kịp gửi lời chúc mừng đến các bạn trong các dịp lễ, sinh hoạt,...trong Diễn Đàn.

Quyền Lợi: Được tham gia giao lưu, chia sẻ kinh nghiệm cùng các thành viên, được tải các tài liệu, phần mềm hỗ trợ cần thiết,...

Các đường Link chỉ sử dụng được khi đã đăng nhập.

Xin Cảm Ơn và gửi đến các bạn lời chào Thân Ái từ Intech.forumvi.com.
Bạn có muốn phản ứng với tin nhắn này? Vui lòng đăng ký diễn đàn trong một vài cú nhấp chuột hoặc đăng nhập để tiếp tục.
Mua thẻ Điện thoại, thẻ Game
Latest topics
Bàn chải du lịchThu Jan 07, 2016 4:21 amzxc1234
Calendar
Admin

Admin

Thích Bài viết này
Intech facebook welcome
Keywords

Lượt Truy Cập
Bộ Đếm
Thống Kê
Hiện có 1 người đang truy cập Diễn Đàn, gồm: 0 Thành viên, 0 Thành viên ẩn danh và 1 Khách viếng thăm

Không

View the whole list


Go down
Thanh Nguyên
Thanh Nguyên
Admin
Admin
Tổng số bài gửi : 526
Được Cảm Ơn : 59
Join date : 11/10/2012
Age : 27
Đến từ : Bà Rịa-Vũng Tàu
http://www.jndev.cf

Quản Lí Mượn Sách Empty Quản Lí Mượn Sách

on Fri Nov 09, 2012 11:55 am
Đề Bài: Chúng ta có file CSDL.mdb bao gồm các bảng sau:

Quản Lí Mượn Sách Ashamp41

Quản Lí Mượn Sách Ashamp42

Quản Lí Mượn Sách Ashamp43

và Winform yêu cầu thiết kế như sau:

Quản Lí Mượn Sách Ashamp44

Yêu Cầu:

  1. Nhấn nút Thêm: Số Phiếu tự động tăng ( dạng "00.."), ô Ngày mượn, mã độc giả, họ tên, mã sách, tên sach, số lượng nhập, số lượng mượn trở về trống.

  • Khi Enter tại ô ngày mượn, nếu không phải dạng ngày tháng hoặc lớn hơn ngày hiện tại thì báo lỗi.
    Khi chọn mã độc giả, các ô họ tên, tự động hiển thị dữ liệu
    Khi chọn Mã Sách: các ô tên sách, số lượng nhập tựu hiển thị.
    Khi enter tại ô Số lượng mượn: nếu không phải dạng số, hoặc là số âm, hoặc lớn hơn số lượng nhập thì báo lỗi. Con trỏ đến nút Ghi.

    Nút Ghi: ghi dữ liệu từ form vào CSDL, nếu tồn tại số phiếu thì báo lỗi.

    Nút lùi, tới, Thoát để chuyển giữa các bản ghi và đống form.


Hướng Giải Quyết:

Đối với yêu cầu 1:

tại vị trí nút thêm các bạn gõ đoạn code sau:

Code:
Private Sub them_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles them.Click
        Dim dt As DataTable
        dt = ketnoi.xulySQL("select sophieu from MUONSACH")
        sophieu.Text = "00" & dt.Rows.Count + 1
        ngay.Focus()
        madocgia.Text = "Vui Lòng Chọn"
        hoten.Text = ""
        sach.Text = "Vui Lòng Chọn"
        muon.Text = ""
        ghi.Enabled = True
    End Sub

Tại ô ngày mượn, để xác định ngày mượn có lớn hơn ngày hiện tại hay không, ta sẽ sử dụng biến phụ a= Date string (với Date string là hàm xác định ngày tháng của hệ thống)

Code:
Private Sub ngay_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles ngay.KeyPress
        If e.KeyChar = Chr(13) Then
            Dim a As String
            a = DateString
            If Not IsDate(ngay.Text) Then
                MsgBox("Vui Lòng nhạp đúng định dạng ngày tháng", MsgBoxStyle.OkOnly + MsgBoxStyle.Information, "SAI ĐỊNH DẠNG")
                ngay.Focus()
            ElseIf (CDate(ngay.Text) > (a)) Then
                MsgBox(" Vui Lòng Nhập Lại Ngày Tháng", MsgBoxStyle.OkOnly + MsgBoxStyle.Information, "SAI")
                ngay.Focus()
            Else
                madg.Focus()
            End If
        End If
    End Sub

Với yêu cầu hiển thị dữ liệu khi click vào List Mã độc giả và combo mã sách các bạn tham khảo tại [You must be registered and logged in to see this link.][You must be registered and logged in to see this link.]

Tại ô Số lượng mượn: để kiểm tra số lượng mượn có đúng dạng sô (và phải dương) hoặc lớn hơn số lượng nhập hay không ta sử dụng dòng code sau:

Code:
Private Sub muon_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles muon.KeyPress
        Dim dt As DataTable
        dt = ketnoi.xulySQL("select nhap from DMSACH")
        If e.KeyChar = Chr(13) Then
            If Not IsNumeric(muon.Text) Then
                MsgBox("Vui Lòng Nhập Chính Xác Số Lượng")
                muon.Focus()
            ElseIf (muon.Text < 0) Then
                MsgBox("Vui Lòng Nhập Số Lượng Dương vào Ô")
                muon.Focus()
            ElseIf ((muon.Text) > (nhap.Text)) Then
                MsgBox(" Bạn Mượn Vượt số lượng hiện có của nhà sách")
                muon.Focus()
            Else
                ghi.Focus()
            End If
        End If
    End Sub

riêng nút ghi, đưa dữ liệu từ form vào CSDL ta thực hiện như sau:

Code:
Private Sub ghi_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ghi.Click
        Dim dt As DataTable


        If Len(ngay.Text) = 0 Then
            MsgBox(" Vui Lòng Nhập Ngày Xuất")
            ngay.Focus()
        ElseIf Not IsDate(ngay.Text) Then
            MsgBox("Sai Định Dạng Ngày Tháng!! Vui Lòng Nhập Lại")
            ngay.Focus()
        ElseIf (madocgia.Text) = "Vui Lòng Chọn" Then
            MsgBox("Bạn Chưa Chọn Mã Độc Giả! Vui Lòng Chọn!")
            madg.Focus()
        ElseIf sach.Text = "Vui Lòng Chọn" Then
            MsgBox("Bạn Chưa Chọn Mã Sách")
            sach.Focus()
        ElseIf muon.Text = "" Then
            MsgBox("Vui Lòng Gõ Số Lượng Mượn")
            muon.Focus()
        ElseIf Not IsNumeric(muon.Text) Then
            MsgBox("Vui Lòng Nhập Chính Xác Số Lượng Mượn")
            muon.Focus()
        ElseIf muon.Text < 0 Then
            MsgBox(" Vui Lòng Nhập Số Lượng Dương")
            muon.Focus()
        Else
            Dim st = "insert into MUONSACH(sophieu,ngay,madocgia,sach,muon) values ('" & sophieu.Text & "',#" & ngay.Text & "#,'" & madocgia.Text & "','" & sach.Text.Substring(0, sach.Text.IndexOf("-")) & "'," & muon.Text & ")"
            dt = ketnoi.xulySQL(st)
            MsgBox("Lưu Thành Công", MsgBoxStyle.OkOnly + MsgBoxStyle.Information, "THÀNH CÔNG")
            ghi.Enabled = False
        End If
    End Sub

Ở đây, tôi không kiểm tra sự tồn tại của 1 số phiếu, nhưng sử dụng cách thức enable và disable đối với nút ghi, như vậy sẽ tránh tình trạng ghi 2 lần, thay vào đó nút ghi sẽ enable khi ta nhấn nút thêm 1 lần nữa.

Quản Lí Mượn Sách Ashamp47

Quản Lí Mượn Sách Ashamp48

Riêng nút lùi, tới, tôi sẽ có một bài hướng dẫn riêng.

Nút thoát, các bạn chỉ cần sử dụng đoạn code Me.close():

Code:
Private Sub thoat_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles thoat.Click
        Me.Close()
    End Sub

Còn đây là một lỗi khá thông dụng :

Quản Lí Mượn Sách Ashamp45

Lỗi này xuất hiện khi mã độc giả không có "-" nhưng vẫn được khai báo. để xử lí, ta chỉ cần xóa bỏ đoạn "Substring(0, madocgia.Text.IndexOf("-"))"

Và đây là kết quả cuối cùng:

Quản Lí Mượn Sách Ashamp46

Phần kết nối CSDL và Winform các bạn tham khảo tại [You must be registered and logged in to see this link.]

_________________
Cộng Đồng It Vũng Tàu
Kinh Nghiệm-Học Hỏi-Chia Sẻ

[You must be registered and logged in to see this link.]
avatar
haili_vt3000
Members
Members
Tổng số bài gửi : 7
Được Cảm Ơn : 0
Join date : 09/11/2012

Quản Lí Mượn Sách Empty Re: Quản Lí Mượn Sách

on Fri Nov 09, 2012 12:00 pm
nguyên ngày hôm nay làm đc bài này hở , chiều kt bài này chắc trúng tửu =]]z
Thanh Nguyên
Thanh Nguyên
Admin
Admin
Tổng số bài gửi : 526
Được Cảm Ơn : 59
Join date : 11/10/2012
Age : 27
Đến từ : Bà Rịa-Vũng Tàu
http://www.jndev.cf

Quản Lí Mượn Sách Empty Re: Quản Lí Mượn Sách

on Fri Nov 09, 2012 12:03 pm
Hehe, mới làm có buổi sáng thôi, cầu nguyện đi, ^^ No

_________________
Cộng Đồng It Vũng Tàu
Kinh Nghiệm-Học Hỏi-Chia Sẻ

[You must be registered and logged in to see this link.]
Sponsored content

Quản Lí Mượn Sách Empty Re: Quản Lí Mượn Sách

Về Đầu Trang
Permissions in this forum:
Bạn không có quyền trả lời bài viết