Can I do a Filtered Data Connection Query on an InfoPath form?

Inside an InfoPath form, is it possible to read data from a data connection based on information that has been entered by the user?

An example of this is having a drop down box where the user selects a category (i.e., frozen food, canned vegetables, magazines, etc).  After the user has made his choice, a select group of products will then be read from a data connection and be made available in a second drop down list.  As another example, if the user selected Canned Vegetables, he would see Green Giant Whole Kernel Corn, Libbys Sliced Carrots, Del Monte Sweet Peas, etc. and not see any Frozen Food or Magazines as choices.

I know it can be done like this using Visual Basic and C# programming using Visual Studio but I want to do this simple thing using SharePoint alone.

The first drop down box is no problem.  We have similar scenarios going already where we are reading from SharePoint lists over a web service data connection.   But in this case we would be applying a filter; currently we pull all data from the SharePoint lists.

Also  there is a question of timing.  I cant poll the data connection until after the user has responded to the first data field.  On the properties of the data connections, I see only the option to get the data at the time the form is loaded.  This tells me that the only option I have is to add a button that queries the data connection after the selection is made.  That would be my event.  

But, from what I see, using a button to query the data connection still brings across the full set of data from the SharePoint list because there appears to be no way to pass an argument as a filter to the data connection.

Hopefully, there is some "trick" here that is not obvious to me.  I thank you for any insights you can share with me.
DBaileyFoxGalAsked:
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

Clay FoxDirector of Business IntegrationCommented:
Hey There.

"casacading dropdowns" as they are referred to are pretty straightforward using filters.  I know there are many tutorials for InfoPath around, you can use www.infopathdev.com.

Doing a select query for SharePoint is not possible. You have to load the whole list into InfoPath and then filter for the values you need.  This can be a performance issue if the lists are large but the end result of a cascading dropdown is the same. When you setup the second dropdown use the filter button to only allow the fields where the first dropdown value = the list value.

You would need the data in SQL and use webservices to be able to do a selective query as you describe.
0

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
DBaileyFoxGalAuthor Commented:
many thanx!  I found what I was seeking in one of the turorials you directed me to.

I appreciate your help!
0
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
InfoPath

From novice to tech pro — start learning today.

Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.