<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="https://www.infopathdev.com:443/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>General</title><link>https://www.infopathdev.com:443/forums/41.aspx</link><description>If you're not sure where to ask your question, ask it here. If necessary, our moderators will make sure it gets classified in the correct board.</description><dc:language>en</dc:language><generator>CommunityServer 2007 SP3 (Build: 31118.962)</generator><item><title>Re: Custom Filter  all of a sudden not working</title><link>https://www.infopathdev.com:443/forums/thread/21412.aspx</link><pubDate>Tue, 03 Jul 2007 13:49:39 GMT</pubDate><guid isPermaLink="false">033a2e2d-04e2-4a9d-be01-a4634161eefd:21412</guid><dc:creator>erinselena</dc:creator><slash:comments>0</slash:comments><comments>https://www.infopathdev.com:443/forums/thread/21412.aspx</comments><wfw:commentRss>https://www.infopathdev.com:443/forums/commentrss.aspx?SectionID=41&amp;PostID=21412</wfw:commentRss><description>&lt;p&gt;For some reason my post duplicated itself so here is the code again.&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DataConnection objADOAdapter;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; AdoQueryConnection connection;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; objADOAdapter = this.DataSources[&amp;quot;NavigationGroups&amp;quot;].QueryConnection;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; connection = ( (AdoQueryConnection)( objADOAdapter ) );&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Retrieve the field in the InfoPath form whose value will be used in the&amp;nbsp; inner join&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; XPathNavigator node = this.CreateNavigator( ).SelectSingleNode( &amp;quot;/my:MF/my:IAFT/my:AFT&amp;quot;, this.NamespaceManager );&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //only want to change the query string if we want to filter down. otherwise keep the original query.&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if ( connection.Command.Contains( &amp;quot;where&amp;quot; ) )&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; int index = connection.Command.IndexOf( &amp;quot;where&amp;quot; );&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; connection.Command = connection.Command.Remove( index );&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if ( connection.Command.Contains( &amp;quot;inner join&amp;quot; ) )&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; int index = connection.Command.IndexOf( &amp;quot;inner&amp;quot; );&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; connection.Command = connection.Command.Remove( index );&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Generate the new SQL statement with WHERE clause&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; string strSQL;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if ( node.InnerXml.ToLower( ) != &amp;quot;all&amp;quot; )&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; strSQL = connection.Command + &amp;quot; inner join linker_parent_to_child_nav l on l.childid = NavigationGroups.id where isSelectable = 1 and parentid = &amp;#39;&amp;quot; + node.InnerXml.ToUpper() + &amp;quot;&amp;#39;&amp;quot;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; else&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; strSQL = &amp;quot;select id as Id, name as Name from NavigationGroups as NavigationGroups where type = &amp;#39;Asset&amp;#39; and isSelectable = 1 union select assetid as Id, assetName as Name from assets where isUseradded = 1 order by name&amp;quot;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; connection.Command = strSQL;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; this.DataConnections[&amp;quot;NavigationGroups&amp;quot;].Execute( );&lt;/p&gt;</description></item><item><title>Custom Filter  all of a sudden not working</title><link>https://www.infopathdev.com:443/forums/thread/21411.aspx</link><pubDate>Tue, 03 Jul 2007 13:48:32 GMT</pubDate><guid isPermaLink="false">033a2e2d-04e2-4a9d-be01-a4634161eefd:21411</guid><dc:creator>erinselena</dc:creator><slash:comments>0</slash:comments><comments>https://www.infopathdev.com:443/forums/thread/21411.aspx</comments><wfw:commentRss>https://www.infopathdev.com:443/forums/commentrss.aspx?SectionID=41&amp;PostID=21411</wfw:commentRss><description>&lt;p&gt;Hello Everyone,&lt;/p&gt;&lt;p&gt;I have created a custom filter in my infopath 2007 form. The user enters a value in a text box and then I grab the &lt;font color="#2b91af" size="2"&gt;AdoQueryConnection and re-write the sql statement that populates this data connection. This was working and now all of a sudden it doesn&amp;#39;t work and&amp;nbsp;I don&amp;#39;t know why. I used to have a master/detail on my form and then i changed this to a separate repeating section adn repeating table (not master detail) that aren&amp;#39;t connected to eachother but they are created from the same section of XML, they aren&amp;#39;t showing at the same time it&amp;#39;s just a different way to view the information adn the user has to click a check box to toggle between the views, i don&amp;#39;t think this is the reason it&amp;#39;s not working though. HEre is the code i use to update my datasource query. Anyone know why this might be happening?&lt;/font&gt;&lt;/p&gt;&lt;font color="#2b91af" size="2"&gt;&lt;font color="#2b91af" size="2"&gt;&lt;p&gt;DataConnection&lt;font size="2"&gt;&lt;font color="#000000"&gt; objADOAdapter;&lt;/font&gt;&lt;p&gt;&lt;font color="#2b91af" size="2"&gt;AdoQueryConnection&lt;/font&gt;&lt;font size="2"&gt; connection;&lt;p&gt;objADOAdapter = &lt;font color="#0000ff" size="2"&gt;this&lt;/font&gt;&lt;font size="2"&gt;.DataSources[&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&amp;quot;NavigationGroups&amp;quot;&lt;/font&gt;&lt;font size="2"&gt;].QueryConnection;&lt;p&gt;connection = ( (&lt;font color="#2b91af" size="2"&gt;AdoQueryConnection&lt;/font&gt;&lt;font size="2"&gt;)( objADOAdapter ) );&lt;p&gt;&lt;font color="#008000" size="2"&gt;// Retrieve the field in the InfoPath form whose value will be used in the inner join&lt;/font&gt;&lt;/p&gt;&lt;/font&gt;&lt;/p&gt;&lt;/font&gt;&lt;/p&gt;&lt;/font&gt;&lt;/p&gt;&lt;/font&gt;&lt;/p&gt;&lt;/font&gt;&lt;font size="2"&gt;&lt;font color="#000000"&gt; objADOAdapter;&lt;/font&gt;&lt;p&gt;&lt;font color="#2b91af" size="2"&gt;AdoQueryConnection&lt;/font&gt;&lt;font size="2"&gt; connection;&lt;p&gt;objADOAdapter = &lt;font color="#0000ff" size="2"&gt;this&lt;/font&gt;&lt;font size="2"&gt;.DataSources[&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&amp;quot;NavigationGroups&amp;quot;&lt;/font&gt;&lt;font size="2"&gt;].QueryConnection;&lt;p&gt;connection = ( (&lt;font color="#2b91af" size="2"&gt;AdoQueryConnection&lt;/font&gt;&lt;font size="2"&gt;)( objADOAdapter ) );&lt;p&gt;&lt;font color="#008000" size="2"&gt;// Retrieve the field in the InfoPath form whose value will be used in the inner join&lt;/font&gt;&lt;/p&gt;&lt;/font&gt;&lt;/p&gt;&lt;/font&gt;&lt;/p&gt;&lt;/font&gt;&lt;/p&gt;&lt;/font&gt;&lt;font color="#2b91af" size="2"&gt;AdoQueryConnection&lt;/font&gt;&lt;font size="2"&gt; connection;&lt;p&gt;objADOAdapter = &lt;font color="#0000ff" size="2"&gt;this&lt;/font&gt;&lt;font size="2"&gt;.DataSources[&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&amp;quot;NavigationGroups&amp;quot;&lt;/font&gt;&lt;font size="2"&gt;].QueryConnection;&lt;p&gt;connection = ( (&lt;font color="#2b91af" size="2"&gt;AdoQueryConnection&lt;/font&gt;&lt;font size="2"&gt;)( objADOAdapter ) );&lt;p&gt;&lt;font color="#008000" size="2"&gt;// Retrieve the field in the InfoPath form whose value will be used in the inner join&lt;/font&gt;&lt;/p&gt;&lt;/font&gt;&lt;/p&gt;&lt;/font&gt;&lt;/p&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;this&lt;/font&gt;&lt;font size="2"&gt;.DataSources[&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&amp;quot;NavigationGroups&amp;quot;&lt;/font&gt;&lt;font size="2"&gt;].QueryConnection;&lt;p&gt;connection = ( (&lt;font color="#2b91af" size="2"&gt;AdoQueryConnection&lt;/font&gt;&lt;font size="2"&gt;)( objADOAdapter ) );&lt;p&gt;&lt;font color="#008000" size="2"&gt;// Retrieve the field in the InfoPath form whose value will be used in the inner join&lt;/font&gt;&lt;/p&gt;&lt;/font&gt;&lt;/p&gt;&lt;/font&gt;&lt;font color="#2b91af" size="2"&gt;AdoQueryConnection&lt;/font&gt;&lt;font size="2"&gt;)( objADOAdapter ) );&lt;p&gt;&lt;font color="#008000" size="2"&gt;// Retrieve the field in the InfoPath form whose value will be used in the inner join&lt;/font&gt;&lt;/p&gt;&lt;/font&gt;&lt;font color="#008000" size="2"&gt;// Retrieve the field in the InfoPath form whose value will be used in the inner join&lt;/font&gt;&lt;font size="2"&gt;&lt;p&gt;&lt;font color="#2b91af" size="2"&gt;XPathNavigator&lt;/font&gt;&lt;font size="2"&gt; node = &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;this&lt;/font&gt;&lt;font size="2"&gt;.CreateNavigator( ).SelectSingleNode( &lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&amp;quot;/my:MF/my:IAFT/my:AFT&amp;quot;&lt;/font&gt;&lt;font size="2"&gt;, &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;this&lt;/font&gt;&lt;font size="2"&gt;.NamespaceManager );&lt;p&gt;&lt;font color="#008000" size="2"&gt;//only want to change the query string if we want to filter down. otherwise keep the original query.&lt;/font&gt;&lt;/p&gt;&lt;/font&gt;&lt;/p&gt;&lt;/font&gt;&lt;font color="#2b91af" size="2"&gt;XPathNavigator&lt;/font&gt;&lt;font size="2"&gt; node = &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;this&lt;/font&gt;&lt;font size="2"&gt;.CreateNavigator( ).SelectSingleNode( &lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&amp;quot;/my:MF/my:IAFT/my:AFT&amp;quot;&lt;/font&gt;&lt;font size="2"&gt;, &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;this&lt;/font&gt;&lt;font size="2"&gt;.NamespaceManager );&lt;p&gt;&lt;font color="#008000" size="2"&gt;//only want to change the query string if we want to filter down. otherwise keep the original query.&lt;/font&gt;&lt;/p&gt;&lt;/font&gt;&lt;font color="#008000" size="2"&gt;//only want to change the query string if we want to filter down. otherwise keep the original query.&lt;/font&gt;&lt;font size="2"&gt;&lt;p&gt;&lt;font color="#0000ff" size="2"&gt;if&lt;/font&gt;&lt;font size="2"&gt; ( connection.Command.Contains( &lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&amp;quot;where&amp;quot;&lt;/font&gt;&lt;font size="2"&gt; ) )&lt;p&gt;{&lt;/p&gt;&lt;p&gt;&lt;font color="#0000ff" size="2"&gt;int&lt;/font&gt;&lt;font size="2"&gt; index = connection.Command.IndexOf( &lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&amp;quot;where&amp;quot;&lt;/font&gt;&lt;font size="2"&gt; );&lt;p&gt;connection.Command = connection.Command.Remove( index );&lt;/p&gt;&lt;p&gt;}&lt;/p&gt;&lt;p&gt;&lt;font color="#0000ff" size="2"&gt;if&lt;/font&gt;&lt;font size="2"&gt; ( connection.Command.Contains( &lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&amp;quot;inner join&amp;quot;&lt;/font&gt;&lt;font size="2"&gt; ) )&lt;p&gt;{&lt;/p&gt;&lt;p&gt;&lt;font color="#0000ff" size="2"&gt;int&lt;/font&gt;&lt;font size="2"&gt; index = connection.Command.IndexOf( &lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&amp;quot;inner&amp;quot;&lt;/font&gt;&lt;font size="2"&gt; );&lt;p&gt;connection.Command = connection.Command.Remove( index );&lt;/p&gt;&lt;p&gt;}&lt;/p&gt;&lt;p&gt;&lt;font color="#008000" size="2"&gt;// Generate the new SQL statement with WHERE clause&lt;/font&gt;&lt;/p&gt;&lt;/font&gt;&lt;/p&gt;&lt;/font&gt;&lt;/p&gt;&lt;/font&gt;&lt;/p&gt;&lt;/font&gt;&lt;/p&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;if&lt;/font&gt;&lt;font size="2"&gt; ( connection.Command.Contains( &lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&amp;quot;where&amp;quot;&lt;/font&gt;&lt;font size="2"&gt; ) )&lt;p&gt;{&lt;/p&gt;&lt;p&gt;&lt;font color="#0000ff" size="2"&gt;int&lt;/font&gt;&lt;font size="2"&gt; index = connection.Command.IndexOf( &lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&amp;quot;where&amp;quot;&lt;/font&gt;&lt;font size="2"&gt; );&lt;p&gt;connection.Command = connection.Command.Remove( index );&lt;/p&gt;&lt;p&gt;}&lt;/p&gt;&lt;p&gt;&lt;font color="#0000ff" size="2"&gt;if&lt;/font&gt;&lt;font size="2"&gt; ( connection.Command.Contains( &lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&amp;quot;inner join&amp;quot;&lt;/font&gt;&lt;font size="2"&gt; ) )&lt;p&gt;{&lt;/p&gt;&lt;p&gt;&lt;font color="#0000ff" size="2"&gt;int&lt;/font&gt;&lt;font size="2"&gt; index = connection.Command.IndexOf( &lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&amp;quot;inner&amp;quot;&lt;/font&gt;&lt;font size="2"&gt; );&lt;p&gt;connection.Command = connection.Command.Remove( index );&lt;/p&gt;&lt;p&gt;}&lt;/p&gt;&lt;p&gt;&lt;font color="#008000" size="2"&gt;// Generate the new SQL statement with WHERE clause&lt;/font&gt;&lt;/p&gt;&lt;/font&gt;&lt;/p&gt;&lt;/font&gt;&lt;/p&gt;&lt;/font&gt;&lt;/p&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;int&lt;/font&gt;&lt;font size="2"&gt; index = connection.Command.IndexOf( &lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&amp;quot;where&amp;quot;&lt;/font&gt;&lt;font size="2"&gt; );&lt;p&gt;connection.Command = connection.Command.Remove( index );&lt;/p&gt;&lt;p&gt;}&lt;/p&gt;&lt;p&gt;&lt;font color="#0000ff" size="2"&gt;if&lt;/font&gt;&lt;font size="2"&gt; ( connection.Command.Contains( &lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&amp;quot;inner join&amp;quot;&lt;/font&gt;&lt;font size="2"&gt; ) )&lt;p&gt;{&lt;/p&gt;&lt;p&gt;&lt;font color="#0000ff" size="2"&gt;int&lt;/font&gt;&lt;font size="2"&gt; index = connection.Command.IndexOf( &lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&amp;quot;inner&amp;quot;&lt;/font&gt;&lt;font size="2"&gt; );&lt;p&gt;connection.Command = connection.Command.Remove( index );&lt;/p&gt;&lt;p&gt;}&lt;/p&gt;&lt;p&gt;&lt;font color="#008000" size="2"&gt;// Generate the new SQL statement with WHERE clause&lt;/font&gt;&lt;/p&gt;&lt;/font&gt;&lt;/p&gt;&lt;/font&gt;&lt;/p&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;if&lt;/font&gt;&lt;font size="2"&gt; ( connection.Command.Contains( &lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&amp;quot;inner join&amp;quot;&lt;/font&gt;&lt;font size="2"&gt; ) )&lt;p&gt;{&lt;/p&gt;&lt;p&gt;&lt;font color="#0000ff" size="2"&gt;int&lt;/font&gt;&lt;font size="2"&gt; index = connection.Command.IndexOf( &lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&amp;quot;inner&amp;quot;&lt;/font&gt;&lt;font size="2"&gt; );&lt;p&gt;connection.Command = connection.Command.Remove( index );&lt;/p&gt;&lt;p&gt;}&lt;/p&gt;&lt;p&gt;&lt;font color="#008000" size="2"&gt;// Generate the new SQL statement with WHERE clause&lt;/font&gt;&lt;/p&gt;&lt;/font&gt;&lt;/p&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;int&lt;/font&gt;&lt;font size="2"&gt; index = connection.Command.IndexOf( &lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&amp;quot;inner&amp;quot;&lt;/font&gt;&lt;font size="2"&gt; );&lt;p&gt;connection.Command = connection.Command.Remove( index );&lt;/p&gt;&lt;p&gt;}&lt;/p&gt;&lt;p&gt;&lt;font color="#008000" size="2"&gt;// Generate the new SQL statement with WHERE clause&lt;/font&gt;&lt;/p&gt;&lt;/font&gt;&lt;font color="#008000" size="2"&gt;// Generate the new SQL statement with WHERE clause&lt;/font&gt;&lt;font size="2"&gt;&lt;p&gt;&lt;font color="#0000ff" size="2"&gt;string&lt;/font&gt;&lt;font size="2"&gt; strSQL;&lt;p&gt;&lt;font color="#0000ff" size="2"&gt;if&lt;/font&gt;&lt;font size="2"&gt; ( node.InnerXml.ToLower( ) != &lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&amp;quot;all&amp;quot;&lt;/font&gt;&lt;font size="2"&gt; )&lt;p&gt;{&lt;/p&gt;&lt;p&gt;strSQL = connection.Command + &lt;font color="#a31515" size="2"&gt;&amp;quot; inner join linker_parent_to_child_nav l on l.childid = NavigationGroups.id where isSelectable = 1 and parentid = &amp;#39;&amp;quot;&lt;/font&gt;&lt;font size="2"&gt; + node.InnerXml.ToUpper() + &lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&amp;quot;&amp;#39;&amp;quot;&lt;/font&gt;&lt;font size="2"&gt;;&lt;p&gt;}&lt;/p&gt;&lt;p&gt;&lt;font color="#0000ff" size="2"&gt;else&lt;/font&gt;&lt;/p&gt;&lt;/font&gt;&lt;/p&gt;&lt;/font&gt;&lt;/p&gt;&lt;/font&gt;&lt;/p&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;string&lt;/font&gt;&lt;font size="2"&gt; strSQL;&lt;p&gt;&lt;font color="#0000ff" size="2"&gt;if&lt;/font&gt;&lt;font size="2"&gt; ( node.InnerXml.ToLower( ) != &lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&amp;quot;all&amp;quot;&lt;/font&gt;&lt;font size="2"&gt; )&lt;p&gt;{&lt;/p&gt;&lt;p&gt;strSQL = connection.Command + &lt;font color="#a31515" size="2"&gt;&amp;quot; inner join linker_parent_to_child_nav l on l.childid = NavigationGroups.id where isSelectable = 1 and parentid = &amp;#39;&amp;quot;&lt;/font&gt;&lt;font size="2"&gt; + node.InnerXml.ToUpper() + &lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&amp;quot;&amp;#39;&amp;quot;&lt;/font&gt;&lt;font size="2"&gt;;&lt;p&gt;}&lt;/p&gt;&lt;p&gt;&lt;font color="#0000ff" size="2"&gt;else&lt;/font&gt;&lt;/p&gt;&lt;/font&gt;&lt;/p&gt;&lt;/font&gt;&lt;/p&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;if&lt;/font&gt;&lt;font size="2"&gt; ( node.InnerXml.ToLower( ) != &lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&amp;quot;all&amp;quot;&lt;/font&gt;&lt;font size="2"&gt; )&lt;p&gt;{&lt;/p&gt;&lt;p&gt;strSQL = connection.Command + &lt;font color="#a31515" size="2"&gt;&amp;quot; inner join linker_parent_to_child_nav l on l.childid = NavigationGroups.id where isSelectable = 1 and parentid = &amp;#39;&amp;quot;&lt;/font&gt;&lt;font size="2"&gt; + node.InnerXml.ToUpper() + &lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&amp;quot;&amp;#39;&amp;quot;&lt;/font&gt;&lt;font size="2"&gt;;&lt;p&gt;}&lt;/p&gt;&lt;p&gt;&lt;font color="#0000ff" size="2"&gt;else&lt;/font&gt;&lt;/p&gt;&lt;/font&gt;&lt;/p&gt;&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&amp;quot; inner join linker_parent_to_child_nav l on l.childid = NavigationGroups.id where isSelectable = 1 and parentid = &amp;#39;&amp;quot;&lt;/font&gt;&lt;font size="2"&gt; + node.InnerXml.ToUpper() + &lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&amp;quot;&amp;#39;&amp;quot;&lt;/font&gt;&lt;font size="2"&gt;;&lt;p&gt;}&lt;/p&gt;&lt;p&gt;&lt;font color="#0000ff" size="2"&gt;else&lt;/font&gt;&lt;/p&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;else&lt;/font&gt;&lt;font size="2"&gt;&lt;p&gt;{&lt;/p&gt;&lt;p&gt;strSQL = &lt;font color="#a31515" size="2"&gt;&amp;quot;select id as Id, name as Name from NavigationGroups as NavigationGroups where type = &amp;#39;Asset&amp;#39; and isSelectable = 1 union select assetid as Id, assetName as Name from assets where isUseradded = 1 order by name&amp;quot;&lt;/font&gt;&lt;font size="2"&gt;;&lt;p&gt;}&lt;/p&gt;&lt;p&gt;connection.Command = strSQL;&lt;/p&gt;&lt;p&gt;&lt;font color="#0000ff" size="2"&gt;this&lt;/font&gt;&lt;font size="2"&gt;.DataConnections[&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&amp;quot;NavigationGroups&amp;quot;&lt;/font&gt;&lt;font size="2"&gt;].Execute( );&lt;/font&gt;&lt;/p&gt;&lt;/font&gt;&lt;/p&gt;&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&amp;quot;select id as Id, name as Name from NavigationGroups as NavigationGroups where type = &amp;#39;Asset&amp;#39; and isSelectable = 1 union select assetid as Id, assetName as Name from assets where isUseradded = 1 order by name&amp;quot;&lt;/font&gt;&lt;font size="2"&gt;;&lt;p&gt;}&lt;/p&gt;&lt;p&gt;connection.Command = strSQL;&lt;/p&gt;&lt;p&gt;&lt;font color="#0000ff" size="2"&gt;this&lt;/font&gt;&lt;font size="2"&gt;.DataConnections[&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&amp;quot;NavigationGroups&amp;quot;&lt;/font&gt;&lt;font size="2"&gt;].Execute( );&lt;/font&gt;&lt;/p&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;this&lt;/font&gt;&lt;font size="2"&gt;.DataConnections[&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&amp;quot;NavigationGroups&amp;quot;&lt;/font&gt;&lt;font size="2"&gt;].Execute( );&lt;/font&gt;&lt;/font&gt;</description></item></channel></rss>