Error "[0x80040E38][Microsoft Cursor Engine]" when trying to send data to primary data source (Access DB) - InfoPath Dev
in

InfoPath Dev

Error "[0x80040E38][Microsoft Cursor Engine]" when trying to send data to primary data source (Access DB)

Last post 04-29-2011 12:25 AM by mahimba. 1 replies.
Page 1 of 1 (2 items)
Sort Posts: Previous Next
  • 06-21-2010 07:52 AM

    Error "[0x80040E38][Microsoft Cursor Engine]" when trying to send data to primary data source (Access DB)

    Hello everyone,

    after having been a "silent reader" in his forum for a long time I finally reached a point where google + read only won't help anymore :-(

    I have set up an Infopath 2003 form that saves data to an access db as well as to a sharepoint form library. The form is a simple purchase request:

    employee fills out form  ->  managers approve the form  ->  purchase department creates SAP Order  -> Ordernumber is entered into the form  ->  form and ordnernumber are sent to employee + stored on sharepoint + dataset is created in access db with the ordnernumber as ID

     

    97% of the time everything runs smooth as silk. But when I do a crosscheck between the sharepoint form library and the access db some events are missing. Trying to write the forms into access I get the error "Microsoft Cursor Engine (0x80040E38). Row cannot be located for updating. Some values may have been changed since it was last read." Looking at the access db there is no row with the specific ID and there never has been a recordset for the specific ordernumber. Nevertheless Infopath won't create a dataset in access. Even changing the ordernumber to 9999999 and trying to set the value manually won't work as no dataset will be created. It seems like the specific infopathform has been corrupted. Saving to sharepoint works though. I really have no idea what's the reason for this.

    I really hope someone here ran over the problem already and is able to help me.

    Thanks in advance!


     

     

  • 04-29-2011 12:25 AM In reply to

    Re: Error "[0x80040E38][Microsoft Cursor Engine]" when trying to send data to primary data source (Access DB)

    Hi all,

    I also got the error code [0x80040E38][Microsoft Cursor Engine] Row cannot be located for updating. Some values may have been changed since it was last read.

    and I have solved my problem.

    I had the following scenario (infopath 2003):

    A manager opens an infopath 2003 formular and queries data to a forms data fields from a MS SQL database, he changed some values, signed the form and submitted it via mail to me (I am the admin). Then I opened the mail and the attached form, and submitted the data to the database. So the record changed.

    This worked as the manager only once created the from and sent it one time. But if he created a second form (and queried the database again) before I submitted the first on, I could not send the second form to the database. So I had the idea to change the form template in that way, the record in the MS SQL database should be everytime overwitten, independed if the record in the MS SQL database changed in the meantime.

    It is important to know that the form already saved the queried data in extra fields (and the data fields) because of the singature for a section and not the whole document. So I could move the extra fields to a group to be signed. After the manager signs the section (which is binded to the group to be signed) the "extra field" are not changeable anymore.

    Now my solution:

    I replaced the "Submit to database" Button with a new one with rules.

    rule 1: query the data again before submitting. the datafield got now synchronized with the MS SQL database, but the extra fields still had the data, which I wanted to be submitted.

    rule 2: write the values from the extra fields back to the data fields

    rule 3: submit the datafields to the database.

    Beste regards

    Mathias Braun (mahimba)

Page 1 of 1 (2 items)
Copyright © 2003-2019 Qdabra Software. All rights reserved.
View our Terms of Use.