Solved

Access Listbox - Empty/Null

Posted on 2013-01-07
11
535 Views
Last Modified: 2013-01-08
Hello All

I have a Tabbed Form with a Subform on one of the Tab's .  On that Subform I have a Listbox to display info about a Contact.  It works fine to display existing info.  However, if the List is Null is there a way for essentially a message to appear within that Listbox of say "-{None}-" or  "-{No Info}-"
0
Comment
Question by:wlwebb
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 4
  • 3
  • 2
  • +1
11 Comments
 
LVL 77

Expert Comment

by:peter57r
ID: 38750191
What is the rowsource for the listbox?
0
 
LVL 61

Accepted Solution

by:
mbizup earned 500 total points
ID: 38750193
No... a workaround is to place a label or textbox above it and in whatever event is controlling the listbox rowsouce:

If me.lstBox.rowcount = 0 then
     Me.txtBox = "No Records"
Else
       Me.txtbox = "total records: " & me.lstbox.rowcount
End if
0
 

Author Comment

by:wlwebb
ID: 38750196
Peter
Me.listShipperLocations.RowSource = "SELECT ShipperLocID, ShipperLoc, ShipperID FROM dta_ShippersLocations" & _
    " WHERE (((ShipperID)=[Forms]![tfrm_Shippers]![sfrm_dta_ShippersLocations].[Form]![ShipperID]))" & _
    " ORDER BY ShipperLoc"

Mbiz.....
That's sort of what I thought ......

I'll see if Peter has a different approach
0
Industry Leaders: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 
LVL 77

Expert Comment

by:peter57r
ID: 38750210
I think Miriam's solution is fine.
I was going to look at counting records but Miriam's approach is simpler.
0
 

Author Comment

by:wlwebb
ID: 38750211
I tried a couple If stmts

    If Me.listShipperLocations.ListCount = 0 Then
        Me.listShipperLocations.RowSource = "{No Locations}-"
    End If
    Me.listShipperLocations.Requery


    If Me.listShipperLocations.ListCount = 0 Then
        Me.listShipperLocations.Value = "{No Locations}-"
    End If
    Me.listShipperLocations.Requery

But none worked.........
0
 
LVL 61

Expert Comment

by:mbizup
ID: 38750257
You can't set the listbox like that.  The idea is to use a textbox above the listbox to display the listcount or "no records".
0
 
LVL 30

Expert Comment

by:hnasr
ID: 38750408
Interesting request! I'll give it a try.
0
 
LVL 61

Expert Comment

by:mbizup
ID: 38750422
Not sure if you have a .Net background... but gridviews, etc in .Net DO have this option, allowing you to specify text to display if there are no records present.  It appears as non-selectable text centered in the gridview.

Access listboxes do not have this option.  You can possibly set the row source to display "No Records", but unlike .Net, in Access it would be an actual list item -- which would be selectable unless you include code to lock/disable the listbox for such cases.  Also, if your listbox has multiple colomns, the text would have to appear in one of the columns rather than centered across the listbox.

The easiest way IMO to inform the user is to use a seperate textbox (or text boxes) to display the number of items in the list as described above.

Our standard for that here is to use two textboxes with associated labels to show how many 'filtered' records the listbox is displaying and the total possible number of unfiltered records - something like this:

          Displaying X  of  Y total records

Where X is the listcount of filtered records, and Y is the total number of unfiltered records.  (We place this information/textboxes immediately under the right hand corner of the listbox)
0
 
LVL 30

Expert Comment

by:hnasr
ID: 38750461
Try this:
Replace with your table, and field names.

Table 0 (f1, f2, f3) - this is your table to display contents of listbox  if any.
Table a(....) used to display {x} - if table 0 is empty.

Select Distinct "", " {x}" ,"" 
From a Where Not Exists(SELECT [0].[f1], [0].[f2],[0].[f2] FROM 0)
UNION 
SELECT [0].[f1], [0].[f2],[0].[f2] 
FROM 0 ;

Open in new window

0
 

Author Closing Comment

by:wlwebb
ID: 38754777
Thanks Mbiz.....
0
 
LVL 61

Expert Comment

by:mbizup
ID: 38754808
Glad to help out :-)
0

Featured Post

Creating Instructional Tutorials  

For Any Use & On Any Platform

Contextual Guidance at the moment of need helps your employees/users adopt software o& achieve even the most complex tasks instantly. Boost knowledge retention, software adoption & employee engagement with easy solution.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

A simple tool to export all objects of two Access files as text and compare it with Meld, a free diff tool.
Access custom database properties are useful for storing miscellaneous bits of information in a format that persists through database closing and reopening.  This article shows how to create and use them.
Learn how to number pages in an Access report over each group. Activate two pass printing by referencing the pages property: Add code to the Page Footers OnFormat event to capture the pages as there occur for each group. Use the pages property to …
Basics of query design. Shows you how to construct a simple query by adding tables, perform joins, defining output columns, perform sorting, and apply criteria.

718 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question