From: Charlie O'Neill on
I have customer accounts that expire on various dates. Once a month a
mailing list must be printed. On a form I am using a control which is
formatted as a date picker. When a clerk enters a date in the control any
accounts => than the date will print. The problem is if the clerk enters a
date of 5/12/2010 any account dated between 5/1 and 5/11 does not print.

I want to change the control to a drop down showing Jan, Feb, Mar etc. When
the clerk picks May I want a hidden control 'Mail' to show 5/1/2010 and use
this control for my query.

I tried

If Me.Combo35.Value = "April" Then
Me.Mail.Value = #04/01/2010#
End If
If Me.Combo35.Value = "May" Then
Me.Mail.Value = #05/01/2010#
End If
If Me.Combo35.Value = "June" Then
Me.Mail.Value = #05/01/2010#

End If
End Sub

But of course when 2011 arrives I need to change the code to 2011.

I tried using the following

I created another hidden control named 'Year' with the following in the
control properties
=Right(Date(),4)

Private Sub Combo35_AfterUpdate()

If Me.Combo35.Value = "April" Then
Me.Mail.Value = "4/1/" & Me.Year.Value
End If
If Me.Combo35.Value = "May" Then
Me.Mail.Value = "5/1/" & Me.Year.Value
End If
If Me.Combo35.Value = "June" Then
Me.Mail.Value = "6/1/" & Me.Year.Value
End If
End Sub

Although it appears that the correct date is entered in the me.Mail control
I cannot print accounts with dates greater than 2010. 2011 accounts do not
print.

Charlie
From: Tom van Stiphout on
On Wed, 21 Apr 2010 21:07:01 -0700, Charlie O'Neill
<CharlieONeill(a)discussions.microsoft.com> wrote:

Why not write:
If Day(myDatePicker) <> 1 then Msgbox "Yo! Gotta pick a first day of
the month", vbExclamation

-Tom.
Microsoft Access MVP


>I have customer accounts that expire on various dates. Once a month a
>mailing list must be printed. On a form I am using a control which is
>formatted as a date picker. When a clerk enters a date in the control any
>accounts => than the date will print. The problem is if the clerk enters a
>date of 5/12/2010 any account dated between 5/1 and 5/11 does not print.
>
>I want to change the control to a drop down showing Jan, Feb, Mar etc. When
>the clerk picks May I want a hidden control 'Mail' to show 5/1/2010 and use
>this control for my query.
>
>I tried
>
>If Me.Combo35.Value = "April" Then
>Me.Mail.Value = #04/01/2010#
>End If
>If Me.Combo35.Value = "May" Then
>Me.Mail.Value = #05/01/2010#
>End If
>If Me.Combo35.Value = "June" Then
>Me.Mail.Value = #05/01/2010#
>
>End If
>End Sub
>
>But of course when 2011 arrives I need to change the code to 2011.
>
>I tried using the following
>
>I created another hidden control named 'Year' with the following in the
>control properties
>=Right(Date(),4)
>
>Private Sub Combo35_AfterUpdate()
>
>If Me.Combo35.Value = "April" Then
>Me.Mail.Value = "4/1/" & Me.Year.Value
>End If
>If Me.Combo35.Value = "May" Then
>Me.Mail.Value = "5/1/" & Me.Year.Value
>End If
>If Me.Combo35.Value = "June" Then
>Me.Mail.Value = "6/1/" & Me.Year.Value
>End If
>End Sub
>
>Although it appears that the correct date is entered in the me.Mail control
>I cannot print accounts with dates greater than 2010. 2011 accounts do not
>print.
>
>Charlie
From: John W. Vinson on
On Wed, 21 Apr 2010 21:07:01 -0700, Charlie O'Neill
<CharlieONeill(a)discussions.microsoft.com> wrote:

>I have customer accounts that expire on various dates. Once a month a
>mailing list must be printed. On a form I am using a control which is
>formatted as a date picker. When a clerk enters a date in the control any
>accounts => than the date will print. The problem is if the clerk enters a
>date of 5/12/2010 any account dated between 5/1 and 5/11 does not print.
>
>I want to change the control to a drop down showing Jan, Feb, Mar etc. When
>the clerk picks May I want a hidden control 'Mail' to show 5/1/2010 and use
>this control for my query.

Consider having a combo box cboMonth with twelve rows and two fields:
MonthName and monthNo (January = 1, February = 2 and so on). Display the month
name but use the monthno as the bound column.

You could use a criterion

