This is the following code on the form:
Private Sub Form_Load()
Dim AthID As String
Dim AskAth As Boolean
Dim dbs As Database
Dim rst As Recordset
Dim rst2 As Recordset
Dim strSQL As String
Dim x As Integer
FrmMode = Nz(Me.OpenArgs, "NEW"
Select Case UCase(FrmMode)
Case "ADD"
DSRcvdDate.Locked = True
InvoiceDate.Locked = False
DSRcvdDate.TabStop = False
InvoiceDate.TabStop = True
AskType = True
Case "NEW"
DSRcvdDate.Locked = False
InvoiceDate.Locked = True
DSRcvdDate.TabStop = True
InvoiceDate.TabStop = False
AskType = False
End Select
DoCmd.Maximize
Set dbs = CurrentDb
MainLoad
AskAth = GetSetting("WWSI", "Startup", "AskAth", "True"

If Not AskAth Then GoTo EndOfSub
Do
DtRcd = InputDtRcd
If DtRcd = "CANCEL" Then
SaveSetting "WWIS", "Defaults", "DSDt", ""
GoTo EndOfSub
Else
SaveSetting "WWIS", "Defaults", "DSDt", DtRcd
End If
Loop Until IsDate(DtRcd)
Do
AthID = InputAth
If AthID = "CANCEL" Then Exit Sub
Loop Until IsNumeric(AthID)
AthID = Format(AthID, "000000"

' Define search criteria.
strSQL = "AthleteID = '" & AthID & "'"
' Create a dynaset-type Recordset object based on Athlete table.
Set rst = dbs.OpenRecordset("Athlete", dbOpenDynaset)
' Find matching record.
rst.FindFirst strSQL
' Check if record is found.
If rst.NoMatch Then
rst.AddNew
rst!AthleteID = AthID
rst!DSRcvdDate = GetSetting("WWIS", "Defaults", "DSDt", ""

rst.Update
InvoiceNum = AthID & "001"
strSQL = "INSERT INTO invoice "
strSQL = strSQL & "(invoicenum, athleteid) VALUES ('"
strSQL = strSQL & InvoiceNum & "', '" & AthID & "');"
DoCmd.SetWarnings False
DoCmd.RunSQL (strSQL)
DoCmd.SetWarnings True
If AskType Then
OrdType = InputOrdType
If OrdType = "CANCEL" Then
OrdType = ""
GoTo EndOfSub
End If
Else
OrdType = "D"
End If
Me.Caption = "Order Form"
Me.AthleteID = AthID
PopulateFields AthID, 0, "stocknum1"
Me.LastName.SetFocus
Else
Me.Caption = "Order Form"
Me.AthleteID = AthID
Select Case UCase(FrmMode)
Case "ADD"
strSQL = "SELECT MAX (invoicenum) AS maxinv FROM QOrderQuery WHERE athleteid = '" & AthID & "'"
Set rst2 = dbs.OpenRecordset(strSQL)
If rst2.EOF Then
InvoiceNum = AthID & "001"
Else
InvoiceNum = Format(rst2!maxinv + 1, "000000000"

End If
OrdType = InputOrdType
If OrdType = "CANCEL" Then
OrdType = ""
GoTo EndOfSub
End If
strSQL = "INSERT INTO invoice "
strSQL = strSQL & "(invoicenum, athleteid, ordertype) VALUES ('"
strSQL = strSQL & InvoiceNum & "', '" & AthID & "', '" & OrdType & "');"
DoCmd.SetWarnings False
DoCmd.RunSQL (strSQL)
DoCmd.SetWarnings True
PopulateFields AthID, InvoiceNum, "stocknum1"
With Me
.ShipTo1 = UCase(.FirstName & " " & .LastName)
.ShipAddr1 = UCase(.Address1)
.ShipAddr2 = UCase(.Address2)
.ShipCity = UCase(.City)
.ShipState = UCase(.State)
.ShipZIP = .ZIP
End With
Me.PmtType.SetFocus
Case Else
InvoiceNum = AthID & "001"
PopulateFields AthID, 0, "stocknum1"
End Select
AthChange = True
InvChange = True
End If
'Use "Goto EndOfSub" instead of "Exit Sub" to make sure Access cleans up after itself
EndOfSub:
Set dbs = Nothing
Set rst = Nothing
End Sub
I have created the lable called lblSeeNotes and set it's visible property to no. My problem now is where I should put the If, Then, Else... statement in the above code.
If Me!Notes Is Null Then
Me!@lblSeeNotes.Visible = False
Else
Me!lblSeeNotes.Visible = True
End If
Beth