7,763
社区成员
发帖
与我相关
我的任务
分享
Private Sub Form_Load()
Dim a As String
Dim rs1 As New ADODB.Recordset
Dim rs2 As New ADODB.Recordset
a = "provider=Microsoft.jet.OLEDB.4.0;Data source=" & App.path & "\jf.mdb;persist security info=false"
conn1.CursorLocation = adUseClient
conn1.Open a
a = "select cardid as 卡号,studentid as 学号,roomid as 机房号,computerid as 机器号,teacher as 值班老师, starttime as 上机时间,endtime as 下机时间,statue as 状态,bz as 备注 from recording where endtime is null"
rs1.Open a, conn1, adOpenKeyset, adLockPessimistic
Set DataGrid1.DataSource = rs1
DataGrid1.Refresh
a = "select cardid as 卡号,studentid as 学号,roomid as 机房号,computerid as 机器号,teacher as 值班老师, starttime as 上机时间,endtime as 下机时间,statue as 状态,bz as 备注 from recording where endtime is not null"
rs2.Open a, conn1, adOpenKeyset, adLockPessimistic
Set DataGrid2.DataSource = rs2
DataGrid2.Refresh
End Sub
Private Sub Form_Unload(Cancel As Integer)
conn1.Close
Set conn1 = Nothing
End Sub
Private Sub Timer1_Timer()
Dim a As String
Dim b As Date
Dim rs1 As New ADODB.Recordset
Dim rs2 As New ADODB.Recordset
Dim rs3 As New ADODB.Recordset
a = "select * from recording where endtime is null"
rs1.Open a, conn1, adOpenKeyset, adLockPessimistic
If rs1.EOF = True And rs1.BOF = True Then
Exit Sub
End If
rs1.MoveFirst
a = "select cardid as 卡号,studentid as 学号,roomid as 机房号,computerid as 机器号,teacher as 值班老师, starttime as 上机时间,endtime as 下机时间,statue as 状态,bz as 备注,usetime as 上机用时 from recording where endtime is null"
rs3.Open a, conn1, adOpenKeyset, adLockPessimistic
While Not rs1.EOF
If rs1.Fields(10) = "" Then
rs1.Fields(10) = rs1.Fields(5)
rs1.Update
Else
b = Format(rs1.Fields(10), Now)
str1 = DateDiff("n", b, Now())
rs1.Fields(10) = Now()
rs1.Fields(9) = str1
rs1.Update
If str1 >= 1 Then
a = "select * from card where cardid='" + rs1.Fields(0) + "'"
rs2.Open a, conn1, adOpenKeyset, adLockPessimistic
rs2.Fields(1) = rs2.Fields(1) - 1
rs2.Update
End If
rs1.MoveNext
End If
Wend
rs2.MoveFirst
While Not rs2.EOF
If rs2.Fields(1) <= 0 Then
Label5.Caption = "成功"
rs2.MoveNext
End If
Wend
Set DataGrid1.DataSource = rs3
DataGrid1.Refresh
While Not rs1.EOF
If rs1.Fields(10) = "" Then
rs1.Fields(10) = rs1.Fields(5)
rs1.Update
End If ——————————rs1.Fields(10)是日期类型,当为空时,把rs1.Fields(5)里的日期赋给他。——出错
b = rs1.Fields(10)
c = Now()
str1 = DateDiff("n", b, c) ——计算时间间隔。——出错
rs1.Fields(10) = Now()
rs1.Fields(9) = str1
rs1.Update
a = "select * from card where cardid='" + rs1.Fields(0) + "'"
rs2.Open a, conn1, adOpenKeyset, adLockPessimistic
If str1 >= 1 Then
rs2.Fields(1) = rs2.Fields(1) - 1
rs2.Update
End If
If rs2.Fields(1) <= 0 Then
提醒框.Text1 = rs2.Fields(0)
提醒框.Show
rs2.MoveNext
End If
rs1.MoveNext
Wend
If rs1.Fields(10) = "" Then
rs1.Fields(10) = rs1.Fields(5)
rs1.Update
Else
b = Format(rs1.Fields(10), Now)
str1 = DateDiff("n", b, Now())
rs1.Fields(10) = Now()
rs1.Fields(9) = str1
rs1.Update
Public Function RepNull(varIn As Variant) As Variant '替换Null
If IsEmpty(varIn) Then
RepNull = Empty
Else
If IsNull(varIn) Then
RepNull = Empty
Else
RepNull = varIn
End If
End If
End Function