Bài Kiểm Tra Giữa Kỳ-DH11CT
Sat Nov 10, 2012 7:00 am
Đề Bài:
Cho tập tin CSDL.mdb bao gồm các bảng sau:
Dữ liệu tại hai bảng này được điền trong quá trình thiết kế
Form Chính được thiết kế như sau:
Yêu Cầu:
Viết Code điều khiển Form cập nhật:
+ Nhấn Nút Thêm: Dữ Liệu Được Xóa Trắng trên Form, Trỏ chuột về Combo Mã Sinh Viên.
+Khi Chọn Combo, Dữ liệu trên các ô Text Box sẽ thay đổi theo Combo.
+ Kiểm tra ô nhập điểm khi nhấn Enter (Tính chính xác của điểm)
+Nút Lưu: Lưu Dữ Liệu vào CSDL
+ Nút Lùi Tới, Thoát: Di chuyển qua lại giữa các bản ghi và đóng Form...
Bài Hướng Dẫn
Với yêu Cầu tại nút Thêm: ta sử dụng đoạn Code:
Yêu Cầu Change Combo:
+ Combo Mã SV:
+ Combo Mã Môn Học:
và ta chèn đoạn code sau vào mục Form Load:
+Yêu Cầu ô Nhập Điểm:
+Nút Lưu Dữ Liệu:
+Phần Lùi tới, do điều kiện thời gian có hạn, nên mình sẽ gửi form đính kèm tại link bên dưới. Các bạn tải về và tham khảo thêm.
Chúc các bạn thành công.
Cho tập tin CSDL.mdb bao gồm các bảng sau:
Dữ liệu tại hai bảng này được điền trong quá trình thiết kế
Riêng Bảng BDIEM, dữ liệu sẽ được điền vào bằng form Cập Nhât.
Form Chính được thiết kế như sau:
Yêu Cầu:
- Tạo Bảng và thiết kế form Cập Nhật Như trên
Viết Code điều khiển Form cập nhật:
+ Nhấn Nút Thêm: Dữ Liệu Được Xóa Trắng trên Form, Trỏ chuột về Combo Mã Sinh Viên.
+Khi Chọn Combo, Dữ liệu trên các ô Text Box sẽ thay đổi theo Combo.
+ Kiểm tra ô nhập điểm khi nhấn Enter (Tính chính xác của điểm)
+Nút Lưu: Lưu Dữ Liệu vào CSDL
+ Nút Lùi Tới, Thoát: Di chuyển qua lại giữa các bản ghi và đóng Form...
Bài Hướng Dẫn
Với yêu Cầu tại nút Thêm: ta sử dụng đoạn Code:
- Code:
Private Sub Them_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Them.Click
MASV.Text = "Vui Lòng Chọn"
HOTEN.Text = ""
NGAYSINH.Text = ""
MALOP.Text = ""
MAMH.Text = "Vui Lòng Chọn"
TENMH.Text = ""
SOTRINH.Text = ""
DIEM.Text = ""
luu.Enabled = True
End Sub
Yêu Cầu Change Combo:
+ Combo Mã SV:
- Code:
Private Sub MASV_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MASV.SelectedIndexChanged
Dim th, mh, kt As String
Dim n, m As Integer
n = MASV.Text.IndexOf("-") + 1
m = Len(MASV.Text) - n
th = MASV.Text.Substring(n, m)
HOTEN.Text = th
mh = MASV.Text.Substring(0, n - 1)
Dim dt As New DataTable
dt = ketnoi.xulySQL("select * from HOSOSINHVIEN where MASV='" & mh & "'")
kt = MASV.Text.Substring(0, n - 1)
If dt.Rows.Count > 0 Then
NGAYSINH.Text = dt.Rows(0).Item("NGAYSINH")
MALOP.Text = dt.Rows(0).Item("MALOP")
MAMH.Focus()
End If
End Sub
+ Combo Mã Môn Học:
- Code:
Private Sub MAMH_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MAMH.SelectedIndexChanged
Dim th, mh, kt As String
Dim n, m As Integer
n = MAMH.Text.IndexOf("-") + 1
m = Len(MAMH.Text) - n
th = MAMH.Text.Substring(n, m)
TENMH.Text = th
mh = MAMH.Text.Substring(0, n - 1)
Dim dt As New DataTable
dt = ketnoi.xulySQL("select * from DMMONHOC where MAMH='" & mh & "'")
kt = MASV.Text.Substring(0, n - 1)
If dt.Rows.Count > 0 Then
TENMH.Text = dt.Rows(0).Item("TENMH")
SOTRINH.Text = dt.Rows(0).Item("SOTRINH")
DIEM.Focus()
End If
End Sub
và ta chèn đoạn code sau vào mục Form Load:
- Code:
Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
ketnoi.create_combo("select MASV & '-' & HOTEN as NAME from HOSOSINHVIEN", MASV, "NAME")
ketnoi.create_combo("select MAMH & '-' & TENMH as NAME from DMMONHOC", MAMH, "NAME")
Call views(0)
End Sub
+Yêu Cầu ô Nhập Điểm:
- Code:
Private Sub DIEM_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles DIEM.KeyPress
If e.KeyChar = Chr(13) Then
If ((DIEM.Text) < 0 Or (DIEM.Text > 10)) Then
MsgBox("Vui Lòng Nhập Lại Điểm")
DIEM.Focus()
ElseIf Not IsNumeric(DIEM.Text) Then
MsgBox("Vui Lòng Nhập Lại Điểm")
DIEM.Focus()
Else
luu.Focus()
End If
End If
End Sub
+Nút Lưu Dữ Liệu:
- Code:
Private Sub luu_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles luu.Click
Dim dt As DataTable
Dim st = "select* from BDIEM where MASV='" & MASV.Text & "'"
dt = ketnoi.xulySQL(st)
If (MASV.Text) = "Vui Lòng Chọn" Then
MsgBox(" Vui Lòng Nhập Mã Sinh VIên")
MASV.Focus()
ElseIf (HOTEN.Text) = "" Then
MsgBox("Bạn Chưa Chọn Mã SInh VIên! Vui Lòng Chọn!")
MASV.Focus()
ElseIf NGAYSINH.Text = "" Then
MsgBox("Bạn Chưa Chọn Mã Sinh Viên")
MASV.Focus()
ElseIf MALOP.Text = "" Then
MsgBox("Vui Lòng Chọn Mã Sinh Viên")
MASV.Focus()
ElseIf (MAMH.Text) = "Vui Lòng Chọn" Then
MsgBox("Vui Lòng Chọn mã Môn Học")
MAMH.Focus()
ElseIf DIEM.Text < 0 Then
MsgBox(" Vui Lòng Nhập Số Dương")
DIEM.Focus()
Else
st = "insert into BDIEM(MASV,MAMH,DIEM) values ('" & MASV.Text & "','" & MAMH.Text & "'," & DIEM.Text & ")"
dt = ketnoi.xulySQL(st)
MsgBox("Lưu Thành Công", MsgBoxStyle.OkOnly + MsgBoxStyle.Information, "THÀNH CÔNG")
luu.Enabled = False
End If
End Sub
+Phần Lùi tới, do điều kiện thời gian có hạn, nên mình sẽ gửi form đính kèm tại link bên dưới. Các bạn tải về và tham khảo thêm.
Chúc các bạn thành công.
- haili_vt3000Members
- Tổng số bài gửi : 7
Được Cảm Ơn : 0
Join date : 09/11/2012
Re: Bài Kiểm Tra Giữa Kỳ-DH11CT
Sat Nov 10, 2012 8:45 am
cái này đề 2 , còn đề 1 nữa mà sếp ...
Re: Bài Kiểm Tra Giữa Kỳ-DH11CT
Sat Nov 10, 2012 8:53 am
đề về List box của Mr.Huy xử lí, bản này tôi có tích hợp Flash Screen, ông tải về chạy thử xem,
Bài Kiểm Tra Giữa Kỳ-DH11CT
Sat Nov 10, 2012 11:54 pm
?????????????????????????????
DIEM_Keypress:
khai báo như vậy. khi nhập ngoài khoảng 0-10 thì ok rồi, nhưng khi nhập kí tự vào thì lại báo lỗi.
vd:nhập bừa là "sfsdf"
Conversion from string "sfsdf" to type 'Double' is not valid.====>Chuyển đổi từ chuỗi "sfsdf" gõ "đúp" là không hợp lệ.
DIEM_Keypress:
khai báo như vậy. khi nhập ngoài khoảng 0-10 thì ok rồi, nhưng khi nhập kí tự vào thì lại báo lỗi.
vd:nhập bừa là "sfsdf"
Conversion from string "sfsdf" to type 'Double' is not valid.====>Chuyển đổi từ chuỗi "sfsdf" gõ "đúp" là không hợp lệ.
Re: Bài Kiểm Tra Giữa Kỳ-DH11CT
Sun Nov 11, 2012 7:59 am
ông thử đổi đoạn
Đoạn kiểm tra đó tôi đã làm rồi.
Còn vấn đề:
Nó báo rằng, đoạn text sfsdf không phải dạng số kiểu Double.
:joker:
- Code:
ElseIf Not IsNumeric(DIEM.Text) Then
MsgBox("Vui Lòng Nhập Lại Điểm")
DIEM.Focus()
- Code:
If ((DIEM.Text) < 0 Or (DIEM.Text > 10)) Then
MsgBox("Vui Lòng Nhập Lại Điểm")
DIEM.Focus()
Đoạn kiểm tra đó tôi đã làm rồi.
Còn vấn đề:
Conversion from string "sfsdf" to type 'Double' is not valid.====>Chuyển đổi từ chuỗi "sfsdf" gõ "đúp" là không hợp lệ.
Nó báo rằng, đoạn text sfsdf không phải dạng số kiểu Double.
:joker:
Re: Bài Kiểm Tra Giữa Kỳ-DH11CT
Sun Nov 11, 2012 8:26 am
Mọi người sửa lại đoạn code nút ghi như sau nha, tôi mới chỉnh lại.
và DIEM_Keypress:
Kết quả sau khi đổi lại như sau:
- Code:
Private Sub luu_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles luu.Click
Dim dt As DataTable
Dim st = "select* from BDIEM where MASV='" & MASV.Text & "'"
dt = ketnoi.xulySQL(st)
If IsNumeric(DIEM.Text) < 0 Then
MsgBox(" Vui Lòng Nhập Số Dương")
DIEM.Focus()
ElseIf Not IsNumeric(DIEM.Text) Then
MsgBox("Vui Lòng Nhập Lại Điểm")
DIEM.Focus()
ElseIf (MASV.Text) = "Vui Lòng Chọn" Then
MsgBox(" Vui Lòng Nhập Mã Sinh VIên")
MASV.Focus()
ElseIf (HOTEN.Text) = "" Then
MsgBox("Bạn Chưa Chọn Mã SInh VIên! Vui Lòng Chọn!")
MASV.Focus()
ElseIf NGAYSINH.Text = "" Then
MsgBox("Bạn Chưa Chọn Mã Sinh Viên")
MASV.Focus()
ElseIf MALOP.Text = "" Then
MsgBox("Vui Lòng Chọn Mã Sinh Viên")
MASV.Focus()
ElseIf (MAMH.Text) = "Vui Lòng Chọn" Then
MsgBox("Vui Lòng Chọn mã Môn Học")
MAMH.Focus()
Else
st = "insert into BDIEM(MASV,MAMH,DIEM) values ('" & MASV.Text & "','" & MAMH.Text & "'," & DIEM.Text & ")"
dt = ketnoi.xulySQL(st)
MsgBox("Lưu Thành Công", MsgBoxStyle.OkOnly + MsgBoxStyle.Information, "THÀNH CÔNG")
luu.Enabled = False
End If
End Sub
và DIEM_Keypress:
- Code:
Private Sub DIEM_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles DIEM.KeyPress
If e.KeyChar = Chr(13) Then
If Not IsNumeric(DIEM.Text) Then
MsgBox("Vui Lòng Nhập Lại Điểm")
DIEM.Focus()
ElseIf ((DIEM.Text) < 0 Or (DIEM.Text > 10)) Then
MsgBox("Vui Lòng Nhập Lại Điểm")
DIEM.Focus()
Else
luu.Focus()
End If
End If
End Sub
Kết quả sau khi đổi lại như sau:
Permissions in this forum:
Bạn không có quyền trả lời bài viết