Any help with my code?

  • Hi,

    I 've converted the code to ADO method. It was working fine in DAO but know I get the following error and i can't figure it out the soloution.

    Run-time error ‘3265’

    Item cannot be found in the collection corresponding to the requested name or ordinal

    ****************************************************************************

    Function ChangeQuantUnit(Material, quant_a, unit_a, unit_b)

    Static M As New ADODB.Recordset

    Static Mat_SQL As String

    ChangeQuantUnit = 0

    Mat_SQL = "SELECT SAP_Materials.Material, SAP_Materials.K, SAP_Materials.Base_K, SAP_Materials.KG, SAP_Materials.Base_KG, SAP_Materials.MTR, SAP_Materials.Base_MTR, SAP_Materials.ST, SAP_Materials.Base_ST FROM SAP_Materials WHERE (((SAP_Materials.Material)=""" + Material + """));"

    M.Open (Mat_SQL), CurrentProject.Connection, adOpenKeyset, adLockOptimistic

    If unit_a = "LB" Then

        ChangeQuantUnit = (quant_a / 2.2)

    Else

        If M(unit_a) * M("BASE_" + unit_b) > 0 Then 'this is the line that crashes

            ChangeQuantUnit = quant_a * M(unit_b) * M("BASE_" + unit_a) / (M(unit_a) * M("BASE_" + unit_b))

        End If

    End If

    M.Close

    End Function

     

     

  • M("BASE_" + unit_b) is retrieving by name, make sure unit_b is one of K, KG, MTR or ST

    M(unit_a) is retrieving by ordinal number, your query has a maximum of 9 columns, make sure unit_a is between zero and 8

    Far away is close at hand in the images of elsewhere.
    Anon.

  • Thanks for your help David i will check it out....

Viewing 3 posts - 1 through 2 (of 2 total)

You must be logged in to reply to this topic. Login to reply