P: 4

Hi there,
I'm an advanced beginner, so please bear with me...
I have a simple table that has four fields in it: Zone (which will store a three letter code such as ABC), Year (a four digit number field), Number (which is the problem field) and Label (which will be the concatenation of the previous three fields).
There will be a variety of three letter codes stored in the Zone field (11 to be precise) and the Year field will have a very wide variety of 4digit codes. What I'd like to do (if possible) is to populate the number field based on the concatenation of the Zone and Year fields. For example, if the Zone is ABC and the Year 1987 and this is the first occurrence in the table of this combination, then the Number field should read 1. If there's another occurrence of ABC + 1987 down the road, then the Number field should increment to 2, and so on.
The Zone and Year fields will be entered via a form and I'd like the Number field to populate itself automatically.
Is there a VBA solution to this? I'm assuming it's too complicated for an expression...
Any advice would be appreciated!
Thank you,
Jo
 
Share this Question
Expert 100+
P: 603

Hi there,
I'm an advanced beginner, so please bear with me...
I have a simple table that has four fields in it: Zone (which will store a three letter code such as ABC), Year (a four digit number field), Number (which is the problem field) and Label (which will be the concatenation of the previous three fields).
There will be a variety of three letter codes stored in the Zone field (11 to be precise) and the Year field will have a very wide variety of 4digit codes. What I'd like to do (if possible) is to populate the number field based on the concatenation of the Zone and Year fields. For example, if the Zone is ABC and the Year 1987 and this is the first occurrence in the table of this combination, then the Number field should read 1. If there's another occurrence of ABC + 1987 down the road, then the Number field should increment to 2, and so on.
The Zone and Year fields will be entered via a form and I'd like the Number field to populate itself automatically.
Is there a VBA solution to this? I'm assuming it's too complicated for an expression...
Any advice would be appreciated!
Thank you,
Jo
How about something like this in the after update of one of your fields...Sorry if I got the field names wrong..you get the idea 
if nz(dmax("number","yourtable","code ='" & me.code & "' and "year" = me.year), 0)=0 then

me.number = 1

else

me.number = dmax("number","yourtable","code ='" & me.code & "' and "year" = me.year) + 1

end if

 
P: 4

Wow! Smokin' fast response there...
With a few minor tweaks, that worked! Here's the code that worked for me: 
If Nz(DMax("Number", "map", "left(Label,7)='" & Me.Zone & Me.Year & "'"), 0) = 0 Then

Me.Number = 1

Else

Me.Number = DMax("Number", "map", "left(Label,7)='" & Me.Zone & Me.Year & "'") + 1

End If

Thank you for the help!
Cheers,
Jo
  Expert 100+
P: 603

Wow! Smokin' fast response there...
With a few minor tweaks, that worked! Here's the code that worked for me: 
If Nz(DMax("Number", "map", "left(Label,7)='" & Me.Zone & Me.Year & "'"), 0) = 0 Then

Me.Number = 1

Else

Me.Number = DMax("Number", "map", "left(Label,7)='" & Me.Zone & Me.Year & "'") + 1

End If

Thank you for the help!
Cheers,
Jo
Anytime,
J
    Question stats  viewed: 2106
 replies: 3
 date asked: May 9 '07
