function readOnly(count){ }
Starting November 20, the site will be set to read-only. On December 4, 2023,
forum discussions will move to the Trailblazer Community.
+ Start a Discussion
CVLGCVLG 

Excel Connector PE Edition: Error 424 in sfUpdate_New() - Object Required

I have been using the connector successfully for some time and find that one specific custom field on the Opportunity object generates this error and cannot be updated. 
 
I have made sure there are no other fields in the database with this name and removed any formula fields that refer to this one.
 
I'm on deadline to finish a data migration... HELP!??
 
Thanks VERY much in advance.
Big_Idea_RatBig_Idea_Rat

Not sure about root cause in the connector but I found two process changes that correct this problem:

1. Be sure the field name you are updating is unique across all objects

2. When running the initial query, select the option to use API names instead of field labels.

JeriJeri

and if is is not possible to have the field be unique, as it is a custom priority filed...

 

I really apreciate your assistance.

JAW99JAW99
any solution found? tried the suggested above but it did not help.
BobChathamBobChatham

I figured out a quick-and-dirty workaround while using the June 2010 version of the Excel Connector.

In my case, Error 424 is being thrown by VBA (Excel's Visual Basic programming language) in the function AdjustFieldType because it's being passed a number, not a variant. Fortunately, the source code is available. I patched the function in the "s_force" module of sforce_connect.xla. Worked for me on a column of floating point numbers, but I have not tested on percentages, which is the case that it's trying to handle that blows up. You can replace the existing case clause that handles doubles with the red code below.

 

Public Function AdjustFieldtype(vntValue As Variant, fld As SForceOfficeToolkitLib3.Field3)
'** this is toVBType slightly modified to work with Variants and also with early binding
'** parameter "fld". Also, I added a slightly more robust date handling and trimmed the strings
'** Actually, toVBType should work with variants too (I think)
    
    Select Case fld.Type
    Case "i4":
        AdjustFieldtype = Int(Val(vntValue))
    Case "double"
        AdjustFieldtype = Val(vntValue) ' normal case
        'BC: Added TypeName() check as a patch
        If TypeName(vntValue) = "Variant" Then
            If Right(vntValue.NumberFormat, 1) = "%" Then AdjustFieldtype = AdjustFieldtype * 100
        End If
    Case "datetime", "date"
        Dim vntUnInit As Variant
        AdjustFieldtype = IIf(IsDate(vntValue), CDate(vntValue), vntUnInit)
    Case "boolean":
        AdjustFieldtype = vntValue
    Case Else
      AdjustFieldtype = Trim$("" & vntValue)
    End Select
End Function