I have a scheduling form where the user will enter in 3 items. The first dropdown has around 140 items. The second around 1800 and the third, 650. The lists are located in SharePoint. At first I created data connections however the customer wanted to see a concatenation of the client code and client name. Since infopath can not read a calculated sharepoint column, I created a SQL data connection. (See below) It pulls what I need however I'm having 2 problems with it.
- It works internally however it does not work if I am accessing the form from outside of the network. I get an error stating the rule could not be run. All other data connection work just fine.
- Secondly, these dropdowns are in a repeating row so as subsequent rows are added, the form slows to a crawl.
I've read that this can be accomplished using a web service however I'm not that well versed with that right now so I was hoping someone has an idea of what I'm doing wrong or if I'm heading in the wrong direction. If a web service is the only way then so be it but I'd like to use the SQL commands. Any help is greatly appreciated!
SELECT Lists.tp_Title AS LIST, UserData.nvarchar2 AS CCODE, UserData.nvarchar8 AS NAME, UserData.nvarchar9 AS PHONE,
UserData.nvarchar2 + N', ' + UserData.nvarchar3 AS CONCAT
FROM UserData INNER JOIN
Lists ON UserData.tp_ListId = Lists.tp_ID
WHERE (UserData.tp_ListId = '{4C576139-9BF5-40E7-BC8C-320891FFB2F1}') AND (UserData.bit1 = 1)
UNION
SELECT Lists.tp_Title AS LIST, UserData.nvarchar2 AS CCODE, UserData.nvarchar8 AS NAME, UserData.nvarchar9 AS PHONE,
UserData.nvarchar2 + N', ' + UserData.nvarchar3 AS CONCAT
FROM UserData INNER JOIN
Lists ON UserData.tp_ListId = Lists.tp_ID
WHERE (UserData.tp_ListId = '{8DB2783F-B5C1-4E71-9B86-C752A3AAADB1}') AND (UserData.bit2 = 1)
ORDER BY Lists.tp_Title, UserData.nvarchar2
Here is the SQL error I receive
