• Hi

    I have the same error, in a bit of code that worked perfectly yesterday....!

    This code fails >

    SELECT @SqlString = 'UPDATE tblVATGLDetails SET VGLDNetFigure = NetFigure

    FROM tblVATGLDetails VATGL

    INNER JOIN OPENQUERY(' + @server + ', ''

    SELECT SUM(CAST(FE.DebitBase - FE.CreditBase AS FLOAT)) AS NetFigure

    ,CAST(FE.TransactionNumber AS VARCHAR(50)) AS MacTransactionNumber

    FROM ' + @dbname + '.FinanceEntry FE

    WHERE AccountNumber = ''''30000''''

    GROUP BY FE.TransactionNumber

    '')

    ON VGLDTransactionNumber = MacTransactionNumber

    WHERE VGLDEntryDate BETWEEN @fromdate AND @todate

    '

    EXEC sp_executesql @SqlString, @params, @StartDate, @EndDate

    But if I change it to do a select rather than an Insert as below it works! Any ideas?

    SELECT @SqlString = 'SELECT NetFigure, VGLDTransactionNumber

    FROM tblVATGLDetails VATGL

    INNER JOIN OPENQUERY(' + @server + ', ''

    SELECT SUM(CAST(FE.DebitBase - FE.CreditBase AS FLOAT)) AS NetFigure

    ,CAST(FE.TransactionNumber AS VARCHAR(50)) AS MacTransactionNumber

    FROM ' + @dbname + '.FinanceEntry FE

    WHERE AccountNumber = ''''30000''''

    GROUP BY FE.TransactionNumber

    '')

    ON VGLDTransactionNumber = MacTransactionNumber

    WHERE VGLDEntryDate BETWEEN @fromdate AND @todate

    '

    EXEC sp_executesql @SqlString, @params, @StartDate, @EndDate

    Thanks for any help!

    P.