7,763
社区成员
发帖
与我相关
我的任务
分享
Private Sub sprdMain_Click(ByVal Col As Long, ByVal Row As Long)
Dim Value As Variant
Dim Dtype As Integer
On Error GoTo Err_Handler
If Col = 6 Then
With sprdMain
If Row = 0 Then
Exit Sub
End If
If Row = -1 Then
Exit Sub
End If
.Row = Row
.Col = 11
Dtype = .Text
.Col = Col
If .Value <> "checkbox_obj" Then
If .Value <> 2 Then
If .Value = 0 Then
.Value = 1
m_rs.Fields("checkbox_obj").Value = 1
m_rs.Fields("date2").Value = Format$(DateAdd("d", Dtype, m_rs.Fields("date1").Value), "yyyy/mm/dd")
m_rs.Update
.Col = 7
.Lock = False
.BackColor = vbWhite
.BackColorStyle = BackColorStyleUnderGrid
Else
.Value = 0
m_rs.Fields("checkbox_obj").Value = 0
m_rs.Fields("data2").Value = Null
m_rs.Update
.Col = 7
.Lock = True
.BackColor = &HC0FFFF
.BackColorStyle = BackColorStyleUnderGrid
End If
End If
End If
End With
Else
End If
Exit Sub
Err_Handler:
Call ShowError(Err.Number, TypeName(Me) & "::sprdMain_Click", Err.Description)
End Sub 'sprdMain_Click
Option Explicit
Private Sub sprdMain_Click(ByVal Col As Long, ByVal Row As Long)
Dim Value As Variant
Dim Dtype As Integer
On Error GoTo Err_Handler
If Col = 6 Then '只处理第6列(应该是CheckBox列吧)的点击'
With sprdMain
If Row = 0 Then
Exit Sub
End If
If Row = -1 Then
Exit Sub
End If
.Row = Row '访问点击的行'
.Col = 11 '取该行第11列的显示文本赋值给Dtype(String隐式转换为Integer)'
Dtype = .Text
.Col = Col
If .Value <> "checkbox_obj" Then '这两个判断看不出用处,CheckBox的取值应该只有0/1'
If .Value <> 2 Then
If .Value = 0 Then
.Value = 1 '点击后CheckBox从未选中变成选中'
m_rs.Fields("checkbox_obj").Value = 1
'两个函数:DateAdd 把字段 date1 加 Dtype 天,Format$ 把结果日期格式化为文本。'
'如果 data1 的值不带时分秒,并且 data2 是日期类型,Format$ 函数是不必要的。'
m_rs.Fields("date2").Value = Format$(DateAdd("d", Dtype, m_rs.Fields("date1").Value), "yyyy/mm/dd")
m_rs.Update
.Col = 7
.Lock = False
.BackColor = vbWhite
.BackColorStyle = BackColorStyleUnderGrid
Else
.Value = 0 '点击后CheckBox从选中变成未选中'
m_rs.Fields("checkbox_obj").Value = 0
m_rs.Fields("data2").Value = Null
m_rs.Update
.Col = 7
.Lock = True
.BackColor = &HC0FFFF
.BackColorStyle = BackColorStyleUnderGrid
End If
End If
End If
End With
Else
End If
Exit Sub
Err_Handler:
Call ShowError(Err.Number, TypeName(Me) & "::sprdMain_Click", Err.Description)
End Sub 'sprdMain_Click