Re: Invalid use of Null error question
- From: "TonyWilliams via AccessMonster.com" <u56994@uwe>
- Date: Thu, 24 Dec 2009 15:16:22 GMT
Thanks Douglas that's really helpful. I really need to study your post and
realte it to what I already know. I have read a number of books about VBA but
I never find reading as good as actually "doing"
As to my code - the value of txtnmontha is a date value selected from a combo
box and the values are shown as mmmm/yyyy The problem I have with this
database is that the data that is input all relates to quarters not
individual days of the month. So the dates that are stores in a table called
tblmonth (which is the the source of the txtmontha comobox) are say January
2009, March 2009, June 2009 and September 2009. In truth I realise that
although the format is mmmm/yyyy the underlying date is 01/01/09, 01/03/09,
01/06/09 and 01/09/09 but the user never inputs those dates. They only see
and work with dates in the mmmm/yyyy format.
With that in mind does it affect how you have written your code?
Many thanks
Tony
Douglas J. Steele wrote:
So could you take me through your comment "You cannot assign its value to
a
string variable if nothing's been selected: string variables cannot be set
to
Null (the only variable type that can is Variant)" I'm afraid I just don't
understand that.
There are many different types of variables in Access. Numeric variables can
only store numbers (Byte, Integer and Long can only store integer values,
Single and Double can store real values). String variables can store
alphanumeric data. Variant is another type of variable. Variables declared
as the Variant data type can contain string, date, time, Boolean, or numeric
values, and can convert the values they contain automatically. Numeric
Variant values require 16 bytes of memory (which is significant only in
large procedures or complex modules) and they are slower to access than
explicitly typed variables of any other type.
The other problem is the one of dates. I'm not sure I understand the[quoted text clipped - 7 lines]
problem
just put in a date that's when I get the Invalid use of Null' So I'm
beginning to feel lost.
How the data is stored and how it's presented to the user are two very
different things.
If txtmonthlabel is a date field in your table, then it contains a date,
which is a specific point in time (a day, month and year). Using Format, you
can display that date as simply a year, or a month and year, or simply a day
of the week if you want.
Under the covers, a date field is an eight byte floating point number where
the integer portion represents the date as the number of days relative to 30
Dec, 1899, and the decimal portion represents the time as a fraction of a
day. Hopefully that gives you an idea of why December, 2009 isn't a date:
what number would you store to represent how many days it's been since 30
Dec, 1899?
I realise that this is a lot to ask but could you rewrite my code to[quoted text clipped - 33 lines]
exactly
End Sub
What is actually typed into Me.txtmontha: a full date, or only a month and
year?
One problem with your code is the line
strtxtcompany = Me.cmbselectcompany
There is no need to assign the value of the combo box to a variable: just
refer to the combo box in your code.
If me.txtmontha contains a full date, you could use something like:
Private Sub Command35_Click()
On Error GoTo Err_Command35_Click
Dim dtmFirstDay As Date
Dim dtmLastDay As Date
Dim strsql As String
If IsNull(Me.txtmontha) Then
Msgbox "You must supply a date."
Else
dtmFirstDay = DateSerial(Year(Me.txtmontha), Month(Me.txtmontha), 1)
dtmLastDay = DateSerial(Year(Me.txtmontha), Month(Me.txtmontha) + 1, 0)
strsql = "SELECT * FROM [tblmaintabs] " & _
"WHERE ([txtmonthlabel] Between " & _
Format(dtmFirstDay, "\#yyyy\-mm\-dd\#") & _
" AND " & Format(dtmLastDay, "\#yyyy\-mm\-dd\#") & ") "
If Len(Me.cmbselectcompany & vbNullString) > 0 Then
strsql = strsql & _
"AND [txtcompany] = '" & Me.cmbselectcompany & "'"
End If
Debug.Print strsql
Forms!frmMain!SubForm1.SourceObject = "subformFDA"
Forms!frmMain!SubForm1.Form.RecordSource = strsql
End If
Exit_Command35_Click:
Exit Sub
Err_Command35_Click:
MsgBox Err.Description
Resume Exit_Command35_Click
End Sub
--
Message posted via AccessMonster.com
http://www.accessmonster.com/Uwe/Forums.aspx/access-formscoding/200912/1
.
- References:
- Invalid use of Null error question
- From: Tony Williams
- Re: Invalid use of Null error question
- From: Douglas J. Steele
- Re: Invalid use of Null error question
- From: Tony Williams
- Re: Invalid use of Null error question
- From: Douglas J. Steele
- Re: Invalid use of Null error question
- From: Tony Williams
- Re: Invalid use of Null error question
- From: BruceM via AccessMonster.com
- Re: Invalid use of Null error question
- From: Tony Williams
- Re: Invalid use of Null error question
- From: BruceM via AccessMonster.com
- Re: Invalid use of Null error question
- From: Tony Williams
- Re: Invalid use of Null error question
- From: Douglas J. Steele
- Re: Invalid use of Null error question
- From: TonyWilliams via AccessMonster.com
- Re: Invalid use of Null error question
- From: Douglas J. Steele
- Re: Invalid use of Null error question
- From: TonyWilliams via AccessMonster.com
- Re: Invalid use of Null error question
- From: Douglas J. Steele
- Invalid use of Null error question
- Prev by Date: Re: Invalid use of Null error question
- Next by Date: Re: Invalid use of Null error question
- Previous by thread: Re: Invalid use of Null error question
- Next by thread: Re: Invalid use of Null error question
- Index(es):
Relevant Pages
|