Showing posts with label Microsoft Access. Show all posts
Showing posts with label Microsoft Access. Show all posts

Thursday, 10 May 2007

When is Sunday Monday?

Time for an infinite wisdom post now. On my system and in Microsoft Access 2002 the following VBA command:
?WeekdayName(vbSunday)

yields the result
Monday


Awesome!

Why does this happen? Well, it turns out that the help file is right but the actual command in Access doesn't do what it says on the tin.

Description
Returns a string indicating the specified day of the week.

Syntax
WeekdayName(weekday, abbreviate, firstdayofweek)

The WeekdayName function syntax has these parts:
PartDescription
weekdayRequired. The numeric designation for the day of the week. Numeric value of each day depends on setting of the firstdayofweek setting.
abbreviateOptional. Boolean value that indicates if the weekday name is to be abbreviated. If omitted, the default is False, which means that the weekday name is not abbreviated.
firstdayofweekOptional. Numeric value indicating the first day of the week. See Settings section for values.

Settings
The firstdayofweek argument can have the following values:
ConstantValueDescription
vbUseSystem0Use National Language Support (NLS) API setting.
vbSunday1Sunday (default)
vbMonday2Monday
vbTuesday3Tuesday
vbWednesday4Wednesday
vbThursday5Thursday
vbFriday6Friday
vbSaturday7Saturday

Note the help file shows us a third argument that changes the first day of the week. It states that the default is vbSunday (value: 1).

Not true. The default value is 0 and on my system the first day of the week is set to Saturday. This system-wide value is the one that is used to determine which day comes first on those month-at-a-time views such as the one you get by double-clicking the time in the Windows system tray.

Therefore, according to this function on my system, vbSunday is Monday.

Thursday, 28 December 2006

Microsoft Access 2002: Complex forms load really slowly

After a Microsoft Access wizard left two of my databases in a corrupt condition (an undocumented feature?) I felt fortunate to be able to reconstruct them by importing the objects into a new MDB file.

Slow


Annoyingly, my forms were now taking an age to load. As soon as I loaded it the first time I remembered that this was a problem I had come across before and had discovered the solution. A bit of brain-wracking didn't help (it just hurt). In these situations I say (if you have the time) to do something else and leave the problem floating around in the back of your mind and in the normal course of events, you might remember what it was. Normally, for me, this is either:
  1. when I leave the house (which isn't very often)
  2. when I'm sitting on the loo or in the bath
  3. when I've gone to bed
Three days later and, poof!, I remembers. It's an Option.

Tools menu -> Options -> General tab page -> Name AutoCorrect. Uncheck Track name AutoCorrect info.

Voila! Decent speed in complex form opening.