<?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>Code</title><link>https://www.infopathdev.com:443/forums/45.aspx</link><description /><dc:language>en</dc:language><generator>CommunityServer 2007 SP3 (Build: 31118.962)</generator><item><title>Re: OnAfterChange process 2 times, Why?</title><link>https://www.infopathdev.com:443/forums/thread/14976.aspx</link><pubDate>Tue, 02 Jan 2007 17:03:19 GMT</pubDate><guid isPermaLink="false">033a2e2d-04e2-4a9d-be01-a4634161eefd:14976</guid><dc:creator>jweir</dc:creator><slash:comments>0</slash:comments><comments>https://www.infopathdev.com:443/forums/thread/14976.aspx</comments><wfw:commentRss>https://www.infopathdev.com:443/forums/commentrss.aspx?SectionID=45&amp;PostID=14976</wfw:commentRss><description>Thanks Matt,&lt;br /&gt;&lt;br /&gt;that worked...&lt;br /&gt;&lt;br /&gt;Thanks for all your help &lt;br /&gt;</description></item><item><title>Re: OnAfterChange process 2 times, Why?</title><link>https://www.infopathdev.com:443/forums/thread/14975.aspx</link><pubDate>Tue, 02 Jan 2007 16:07:39 GMT</pubDate><guid isPermaLink="false">033a2e2d-04e2-4a9d-be01-a4634161eefd:14975</guid><dc:creator>Matt Faus</dc:creator><slash:comments>0</slash:comments><comments>https://www.infopathdev.com:443/forums/thread/14975.aspx</comments><wfw:commentRss>https://www.infopathdev.com:443/forums/commentrss.aspx?SectionID=45&amp;PostID=14975</wfw:commentRss><description>Hi Jim,&lt;br /&gt;&lt;br /&gt;The OnAfterChange fires once for deleting the old value, and then again for inserting the new value.  To look at only the times when it is inserting the new value (which will likely be all you will ever need), try modifying this section of your code:&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;If eventObj.IsUndoRedo Or eventObj.Operation Not Equal To "Insert" Then&lt;br /&gt;	' An undo or redo operation has occurred and the DOM is read-only.&lt;br /&gt;	Exit Sub&lt;br /&gt;End If&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Pardon if my VB syntax is incorrect - I normally only do C# or JScript, and this is how you'd do it there:&lt;br /&gt;&lt;br /&gt;if( e.Operation != "Insert" )&lt;br /&gt;   return;</description></item><item><title>OnAfterChange process 2 times, Why?</title><link>https://www.infopathdev.com:443/forums/thread/13017.aspx</link><pubDate>Tue, 02 Jan 2007 15:57:34 GMT</pubDate><guid isPermaLink="false">033a2e2d-04e2-4a9d-be01-a4634161eefd:13017</guid><dc:creator>jweir</dc:creator><slash:comments>0</slash:comments><comments>https://www.infopathdev.com:443/forums/thread/13017.aspx</comments><wfw:commentRss>https://www.infopathdev.com:443/forums/commentrss.aspx?SectionID=45&amp;PostID=13017</wfw:commentRss><description>Hello all &lt;br /&gt;&lt;br /&gt;I have written some code for a form that will do some updates to a repeating table. The code is written in VBscript.&lt;br /&gt;&lt;br /&gt;What happens is the when I add a Name in the field for POC and then ‘OnAfterChange#%92 would like that name updated in Contributor field also. This all works now. Problem I am having now is that went I add a second POC name, Contributor table has three records in the table. &lt;br /&gt;&lt;br /&gt;Example &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;POC Joe &lt;/b&gt;Jones&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Contributor&lt;/b&gt; Joe Jones&lt;br /&gt;&lt;br /&gt;Next entry &lt;br /&gt;&lt;b&gt;POC&lt;/b&gt; Fred Smith&lt;br /&gt;&lt;b&gt;Contributor&lt;/b&gt; Joe Jones&lt;br /&gt;            Fred Smith&lt;br /&gt;            Fred Smith&lt;br /&gt;&lt;br /&gt;Here is the Code I am using&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;sub msoxd_my_POC_Name_SingleName_OnAfterChange(eventObj)&lt;br /&gt;&lt;br /&gt;Dim ObjPOCName&lt;br /&gt;Dim iloop&lt;br /&gt;iloop = 0&lt;br /&gt;display("this is Iloop " &amp; Cstr(iloop))&lt;br /&gt;&lt;br /&gt;' Write code here to restore the global state.&lt;br /&gt;&lt;br /&gt;If eventObj.IsUndoRedo Then&lt;br /&gt;	' An undo or redo operation has occurred and the DOM is read-only.&lt;br /&gt;	Exit Sub&lt;br /&gt;End If&lt;br /&gt;&lt;br /&gt;Set ObjPOCName = XDocument.DOM.selectSingleNode("/my:Project/my:POC/my:Name/my:SingleName")&lt;br /&gt;' A field change has occurred and the DOM is writable. Write code here to respond to the changes.&lt;br /&gt;if iloop = 0 then &lt;br /&gt;  AddtoTable(ObjPOCName.text)&lt;br /&gt;  iloop = 1&lt;br /&gt;end if&lt;br /&gt;  &lt;br /&gt;'Display("POC Name is " &amp; ObjPOCName.text)&lt;br /&gt;End Sub&lt;br /&gt;&lt;br /&gt;Function Display(ByVal data)&lt;br /&gt;	&lt;br /&gt;	XDocument.UI.Alert(data)&lt;br /&gt;&lt;br /&gt;End Function&lt;br /&gt;'=======&lt;br /&gt;' The following function handler is created by Microsoft Office InfoPath.&lt;br /&gt;' Do not modify the name of the function, or the name and number of arguments.&lt;br /&gt;' This function is associated with the following field or group (XPath): /my:Project/my:Contributors/my:Contributor/my:Name/my:SingleName&lt;br /&gt;' Note: Information in this comment is not updated after the function handler is created.&lt;br /&gt;'=======&lt;br /&gt;Sub msoxd_my_Contributor_Name_SingleName_OnAfterChange(eventObj)&lt;br /&gt;&lt;br /&gt;' Write code here to restore the global state.&lt;br /&gt;Dim ObjContName&lt;br /&gt;Dim oSampleRow&lt;br /&gt;Dim iSelectedIndex&lt;br /&gt;&lt;br /&gt;If eventObj.IsUndoRedo Then&lt;br /&gt;	' An undo or redo operation has occurred and the DOM is read-only.&lt;br /&gt;	Exit Sub&lt;br /&gt;End If&lt;br /&gt;&lt;br /&gt;' A field change has occurred and the DOM is writable. Write code here to respond to the changes.&lt;br /&gt;'Set ObjContName = XDocument.DOM.selectSingleNode("/my:Project/my:Contributors/my:Contributor") '/my:Name/my:SingleName")&lt;br /&gt;'Display("Inside COntributor Name Node Contributor Name is " &amp; ObjContName.text)&lt;br /&gt;&lt;br /&gt;'iSelectedIndex = XDocument.DOM.selectNodes("/my:Project/my:Contributors/my:Contributor").length 'GetSelectedPartsIndex("/my:Project/my:Contributors/my:Contributor") '/my:Name/my:SingleName")&lt;br /&gt;'Display (iSelectedIndex)&lt;br /&gt;End Sub&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Sub AddtoTable(strValue)&lt;br /&gt;&lt;br /&gt;Dim iSelectedIndex&lt;br /&gt;Dim objSelectedNode&lt;br /&gt;dim objNode&lt;br /&gt;dim objNewRow&lt;br /&gt;dim objSimpleRow&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Set objNode = XDocument.DOM.selectNodes("/my:Project/my:Contributors/my:Contributor" )&lt;br /&gt;Set objSimpleRow = objNode.nextNode()&lt;br /&gt;Set objNewRow = objSimpleRow.cloneNode(true)&lt;br /&gt;&lt;br /&gt;objNewRow.selectSingleNode("/my:Name/my:SingleName").text = strValue&lt;br /&gt;'iSelectedIndex = XDocument.DOM.selectNodes("/my:Project/my:Contributors/my:Contributor").length 'GetSelectedPartsIndex("/my:Project/my:Contributors/my:Contributor") '/my:Name/my:SingleName")&lt;br /&gt;XDocument.DOM.selectSingleNode("/my:Project/my:Contributors").appendChild(objNewRow)&lt;br /&gt;'Display("The recond Number is " &amp; Cstr(iSelectedIndex) &amp; " The Record is " &amp; XDocument.DOM.selectSingleNode( "/my:Project/my:Contributors/my:Contributor[" &amp; Cstr(iSelectedIndex) &amp; "]/my:Name/my:SingleName" ).text)&lt;br /&gt;&lt;br /&gt;end sub&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Thanks in advance for all your help&lt;br /&gt;Jim</description></item></channel></rss>