我正在尝试将date的值重置为null,并将weight的值重置为null。
我尝试了以下代码,但仅将权重设置为0
,而日期未设置为null:
Private Sub Form_Load()
Me.Text42.Value = ""
Dim i As Integer
Dim Db6 As Database
Dim Rs6 As Recordset
Dim Trn6 As String
Set Db6 = CurrentDb
Set Rs6 = Db6.OpenRecordset("GoatMasterTable")
Do While Not Rs6.EOF
If Rs6.Fields("Recentweight") > 0 Then
Rs6.Edit
Rs6.Fields("RecentWeight") = 0
Rs6.Fields("RecentWeightDate") = """" Or IsNull(Rs6!RecentWeightDate)
Rs6.Update
End If
Rs6.MoveNext
Loop
Rs6.Close
Set Rs6 = Nothing
Db6.Close
End Sub
答案 0 :(得分:1)
由于您不执行依赖记录的计算,而只是将每条记录设置为相同的值,因此一种更简单的方法是简单地执行一条SQL语句,例如:
update GoatMasterTable set RecentWeight = 0, RecentWeightDate = Null where RecentWeight > 0
这样,您的功能可能会变为:
Private Sub Form_Load()
Me.Text42 = ""
With CurrentDb
.Execute "update GoatMasterTable set RecentWeight = 0, RecentWeightDate = Null where RecentWeight > 0"
End With
End Sub
您还需要确保RecentWeightDate
中的GoatMasterTable
字段允许使用空值。
答案 1 :(得分:0)
您需要做的就是将日期字段设置为 Null :
Rs6.Fields("RecentWeight").Value = 0
Rs6.Fields("RecentWeightDate").Value = Null
当然,表的字段 RecentWeightDate 必须允许 Null 值。