Solved

search column of listbox

Posted on 2008-06-10
6
440 Views
Last Modified: 2013-11-27
Hi, I have a multicolumn listbox.  It contains 4 columns.

How do I search if a word exists anywhere in column for.

something to the effect of...

if lstbox.columns(4) = "Yes" then msgbox ("There is the word 'Yes' somewhere in this column!")

0
Comment
Question by:NO_CARRIER
[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
  • 2
6 Comments
 
LVL 3

Expert Comment

by:bandriese
ID: 21753607
As far as I know you can't seach the contents of a list box. What you can do is create a query the is exactly list the Row Source Property for your list box and add perform your checking on the external query. Since I don't know what you're soing exactly there are several possible ways to get what you're looking for. For example, if you want to see all records with that "Yes" in column 4 then in your query put "Yes" in the criteria box for the coresponding field (presumibly the 5th one since columns start at 0). If you are trying to see if a record exists or not, then I would build a function to do that or put the code in a sub routine in your form. The code might look something like the below. Then in your form.. use somthing to call the function like:

Dim MyValue As String
MyValue = CheckForRecords()

If MyValue = "True" Then
  'Yes there are records, Do something
Else
  'No records, do something else
End If


 
Public Function CheckForRecords()
'Save this function as a module
 
Dim db As DAO.Database, rs As DAO.Recordset
Dim SQL As String
Set db = CurrentDb()
SQL = "SELECT * FROM Table;"  'Put your SQL code here
Set rs = db.OpenRecordset(SQL)
 
If .EOF Then
     CheckForRecords = "False"
  Else 
     CheckForRecords = "True"
End If
 
'If you want to do something with the individual records, you can use a loop like this
'With rs
'   While Not .EOF
'       Do something with the records here
'       .MoveNext
'   Wend
' End With
 
Set rs = Nothing
Set db = Nothing

Open in new window

0
 
LVL 3

Expert Comment

by:bandriese
ID: 21753628
In case you use it. I forgot to say that my code example uses uses DAO rather than the newer ADO. The DAO method will work fine, but DAO Objects 3.6 must be enabled under Tools | References in order for this code to function. If you need ADO, let me know.
0
 
LVL 1

Author Comment

by:NO_CARRIER
ID: 21753689
Hi Band... I don't think a select query would work in this instance, as the record itself hasn't actually been created at this point.  

I have an unbound form with unbound controls.  One of which is the multi-column listbox.  Basically when I remove an item (or add an item), I need to know if any of the items in the 4th column have a certain property set to True.  If it is true, then it will change the validation rules for eventually adding the record to the database...
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 3

Expert Comment

by:bandriese
ID: 21753775
Okay, so the unbound form and controls is fine. I'm not sure what you're adding or removing from or to. But perhaps you can add code in the On Change or After Update property of the ListBox to check the value. Otherwise, perhaps you can attach a mdb file with just your form in it so I can see what you're doing, if that's possible.
0
 
LVL 1

Author Comment

by:NO_CARRIER
ID: 21754071
I have a listbox with 4 columns.
I have a series of comboboxes, and controls to add items to the listbox.

When the user clicks [Add Item] it will add items to the listbox.
When the user highlights an item and clicks [Remove Item] the item is removed from the listbox.

When the user has completed filling out the form and wanted to create the record they then click [Create Record], at which point I need to validate the 4th row of the listbox to see if any of the items have "True" listed.  If any of the items have True, then my insert statement will be different.

The problem about checking when adding/removing items is there can be multiple items with True, all, or none.  So I will need to check after the user has complied their list in the listbox.
0
 
LVL 3

Accepted Solution

by:
bandriese earned 50 total points
ID: 21754294
Ah, I see. Well this is something I havn't done below. Try something like the code below. In 'some code put your IF then's to check the fields.

I found this courtesy of DatabaseMX, see the question: http://www.experts-exchange.com/Microsoft/Development/MS_Access/Q_23439431.html

Hope that helps...
Dim iCount as Integer
 
For iCount = 0 to Me.ListBox.ListCount -1
   ' some code
Next iCount

Open in new window

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

Calculating holidays and working days is a function that is often needed yet it is not one found within the Framework. This article presents one approach to building a working-day calculator for use in .NET.
Access developers frequently have requirements to interact with Excel (import from or output to) in their applications.  You might be able to accomplish this with the TransferSpreadsheet and OutputTo methods, but in this series of articles I will di…
Familiarize people with the process of retrieving data from SQL Server using an Access pass-thru query. Microsoft Access is a very powerful client/server development tool. One of the ways that you can retrieve data from a SQL Server is by using a pa…
What’s inside an Access Desktop Database. Will look at the basic interface, Navigation Pane (Database Container), Tables, Queries, Forms, Report, Macro’s, and VBA code.

730 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