intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Sắp xếp phòng thi bằng Access

Chia sẻ: Nguyễn Phương Linh Phương | Ngày: | Loại File: PDF | Số trang:5

148
lượt xem
23
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Để sắp xếp phòng thi cho học sinh, tôi dùng hai bảng trong Access: table1 có hai cột PHONGTHI và SOLUONG, table2 có các cột SBD, HOTEN, MONTHI, PHONGTHI. Tôi muốn gán tên phòng thi ở table1 vào tên phòng thi ỏ table2 với điều kiện: những học sinh có cùng môn thi thì ở chung phòng thi và số học sinh không được quá số lượng trong table1, nếu vượt quá số lượng thì cho qua phòng kế tiếp. Xin hướng dẫn. Kinh nghiệm: Ví dụ sau đây dựa trên hai bảng có tên tbDSPhongThi (vai trò như table1...

Chủ đề:
Lưu

Nội dung Text: Sắp xếp phòng thi bằng Access

  1. Sắp xếp phòng thi bằng Access hắc mắc: Để sắp xếp phòng thi cho học sinh, tôi dùng hai bảng trong Access: table1 có hai cột PHONGTHI và SOLUONG, table2 có các cột SBD, HOTEN, MONTHI, PHONGTHI. Tôi muốn gán tên phòng thi ở table1 vào tên phòng thi ỏ table2 với điều kiện: những học sinh có cùng môn thi thì ở chung phòng thi và số học sinh không được quá số lượng trong table1, nếu vượt quá số lượng thì cho qua phòng kế tiếp. Xin hướng dẫn. Kinh nghiệm: Ví dụ sau đây dựa trên hai bảng có tên tbDSPhongThi (vai trò như table1 của bạn) và tbDSThiSinh (vai trò như table2 của bạn), trong đó field PhongThi của tbDSPhongThi có thuộc tính Index là Yes (No Duplicates) (không phải là Primary Key), và field MonThi của tbDSThiSinh cũng có thuộc tính Index là Yes (No Duplicates). Việc tạo index chỉ để sắp thứ
  2. tự các thí sinh của cùng môn thi vào một nhóm, cũng như sắp thứ tự phòng thi theo tên. Trên form bạn vẽ một nút lệnh có tên cmdSapXepPhongThi, rồi gõ đoạn mã 2 vào thủ tục xử lý tình huống Click. Căn cứ vào ví dụ này, bạn có thể áp dụng vào nhu cầu thực tế của mình. Bạn lưu ý: để sử dụng các đối tượng Database và Recordset, trong cửa sổ soạn thảo VBA, bạn chọn Tools > References, rồi chọn mục Microsoft DAO 3.6 Object Library (hoặc phiên bản cao nhất của DAO Object Library) trong hộp thoại References. Đoạn mã 2 Private Sub cmdSapXepPhongThi_Click() Dim db As Database, rsDSPhongThi As Recordset, rsDSThiSinh As Recordset Dim sMonThi As String, nSoLuongHienHanh As Byte
  3. Set db = CurrentDb Set rsDSPhongThi = db.OpenRecordset("tbDSPhongThi") Set rsDSThiSinh = db.OpenRecordset("tbDSThiSinh") rsDSPhongThi.Index = "PhongThi" ' Không phải Primary key, chỉ để sắp thứ tự rsDSPhongThi.MoveFirst rsDSThiSinh.Index = "MonThi" ' Không phải Primary key, chỉ để sắp thứ tự With rsDSThiSinh nSoLuongHienHanh = 0 .MoveFirst sMonThi = !MonThi Do While Not .EOF If !MonThi sMonThi Then ' Sang môn thi khác rsDSPhongThi.MoveNext ' Sang phòng thi khác
  4. If rsDSPhongThi.EOF Then ' Hết phòng MsgBox "Hết phòng thi rồi!" Exit Do End If nSoLuongHienHanh = 0 sMonThi = !MonThi End If If nSoLuongHienHanh >= rsDSPhongThi!SoLuong Then ' Het cho rsDSPhongThi.MoveNext ' Sang phòng thi khác If rsDSPhongThi.EOF Then ' Hết phòng MsgBox "Hết phòng thi rồi!" Exit Do End If nSoLuongHienHanh = 0 End If .Edit !PhongThi = rsDSPhongThi!PhongThi
  5. .Update nSoLuongHienHanh = nSoLuongHienHanh +1 .MoveNext Loop End With rsDSThiSinh.Close rsDSPhongThi.Close db.Close End Sub echip
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2