Lookup a field to see whether or not it is null or has a value

Ryan Bass
Ryan Bass used Ask the Experts™
on
Hi all.  

I currently have the following line of code to see if number entered is a valid one in my MasterCellDevices table:

            If DCount("connection", "MasterCellDevices", "[connection]='" & Me.txt_InvConnectionPhone & "'") > 0 Then

If it is a valid number I want to check to see if there is anything in the MasterCellDevices.ID field.  If there is, I want a msgbox to pop up saying that it is already assigned to a different location.  If it is null or empty I want it to update the field with the current ID.

I am struggling on how to figure out whether or not that field is empty or not.

Sorry if I didn't explain it enough, but I am new to coding and looking for help.

Thank you for your time and help.
Comment
Watch Question

Do more with

Expert Office
EXPERT OFFICE® is a registered trademark of EXPERTS EXCHANGE®
Bill PrewTest your restores, not your backups...
Top Expert 2016

Commented:
Have you tried wrapping DCount() in Nz(), that way if it returns NULL then you still get a number, 0.

If Nz(DCount("connection", "MasterCellDevices", "[connection]='" & Me.txt_InvConnectionPhone & "'"),0) > 0 Then

Open in new window


»bp

Author

Commented:
Sorry, I should have posted more code.

            If DCount("connection", "MasterCellDevices", "[connection]='" & Me.txt_InvConnectionPhone & "'") > 0 Then
                Set rsMasterCellList = ("SELECT MasterCellDevices.[KioskID] FROM MasterCellDevices WHERE MasterCellDevices.[connection] = " & Me.txt_InvConnectionPhone & "")
                If Not IsNull(rsMasterCellList) Then
                    DupConnection = MsgBox("This number is already assigned to a kiosk.")  'Display if cell number is in KioskCellInstall
                Else
                    rsKioskCellInstall.Edit
                    rsKioskCellInstall!WanConnection = "AT&T CP"
                    rsKioskCellInstall!phonenumber = Phone
                    rsKioskCellInstall.Update
                    Me.txt_ConnectionType = rsKioskCellInstall!WanConnection
                    Me.txt_ConnectionPhone = rsKioskCellInstall!phonenumber
                End If
            Else
                WanConnection = MsgBox("Phone number does not exist in Master Cell Devices. Please double check the number.")
                Me.cmd_UpdateCell.SetFocus
            End If

Open in new window


The rsMasterCellList is where I am trying to grab the KioskID field from the MasterCellDevices table.   When I run it, I get an error saying Object required.  Which I'm assuming means that rsMasterCellList isn't returning a value.

Thanks for your help.
Bill PrewTest your restores, not your backups...
Top Expert 2016

Commented:
Which line is highlighted in the Debug session when you get the error?


»bp
Acronis in Gartner 2019 MQ for datacenter backup

It is an honor to be featured in Gartner 2019 Magic Quadrant for Datacenter Backup and Recovery Solutions. Gartner’s MQ sets a high standard and earning a place on their grid is a great affirmation that Acronis is delivering on our mission to protect all data, apps, and systems.

Bill PrewTest your restores, not your backups...
Top Expert 2016

Commented:
And what is rsKioskCellInstall and where is it set?


»bp

Author

Commented:
This is the highlighted line:
                Set rsMasterCellList = ("SELECT MasterCellDevices.[KioskID] FROM MasterCellDevices WHERE MasterCellDevices.[connection] = " & Me.txt_InvConnectionPhone & "")


Here is the entire code from button press:
Private Sub cmd_UpdateCell_Click()

Dim WAN As String
Dim Phone As String
Dim rsKioskCellInstall As DAO.Recordset
Dim db As Database
Dim rsMasterCellList As DAO.Recordset
Dim WanConnection As String
Dim shortphone As String
Dim DupConnection As String

Set db = CurrentDb()
Set rsKioskCellInstall = db.OpenRecordset("SELECT tbl_KioskCellInstall.* FROM tbl_KioskCellInstall WHERE tbl_KioskCellInstall.[KioskID] = " & Me.txt_IDNum & "")


WAN = InputBox("Please enter corresponding number:" & vbCrLf & vbTab & vbCrLf & vbTab & "1 - AT&T CP" & vbCrLf & vbTab & "2 - Default Password" & vbCrLf & vbTab & "3 - Stores Internet" & vbCrLf & vbTab & "4 - Unknown" & vbCrLf & vbTab & "5 - Verizon 760" & vbCrLf & vbTab & "6 - Verizon CP")

If WAN = "" Then
    Me.cmd_UpdateCell.SetFocus
ElseIf WAN = 1 Then
    Phone = InputBox("Please enter the 11 digit phone number:")
        Me.txt_InvConnectionPhone = Phone
        If Len(Me.txt_InvConnectionPhone) <> 11 Then
            shortphone = MsgBox("Please enter an 11 digit phone number.", vbOKOnly)
        ElseIf Len(Me.txt_InvConnectionPhone) = 11 Then
            If DCount("connection", "MasterCellDevices", "[connection]='" & Me.txt_InvConnectionPhone & "'") > 0 Then
                Set rsMasterCellList = ("SELECT MasterCellDevices.[KioskID] FROM MasterCellDevices WHERE MasterCellDevices.[connection] = " & Me.txt_InvConnectionPhone & "")
                If Not IsNull(rsMasterCellList) Then
                    DupConnection = MsgBox("This number is already assigned to a kiosk.")  'Display if cell number is in KioskCellInstall
                Else
                    rsKioskCellInstall.Edit
                    rsKioskCellInstall!WanConnection = "AT&T CP"
                    rsKioskCellInstall!phonenumber = Phone
                    rsKioskCellInstall.Update
                    Me.txt_ConnectionType = rsKioskCellInstall!WanConnection
                    Me.txt_ConnectionPhone = rsKioskCellInstall!phonenumber
                End If
            Else
                WanConnection = MsgBox("Phone number does not exist in Master Cell Devices. Please double check the number.")
                Me.cmd_UpdateCell.SetFocus
            End If
        
        End If
End If

End Sub

Open in new window

Test your restores, not your backups...
Top Expert 2016
Commented:
Should that line be:

Set rsMasterCellList = db.OpenRecordset("SELECT MasterCellDevices.[KioskID] FROM MasterCellDevices WHERE MasterCellDevices.[connection] = " & Me.txt_InvConnectionPhone & "")

Open in new window


»bp

Author

Commented:
Yes it should be...  

I changed it but now I get the following error:

Data type mismatch in criteria expression

Author

Commented:
It is a text field in the table.
Bill PrewTest your restores, not your backups...
Top Expert 2016

Commented:
Glad that helped.


»bp

Do more with

Expert Office
Submit tech questions to Ask the Experts™ at any time to receive solutions, advice, and new ideas from leading industry professionals.

Start 7-Day Free Trial