This app is a Education Module Form with approximately 60 views. Some views are Content to be read, but others are quiz or test questions which have a data connection for displaying a choice of answers and if the answer is correct. When they choose the answer they click a Record Your Answer Button and a rule displays if their answer was correct or incorrect. They then click a next Button to go to the next view. There are 16 questions and approx. 60 views total. In Chrome or Safari only the first question would retrieve the data after the Record Your Answer Button was clicked. I set the Data Connection to Store a copy of the data in the form template and also to Retrieve data when form is opened. On the first Question view I put a second Rule on the Record Your Answer Button that Queried for Data and selected the Data Connection for the Questions and Answers that are in a SharePoint list. Now on the first question there is a pause as the form contacts the server with the query, but it is not a long pause. I tried putting the rule on the second and third Record Your Answer Buttons and it queried then also. But much to my surprise all the remaining questions displayed the answers without querying the Data Connection. I removed the Rule from the second and third question and got the same result. For lack of other knowledge, I assume that even though it is loading data when the form is opened it is not getting everything, but that happens the first time the Query Rule is run. If that assumption were correct, then it would seem that I could put the rule on any button, so I tried it on the Next button of the registration page which is the first view. This time it queried on every Next Button in the form in all views, but it did not retrieve the data from the Question and Answer list in SharePoint. I put the Rule on the first Record Your Answer button and the correct data was apparently retrieved, because every Record Your Answer button on every Question and Answer view in the form displayed the data when the views Record Your Answer button was clicked.
As it happens, when I created the form, I copied the first Question and Answer view and used it to create all subsequent Q&A views. Therefore all the Record Your Answer buttons have the same Control ID. But each Button on the different views has separate rules attached to it. This is the only commonality I can find between the views, so the Control ID has something to do with the data connection on all the views.
I may state this inaccurately, but the problem occurred because Internet Explorer supported Compatibility view and Chrome/Safari do not. Now Microsoft Edge does not support Compatibility view ether, so I had to find a solution for these Web Based forms or require that the users refresh the page every time they answered a question. Not acceptable. This is certainly a hack, but it works and I can keep using InfoPath in the app and give users browser independence. In as much as Microsoft has not announced a replacement for InfoPath, I suspect we will be faced with continuously finding these type of solutions going forward. I guess the answer is, if you need a data connection feature that was supported by Compatibility View in IE, use a data query rule and if you need multiple queries, copy the first control that you put the rule on and use it in every view. This just in... Blind Squirrel Finds Nut.
Thanks,
Bob