Results 1 to 4 of 4
  1. #1
    gopherking is offline Advanced Beginner
    Windows 7 32bit Access 2007
    Join Date
    Jul 2011
    Posts
    71

    Runtime Error 3314 in Access 2010 running an Access 2007 DB linked to SharePoint List

    I'm guessing that the title of my thread will either scare most people away from it or make them extremely curious as to what it is I'm doing, but I do have a legitimate issue in Access 2010 (which I am currently testing my existing Databases in to ensure they will migrate over with no issues ... HA! Found one!).

    So I have an Access 2007 DB that is linked to a few Sharepoint 2007 lists which are all working fine when running the DB on Access 2007. However, when running the same DB along with it's links in Access 2010, I am receiving a Runtime 3314 Error "You must enter a value in the '[field name]' field."

    I did find the following KB of a "Known Bug" in Access 2010 (http://support.microsoft.com/kb/242459) on Microsoft but it refers to attempting to update a record that has a required field in it and you may have omitted the field in question. The problem that I have is that I am attempting to update an existing record for only a couple of fields (none of which are required AND are not being displayed in the error message as the field that doesn't have a value). So this didn't really help me but did let me know there are some problems with Access 2010 that I am looking forward to ... .

    Here is the Code where the issue is occurring at in my module:

    Code:
        Set db = CurrentDb
        Set recPar = db.OpenRecordset("Enhancement Request", dbOpenDynaset)
        
        With recPar
            .FindFirst "ID = " & ParID
            If Not .NoMatch Then
                ParStat = !Status
                If ParStat <> "Parent" Then
                    ParCmnt = "Yes"
                    .Edit
                    !Status = "Parent"
                    ![Record Type] = "Parent"
                    .Update
                    Else
                        ParCmnt = "No"
                End If
            End If
        End With
        
        recPar.Close
        Set recPar = Nothing
    Has anyone encountered this and possibly have any ideas (or a solution, which would be awesome!)???

    Any help or ideas are definitely appreciated. Thanks!

  2. #2
    John_G is offline VIP
    Windows XP Access 2003
    Join Date
    Oct 2011
    Location
    Ottawa, ON (area)
    Posts
    2,615
    Hi -

    I don't use A2007 ot A2010 yet, so this is a real shot in the dark -

    What would happen if you took the "missing" field and just made it equal to itself, i.e. ![field name] = ![field name],
    just to show access you actually did give it a value?

    Just a thought for fun - it's something I would try!

    John

  3. #3
    gopherking is offline Advanced Beginner
    Windows 7 32bit Access 2007
    Join Date
    Jul 2011
    Posts
    71
    John,

    Good thinking outside of the box on that one ... unfortunately having it equal to itself does not work. However, in the process this issue occurring in, I am actually creating a Child request from a Parent request, so the fields are pretty much the same between each record. So, in theory, I could set variables for all of the Parent Request fields and then use the Variables to re-populate the Parent Request fields upon the update. I believe that the only fields that would need to have this done would be the required fields in the Sharepoint list, but there may be an issue for any fields that are Multivalue fields (a real pain to work with in Access). I may end up resorting to this, but am hoping that there may be another solution ...

    Thanks for your idea though! It gave me a little hope!

    Sean

  4. #4
    gopherking is offline Advanced Beginner
    Windows 7 32bit Access 2007
    Join Date
    Jul 2011
    Posts
    71
    So, working off of John's suggestion, I have actually walked through my form/code to find all fields that the DAO.Recordset Edit was causing the Runtime 3314 error. Luckily, there were only two that I encountered (so far). What I have done as a work around is setup two new String variables (since these are both Memo or MultiLine fields) and when the recordset is opened and the appropriate record is found, I set these variables to the existing fields in question. Then, during the Edit, I set these two fields in the recordset to equal the new variables. This way I am able to get around receiving the runtime 3314 error.

    The bonus to this is that it also works in Access 2007 so for my users who are not going to be updated in the early stages, they will still be able to use the existing DB as well as my Access 2010 users (glad I don't have to manage two databases!) ...

    Here is my "work around" code in case you need to reference it:

    Code:
        Set db = CurrentDb
        Set recPar = db.OpenRecordset("Enhancement Request", dbOpenDynaset)
        
        With recPar
            .FindFirst "ID = " & ParID
            If Not .NoMatch Then
                ParStat = !Status
                ParDetail = ![Detail Description]
                ParBenefit = ![Benefit Statement]
                If ParStat <> "Parent" Then
                    ParCmnt = "Yes"
                    .Edit
                    !Status = "Parent"
                    ![Record Type] = "Parent"
                    ![Detail Description] = ParDetail
                    ![Benefit Statement] = ParBenefit
                    .Update
                    Else
                        ParCmnt = "No"
                End If
            End If
        End With
        
        recPar.Close
        Set recPar = Nothing
    Thanks again to John for getting me out of my cardboard box and taking a look around!

Please reply to this thread with any new information or opinions.

Similar Threads

  1. Replies: 9
    Last Post: 05-07-2013, 08:37 PM
  2. Replies: 8
    Last Post: 05-29-2012, 02:10 PM
  3. Replies: 0
    Last Post: 05-10-2012, 01:25 PM
  4. Replies: 7
    Last Post: 02-19-2012, 04:40 PM
  5. Replies: 2
    Last Post: 01-05-2012, 11:52 AM

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
Other Forums: Microsoft Office Forums