truongtrungviet > 28-06-17, 12:04 AM
maidinhdan > 28-06-17, 12:19 AM
(28-06-17, 12:04 AM)truongtrungviet Đã viết: Mình có một file Database trong đó chứa 2 Table: TblLOP và TblHOCSINH.
TblLop gồm: ID, CapDo, Ngaykgiang, NgayKthuc
TblHOCSINH: ID, HoTen,DiaChi
Yêu cầu: Tất cả học sinh ở Forms HOCSINH được tự động lên lớp khi NgayKthuc từ forms LOP = Ngày hệ thống.
VD: Now()=NgayKthuc thì tất cả học sinh của lớp được lên lớp.
Xin nhờ anh chị em và các bạn trợ giúp để giải được bài toán này. Xin chân thành cảm ơn.
file test: https://www.mediafire.com/?ic91vjv1fs15f6x
truongtrungviet > 28-06-17, 01:00 AM
maidinhdan > 28-06-17, 02:58 AM
(28-06-17, 01:00 AM)truongtrungviet Đã viết: Xin chân thành cảm ơn maidinhdan
Lưu ý: Mỗi lớp có ngày nhập học và ngày kết thúc khác nhau
Ví dụ: NgayKThuc: 10/10/2017.
Như vậy chỉ cần NgayKThuc > ngày 10/10/2017
Thì tất cả học sinh từ lớp ABC1-1 sẽ tự động lên lớp ABC2-1.
- Nếu maidinhdan có thể đưa nó trực tiếp vào Table thì tốt quá.
Public Function LenLop()
Dim rs As Recordset
Dim sqlLenlop As String
Dim Dieukien As Long
Set rs = CurrentDb.OpenRecordset("tblLop", dbOpenDynaset)
With rs
If rs.RecordCount > 0 Then
rs.MoveFirst
Do Until rs.EOF ' Tien hanh kiem tra NGAYKT trong tblLop
If rs.Fields("NGAYKT") <= Date Then ' Neu phat hien NGAYKT <= Date thi cho len lop 2
Dieukien = rs.Fields("ID")
sqlLenlop = "UPDATE TblHOCSINH SET ID = 2 WHERE ID=" & Dieukien
DoCmd.SetWarnings False
DoCmd.RunSQL (sqlLenlop)
DoCmd.SetWarnings True
End If
rs.MoveNext
Loop
End If
End With
rs.Close
Set rs = Nothing
End Function
cpucloi > 28-06-17, 04:02 AM
ongke0711 > 28-06-17, 09:25 AM
truongtrungviet > 28-06-17, 11:11 AM
Public Function LenLop()
Dim rs As Recordset
Dim sqlLenlop As String
Dim Dieukien As Long
Set rs = CurrentDb.OpenRecordset("tblLop", dbOpenDynaset)
With rs
If rs.RecordCount > 0 Then
rs.MoveFirst
Do Until rs.EOF ' Tien hanh kiem tra NGAYKT trong tblLop
If rs.Fields("NGAYKT") <= Date Then ' Neu phat hien NGAYKT <= Date thi cho len lop 2
Dieukien = rs.Fields("ID")
sqlLenlop = "UPDATE TblHOCSINH SET ID = 2 WHERE ID=" & Dieukien
DoCmd.SetWarnings False
DoCmd.RunSQL (sqlLenlop)
DoCmd.SetWarnings True
End If
rs.MoveNext
Loop
End If
End With
rs.Close
Set rs = Nothing
End Function
tt1212 > 28-06-17, 12:02 PM
sub lenlop ()
dim tb as recordset
set tb=currendb.openrecoset("học sinh") // Đột nhập table
do until tb.eof
if [ngaylenlop] =now then
lên lơp
end if
tb.movenext
loop
tb.close
end sub
tranthanhan1962 > 28-06-17, 12:56 PM
truongtrungviet > 01-07-17, 09:11 PM