David Emerson
davide at dalyn.co.nz
Mon Mar 3 22:14:29 CST 2003
What I am looking for here is some confirmation I am doing the right thing. In A97 I had a simple statement to return a single value if the corresponding record existed (this was in the Control Source of a field - =IIf(Not IsNull([CustIDNo]),nz(DLookUp("Current","tblCustStatement","CustIDNo = " & [CustIDNo] & " and StatementNumber = " & [InvNumber]-1),0)) Now in my ADP I am using the following (and setting the field control source to '=cbfAmtDue()') - Public Function cbfAmtDue() As Currency Dim cnn As ADODB.Connection, rst As ADODB.Recordset Set cnn = CurrentProject.Connection Set rst = New ADODB.Recordset rst.Open "tblCustStatement", cnn, adOpenDynamic, adLockOptimistic cbfAmtDue = 0 If Not IsNull([CustIDNo]) Then rst.Filter = "CustIDNo = " & Me!CustIDNo & " and StatementNumber = " & DLookup("InvNumber", "tblCustomers", "CustomerID = " & Me!txtCustID) - 1 If rst.EOF <> True Then 'Statement record exists cbfAmtDue = rst!CurrentMth End If End If rst.Close Set rst = Nothing cnn.Close Set cnn = Nothing It seems a long way about it but is there any simpler way? Regards David Emerson DALYN Software Ltd 25b Cunliffe St, Johnsonville Wellington, New Zealand Ph/Fax (877) 456-1205