For all who replied, the function is definitely not getting called by the
query. I threw in a messagebox as the first VBA line, nada, and also tried
commenting out all the VBA, nada again. Here's the SQL from the query -- the
offending function starts on the sixth line. The VBA for the function is
shown after the SQL, but all the evidence so far suggests the problem is with
the query rather than the function.
SELECT tblWorkingPRISMLIData.ContractNo,
tblWorkingPRISMLIData.MPN,
tblWorkingPRISMLIData.StorageUnit,
tblWorkingPRISMLIData.ContractCode,
tblWorkingPRISMLIData.DoNotAppend,
ShowChanges(
[tblContractLIData].[ContractCode],
[tblContractLIData].[VGroup],
[tblContractLIData].[Plant],
[tblContractLIData].[OrderNo],
[tblContractLIData].[SLoc],
[tblContractLIData].[ContractType],
[tblContractLIData].[StorageBin],
[tblContractLIData].[AvailStock],
[tblContractLIData].[Price],
[tblContractLIData].[Typ],
[tblWorkingPrismLIData].[ContractCode],
[tblWorkingPrismLIData].[VGroup],
[tblWorkingPrismLIData].[Plant],
[tblWorkingPrismLIData].[OrderNo],
[tblWorkingPrismLIData].[SLoc],
[tblWorkingPrismLIData].[ContractType],
[tblWorkingPrismLIData].[StorageBin],
[tblWorkingPrismLIData].[AvailStock],
[tblWorkingPrismLIData].[Price],
[tblWorkingPrismLIData].[StorageType]) AS Changes
FROM tblWorkingPRISMLIData INNER JOIN tblContractLIData ON
(tblWorkingPRISMLIData.ContractNo = tblContractLIData.ContractNo)
AND (tblWorkingPRISMLIData.MPN = tblContractLIData.MPN)
AND (tblWorkingPRISMLIData.StorageUnit = tblContractLIData.StorageUnit)
WHERE
(((ShowChanges([tblContractLIData].[ContractCode],[tblContractLIData].[VGroup],[tblContractLIData].[Plant],[tblContractLIData].[OrderNo],[tblContractLIData].[SLoc],[tblContractLIData].[ContractType],[tblContractLIData].[StorageBin],[tblContractLIData].[AvailStock],[tblContractLIData].[Price],[tblContractLIData].[Typ],[tblWorkingPrismLIData].[ContractCode],[tblWorkingPrismLIData].[VGroup],[tblWorkingPrismLIData].[Plant],[tblWorkingPrismLIData].[OrderNo],[tblWorkingPrismLIData].[SLoc],[tblWorkingPrismLIData].[ContractType],[tblWorkingPrismLIData].[StorageBin],[tblWorkingPrismLIData].[AvailStock],[tblWorkingPrismLIData].[Price],[tblWorkingPrismLIData].[StorageType]))>""));
Public Function ShowChanges(strCCode As String, strVGrp As String, strPlant
As String, strOrderNo As String, strSLoc As String, strCType As String,
strStorageBin As String, lngAvailStock As Long, dblPrice As Double,
strStorageType As String, strWasCCode As String, strWasVGrp As String,
strWasPlant As String, StrWasOrderNo As String, strWasSLoc As String,
strWasCType As String, strWasStorageBin As String, lngWasAvailStock As Long,
dblWasPrice As Double, strWasStorageType As String) As String
ShowChanges = ""
If strCCode <> strWasCCode Then ShowChanges = ShowChanges & "Contract Code
was " & strWasCCode & ", is now " & strCCode & " ||| "
If strVGrp <> strWasVGrp Then ShowChanges = ShowChanges & "VGroup was " &
strWasVGrp & ", is now " & strVGrp & " ||| "
If strPlant <> strWasPlant Then ShowChanges = ShowChanges & "Plant was " &
strWasPlant & ", is now " & strPlant & " ||| "
If strOrderNo <> StrWasOrderNo Then ShowChanges = ShowChanges & "Order No
was " & StrWasOrderNo & ", is now " & strOrderNo & " ||| "
If strSLoc <> strWasSLoc Then ShowChanges = ShowChanges & "SLoc was " &
strWasSLoc & ", is now " & strSLoc & " ||| "
If strCType <> strWasCType Then ShowChanges = ShowChanges & "Contract Type
was " & strWasCType & ", is now " & strCType & " ||| "
If strStorageBin <> strWasStorageBin Then ShowChanges = ShowChanges &
"Storage Bin was " & strWasStorageBin & ", is now " & strStorageBin & " ||| "
If lngAvailStock <> lngWasAvailStock Then ShowChanges = ShowChanges &
"Available Stock was " & lngWasAvailStock & ", is now " & lngAvailStock & "
||| "
If dblPrice <> dblWasPrice Then ShowChanges = ShowChanges & "Price was " &
dblWasPrice & ", is now " & dblPrice & " ||| "
If strStorageType <> strWasStorageType Then ShowChanges = ShowChanges &
"Storage Type was " & strWasStorageType & ", is now " & strStorageType & "
||| "
End Function