Originally Posted by
gwboolean
So, My question is exactly how, and how many ways, are there to be able to make my date fields deal with null values?
Since you are building a query in code, maybe you could check for NULL before adding the parameter to the string?
Allen Browne has a function to convert Intl dates to Americans format:
International Dates in Access
Or maybe, since you are building the query in code, do something like this:
Code:
Private Sub AddParams()
'ChangeMaster parameters
MasterBase.AddParam("@recno", lblChangeID.Text)
MasterBase.AddParam("@name", txtName.Text)
MasterBase.AddParam("@managerid", EmployeeID.ToString)
MasterBase.AddParam("@manager", cboManager.Text)
MasterBase.AddParam("@type", cboType.Text)
MasterBase.AddParam("@owner", cboOwner.Text)
MasterBase.AddParam("@where", cboWhere.Text)
MasterBase.AddParam("@made", txtMade.Text)
MasterBase.AddParam("@reason", txtReason.Text)
MasterBase.AddParam("@result", txtResult.Text)
MasterBase.AddParam("@path", lblLink.Text)
'---Date params---
MasterBase.AddParam("@open", txtOpen.Text)
MasterBase.AddParam("@submit", txtSubmit.Text)
MasterBase.AddParam("@approve", txtApprove.Text)
MasterBase.AddParam("@train", txtTrain.Text)
MasterBase.AddParam("@effective", txtEffective.Text)
'---Date params---
MasterBase.AddParam("@active", chkActive.Checked)
MasterBase.AddParam("@obsolete", chkObsolete.Checked)
End Sub
'The following code updates the table.
Private Sub UpdateRecord()
Dim stQryUPDATE As String
stQryUPDATE = "UPDATE sitChangeMaster SET"
If Not IsNull(@recno) Then
stQryUPDATE = stQryUPDATE & " ChangeID=@recno,"
End If
If Not IsNull(@name) Then
stQryUPDATE = stQryUPDATE & " ChangeName=@name,"
End If
If Not IsNull(@managerid) Then
tQryUPDATE = stQryUPDATE & " ChangeManagerID=@managerid,"
End If
If Not IsNull(@manager) Then
tQryUPDATE = stQryUPDATE & " ChangeManager=@manager,"
End If
If Not IsNull(@type) Then
tQryUPDATE = stQryUPDATE & " ChangeType=@type,"
End If
If Not IsNull(@owner) Then
tQryUPDATE = stQryUPDATE & " ChangeOwn er=@owner,"
End If
If Not IsNull(@where) Then
tQryUPDATE = stQryUPDATE & " WhereUsed=@where,"
End If
If Not IsNull(@made) Then
tQryUPDATE = stQryUPDATE & " ChangeMade=@made,"
End If
If Not IsNull(@reason) Then
tQryUPDATE = stQryUPDATE & " ChangeReason=@reason,"
End If
If Not IsNull(@result) Then
tQryUPDATE = stQryUPDATE & " ChangeResult=@result,"
End If
If Not IsNull(@path) Then
tQryUPDATE = stQryUPDATE & " filePath=@path,"
end If
If Not IsNull(@open) Then '<<--Date
tQryUPDATE = stQryUPDATE & " DateOpen=@open,"
end If
If Not IsNull(@submit) Then '<<--Date
tQryUPDATE = stQryUPDATE & " DateSubmit=@submit,"
end If
If Not IsNull(@approve) Then '<<--Date
tQryUPDATE = stQryUPDATE & " DateApprove=@approve,"
end If
If Not IsNull(@train) Then '<<--Date
tQryUPDATE = stQryUPDATE & " DateTrain=@train,"
end If
If Not IsNull(@effective) Then '<<--Date
tQryUPDATE = stQryUPDATE & " DateEffective=@effective,"
end If
If Not IsNull(@active) Then
tQryUPDATE = stQryUPDATE & " Active= @active,"
end If
If Not IsNull(@obsolete) Then
tQryUPDATE = stQryUPDATE & " Obsolete=@obsolete,"
end If
If Not IsNull(@recno) Then
tQryUPDATE = stQryUPDATE & " WHERE ChangeID=@recno,")
end If
REM remove trailing comma
If len(tQryUPDATE) > 3 Then
tQryUPDATE = Left(Len(tQryUPDATE),Len(tQryUPDATE)-1)
#Region "Establish Connection and execute query"
MasterBase.ChangeMasterQuery(stQryUPDATE)
#End Region
If NoErrors(True) = False OrElse RecordCount < 1 Then Exit Sub
RefreshForm()
End Sub
This is just an example in the hopes of getting you moving forward.
Good luck with your project............