>=DateSerial(Year(Date()), Forms!YourForm!cboMonth, 1) AND < DateSerial(Year(Date()), Forms!YourForm!cboMonth + 1, 1)

to get all dates in the selected month during the current year.

If you're worried that they'll pick February and expect it to pull February
2011, you can use somewhat more complex expressions to get the right year.
--

John W. Vinson [MVP]
From: raskew via AccessMonster.com on
Hi -

This little function will return the month number when provided a complete or
partial month name:

Public Function RtnMonthNum(pstrMonName As String) As Integer
'*******************************************
'Purpose: Returns month number (1 - 12)
' when provided a complete or partial
' month name.
'Coded by: raskew
'Input: From debug (immediate) window:
' 1) ? RtnMonthNum("April")
' 1) ? RtnMonthNum("Sep")
'Output: 1) 4
' 2) 9
'*******************************************

Dim strHold As String
Dim strMonth As String
Dim intMonth As Integer

strMonth = "JanFebMarAprMayJunJulAugSepOctNovDec"
strHold = Left(pstrMonName, 3)
intMonth = InStr(strMonth, strHold)
RtnMonthNum = intMonth \ 3 + 1

End Function

HTH - Bob

John W. Vinson wrote:
>>I have customer accounts that expire on various dates. Once a month a
>>mailing list must be printed. On a form I am using a control which is
>[quoted text clipped - 5 lines]
>>the clerk picks May I want a hidden control 'Mail' to show 5/1/2010 and use
>>this control for my query.
>
>Consider having a combo box cboMonth with twelve rows and two fields:
>MonthName and monthNo (January = 1, February = 2 and so on). Display the month
>name but use the monthno as the bound column.
>
>You could use a criterion
>
>>=DateSerial(Year(Date()), Forms!YourForm!cboMonth, 1) AND < DateSerial(Year(Date()), Forms!YourForm!cboMonth + 1, 1)
>
>to get all dates in the selected month during the current year.
>
>If you're worried that they'll pick February and expect it to pull February
>2011, you can use somewhat more complex expressions to get the right year.

--
Message posted via AccessMonster.com
http://www.accessmonster.com/Uwe/Forums.aspx/access/201004/1

From: John Spencer on
If you just want to force the date back to the first of the month, you could
use the dateSerial function.

DateSerial(Year(SomeDate]),Month(SomeDate),1)

IF you are referencing the control in the query.

DateSerial(Year(Forms![YourFormName]![YourControl]),Month(Forms![YourFormName]![YourControl]),1)

On the other hand if you just want the current month date to be used you could
use criteria like
DateSerial(Year(Date()),Month(Date()),1)
and not even bother to ask the clerk for a date.

John Spencer
Access MVP 2002-2005, 2007-2010
The Hilltop Institute
University of Maryland Baltimore County

Charlie O'Neill wrote:
> I have customer accounts that expire on various dates. Once a month a
> mailing list must be printed. On a form I am using a control which is
> formatted as a date picker. When a clerk enters a date in the control any
> accounts => than the date will print. The problem is if the clerk enters a
> date of 5/12/2010 any account dated between 5/1 and 5/11 does not print.
>
> I want to change the control to a drop down showing Jan, Feb, Mar etc. When
> the clerk picks May I want a hidden control 'Mail' to show 5/1/2010 and use
> this control for my query.
>
> I tried
>
> If Me.Combo35.Value = "April" Then
> Me.Mail.Value = #04/01/2010#
> End If
> If Me.Combo35.Value = "May" Then
> Me.Mail.Value = #05/01/2010#
> End If
> If Me.Combo35.Value = "June" Then
> Me.Mail.Value = #05/01/2010#
>
> End If
> End Sub
>
> But of course when 2011 arrives I need to change the code to 2011.
>
> I tried using the following
>
> I created another hidden control named 'Year' with the following in the
> control properties
> =Right(Date(),4)
>
> Private Sub Combo35_AfterUpdate()
>
> If Me.Combo35.Value = "April" Then
> Me.Mail.Value = "4/1/" & Me.Year.Value
> End If
> If Me.Combo35.Value = "May" Then
> Me.Mail.Value = "5/1/" & Me.Year.Value
> End If
> If Me.Combo35.Value = "June" Then
> Me.Mail.Value = "6/1/" & Me.Year.Value
> End If
> End Sub
>
> Although it appears that the correct date is entered in the me.Mail control
> I cannot print accounts with dates greater than 2010. 2011 accounts do not
> print.
>
> Charlie
 |  Next  |  Last
Pages: 1 2
Prev: Do Long Names Corrupt?
Next: RR