Heenan, Lambert
Lambert.Heenan at chartisinsurance.com
Thu Nov 5 10:09:47 CST 2009
Virginia,
The reason you always get a zero returned is that DMax("LockerNumber", "qry_MaxLocker") is looking for the field named "LockerNumber", but your query has given the field the alias "MaxLocker". So change the code to...
Me!LockerNumber = Nz(DlookUp("MaxLocker", "qry_MaxLocker"),0) + 1
You don't need to use Dmax as the query only returns one record anyway. (though Dmax will still work)
Note also that I have changed the Nz() function call slightly.
Nz(Null) returns an empty string, whereas Nz(Null,0) returns the value zero.
HTH
Lambert
-----Original Message-----
From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Hollis, Virginia
Sent: Thursday, November 05, 2009 9:13 AM
To: accessD at databaseadvisors.com
Subject: [AccessD] Increment Numbers
I want to increment locker numbers. I have LockerNumber which is a number field with a default value of 0 & format of 000. On the form I want new records to automatically increment the locker number. Using this code, I only get 000 for new records. I don't want to use the autonumber because there may be a case when they need to manually enter a number. Which will lead to another issue of duplicating numbers (I will ask about that in my next post).
On form:
Private Sub Form_BeforeInsert(Cancel As Integer)
'increment next locker number
If Me!LockerNumber = 0 Then
Me!LockerNumber = Nz(DMax("LockerNumber", "qry_MaxLocker")) + 1
End If
End Sub
qry_MaxLocker:
SELECT Max(tbl_Locker.LockerNumber) AS MaxLocker
FROM tbl_Locker;
--
AccessD mailing list
AccessD at databaseadvisors.com
http://databaseadvisors.com/mailman/listinfo/accessd
Website: http://www.databaseadvisors.com