Infopath 2010 VB Error

Sharepoint 2010
Infopath 2010

I am trying to write a script based upon www.bizsupportonline.net/infopath2007/copy-rows-from-sharepoint-list-to-main-data-source.htm

I get the following error when debugging the script, and Error 5337 when trying to run the form on the website. :


System.InvalidOperationException was unhandled by user code
  Message="Schema validation found non-data type errors."
  Source="Microsoft.Office.InfoPath.Client.Internal.Host.Interop"
  StackTrace:
       at Microsoft.MsoOffice.InfoPath.MsxmlInterop.MsxmlDocument.ThrowExceptionFromMsxmlInteropError(MsxmlInteropError eError)
       at Microsoft.MsoOffice.InfoPath.MsxmlInterop.MsxmlDocument.ThrowExceptionFromHresult(Int32 hrError)
       at Microsoft.MsoOffice.InfoPath.MsxmlInterop.MsxmlNodeImpl.AppendChild(String strXml)
       at Microsoft.Office.InfoPath.MsxmlWriter.Close()
       at System.Xml.XmlWellFormedWriter.Close()
       at System.Xml.XPath.XPathNavigator.AppendChild(XmlReader newChild)
       at System.Xml.XPath.XPathNavigator.AppendChild(XPathNavigator newChild)
       at programming_Test.FormCode.AddItem(String Diocesan_PIN, String Diocesan_Name, String Congregation_Pin, String Congregation_Name) in \\junia\Users$\Dad\My Documents\InfoPath Projects\programming Test\FormCode.vb:line 80
       at programming_Test.FormCode.CTRL6_5_Clicked(Object sender, ClickedEventArgs e) in \\junia\Users$\Dad\My Documents\InfoPath Projects\programming Test\FormCode.vb:line 45
       at Microsoft.Office.InfoPath.Internal.ButtonEventHost.OnButtonClick(DocActionEvent pEvent)
       at Microsoft.Office.Interop.InfoPath.SemiTrust._ButtonEventSink_SinkHelper.OnClick(DocActionEvent pEvent)
The Code is Attached

Imports Microsoft.Office.InfoPath
Imports System
Imports System.Xml
Imports System.Xml.XPath

Namespace programming_Test
    Public Class FormCode
        ' Member variables are not supported in browser-enabled forms.
        ' Instead, write and read these values from the FormState
        ' dictionary using code such as the following:
        '
        ' Private Property _memberVariable() As Object
        '     Get
        '         _memberVariable = FormState("_memberVariable")
        '     End Get
        '     Set
        '         FormState("_memberVariable") = value
        '     End Set
        ' End Property

        ' NOTE: The following procedure is required by Microsoft InfoPath.
        ' It can be modified using Microsoft InfoPath.
        Private Sub InternalStartup(ByVal sender As Object, ByVal e As EventArgs) Handles Me.Startup
            AddHandler DirectCast(EventManager.ControlEvents("CTRL6_5"), ButtonEvent).Clicked, AddressOf CTRL6_5_Clicked
        End Sub

        Public Sub CTRL6_5_Clicked(ByVal sender As Object, ByVal e As ClickedEventArgs)
            Dim secDSNav As XPathNavigator = DataSources("pinlist").CreateNavigator()
            ' Retrieve the rows of the secondary data source
            Dim rows As XPathNodeIterator = secDSNav.Select( _
            "/dfs:myFields/dfs:dataFields/d:SharePointListItem_RW", _
            NamespaceManager)

            ' Loop through the rows of the secondary data source and fill the repeating table
            While rows.MoveNext()
                Dim Diocese_PIN As String = rows.Current.SelectSingleNode( _
                "/dfs:myFields/dfs:dataFields/d:SharePointListItem_RW/d:Diocesan_x0020_PIN", NamespaceManager).Value
                Dim Diocese_Name As String = rows.Current.SelectSingleNode( _
                "/dfs:myFields/dfs:dataFields/d:SharePointListItem_RW/d:Title", NamespaceManager).Value
                Dim Congregation_PIN As String = rows.Current.SelectSingleNode( _
                "/dfs:myFields/dfs:dataFields/d:SharePointListItem_RW/d:PIN", NamespaceManager).Value
                Dim Congregation_Name As String = rows.Current.SelectSingleNode( _
                "/dfs:myFields/dfs:dataFields/d:SharePointListItem_RW/d:Parish_x0020_Name", NamespaceManager).Value

                AddItem(Diocese_PIN, Diocese_Name, Congregation_PIN, Congregation_Name)
            End While

            ' Remove the first empty item from the repeating table
            DeleteFirstEmptyItem()
        End Sub
        Private Sub AddItem( _
ByVal Diocesan_PIN As String, ByVal Diocesan_Name As String, ByVal Congregation_Pin As String, ByVal Congregation_Name As String)

            Dim doc As XmlDocument = New XmlDocument()
            Dim group As XmlNode = doc.CreateElement("group2", _
            NamespaceManager.LookupNamespace("my"))

            Dim field As XmlNode = doc.CreateElement("Diocesan_PIN", _
            NamespaceManager.LookupNamespace("my"))
            Dim node As XmlNode = group.AppendChild(field)
            node.InnerText = "Diocesan PIN"

            field = doc.CreateElement("Diocesan_Name", _
            NamespaceManager.LookupNamespace("my"))
            node = group.AppendChild(field)
            node.InnerText = "Diocese"

            field = doc.CreateElement("Congregation_PIN", _
            NamespaceManager.LookupNamespace("my"))
            node = group.AppendChild(field)
            node.InnerText = "Conregation PIN"

            field = doc.CreateElement("Congregation_Name", _
            NamespaceManager.LookupNamespace("my"))
            node = group.AppendChild(field)
            node.InnerText = "Conregation Name"

            doc.AppendChild(group)

            MainDataSource.CreateNavigator().SelectSingleNode( _
            "/my:myFields/my:group1", _
            NamespaceManager).AppendChild(doc.DocumentElement.CreateNavigator())

        End Sub
        Private Sub DeleteFirstEmptyItem()

            Dim domNav As XPathNavigator = MainDataSource.CreateNavigator()
            Dim itemNav As XPathNavigator = domNav.SelectSingleNode( _
            "/my:myFields/my:group1/my:group2[1]", _
            NamespaceManager)

            If itemNav IsNot Nothing Then
                itemNav.DeleteSelf()
            End If
        End Sub
    End Class
End Namespace

Open in new window

JesusFreak42Asked:
Who is Participating?

[Product update] Infrastructure Analysis Tool is now available with Business Accounts.Learn More

x
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.

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
JesusFreak42Author Commented:
I will be trying this out on my own. The project was able to move forward without it, but I'fd like this for furture projects.
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.