I really don't know if anyone would ever need to do this again, but I just thought to share what I came up with in case it may be useful to someone else. The following function is very basic and does not include any error handling. Hopefully, you can modify it to suit your needs. I would happily accept any comments or recommendations to improve this function to better help those who may want to use it.
Public Function DDiff(strField As String, strDomain As String, _
    Optional strCriteria As String) As Variant
'accessmvp.com/thedbguy
'7/26/2013
Dim dbs As DAO.Database
Dim rst As DAO.Recordset
Dim strSQL As String
Dim varDiff As Variant
strSQL = "SELECT [" & strField & "] FROM [" & strDomain & "] "
If strCriteria > "" Then
    strSQL = strSQL & " WHERE " & strCriteria
End If
Set dbs = CurrentDb
Set rst = dbs.OpenRecordset(strSQL, dbOpenSnapshot)
With rst
    If Not (.BOF And .EOF) Then
        varDiff = .Fields(strField)
        .MoveNext
    End If
    Do While Not .EOF
        varDiff = varDiff - .Fields(strField)
        .MoveNext
    Loop
   .Close
End With
DDiff = varDiff
Set rst = Nothing
Set dbs = Nothing
End FunctionTo see the discussion that started it all, including a pure SQL solution, click here.
Original post date: July 27, 2013
No comments:
Post a Comment