Fig 
3.3A
Bound and unbound controls
Add a checkbox
to the detail form.
As an experiment,
bind it to the passport field
Set Control Source to combine 
two guest  fields into one.
Result in user mode
Final result: Two address lines in one
Let us look at another troublesome problem: 
10. Referring to a built-in property. Let us try to 
concatenate the guest name with address2. Change 
the text box control source to: 
= name & ", " & address2 
In user mode, you will see that you don't get the name 
of the guest, but the name of the form itself! The rea-
son is that a form has a Name property, and this is what 
you referred to. Notice that Access changed the name 
you typed to [Name]. This is a sign that Access recog-
nized the name as something spelled with a capital N - 
in this case a property name. 
To avoid the problem, precede the name with a bang 
operator (!): 
= !name & ", " & address2 
The bang operator tells Access that you want a control 
or a database field - not a built-in property. We will 
discuss this a lot more in section 5.1. 
11. Name mistake. Try to use a non-existing name in 
the control source: 
= zz & address2 
Access doesn't give you an error message, but in user 
mode you will see the text #Name? instead of the guest 
data. 
3. Access-based user interfaces 
41
Pdf form save in reader - C# PDF Field Edit Library: insert, delete, update pdf form field in C#.net, ASP.NET, MVC, Ajax, WPF
Online C# Tutorial to Insert, Delete and Update Fields in PDF Document
best pdf form creator; chrome save pdf with fields
Pdf form save in reader - VB.NET PDF Field Edit library: insert, delete, update pdf form field in vb.net, ASP.NET, MVC, Ajax, WPF
How to Insert, Delete and Update Fields in PDF Document with VB.NET Demo Code
add image to pdf form; pdf editable fields
3.3.1 Showing subform fields in the main 
form 
In Access 97 and 2000 you may also let a field in the 
main form draw on data in the subform. Figure 3.3B 
shows an example. We let a text box show a field from 
the subform. Try it in this way: 
1.  Open frmFindStay in design mode and select the 
spare text box (Text6 on the figure). Set its control 
source to 
= subStayList ! name 
(Remember the equal sign.) 
This tells Access to look into the subform control 
to find the field name. Switch to user mode. 
The spare text box should now show the guest name 
from the currently selected record. Try selecting differ-
ent records to see that the text box is updated automati-
cally.  
Detail area. This approach can be useful if you want to 
show details of the selected record. You might for in-
stance set off an area of the main form for details of the 
selected record. The area might show several fields 
from the selected record. 
Unfortunately, in Access 2003 this doesn't work 
automatically. You can set the control sources, but 
Access doesn't update the fields automatically. You 
have to do some programming to update the fields. 
Other expressions 
You can use a wide range of operators and functions to 
compute the control value, such as  
+, -, *, Sin( ), IIf( ) 
The rules correspond to what you can write in Visual 
Basic, and they are similar to those you find in other 
programming languages. See section 6.4 for the 
detailed rules. 
In practice, you will rarely use complex expressions in 
the controls. Complex computations are usually done 
either as part of computing a table with an SQL query, 
or as part of a Visual Basic program. 
3.3.2 Variable colors - conditional 
formatting 
You can determine the colors and other format aspects 
of a control through the Format tab of the property box. 
For instance you can set Back Color of Guest to 
something different than white. However, the back 
color will be the same in every detail form. 
Sometimes you can vastly improve the user interface 
by showing critical data in color. This means that only 
some of the detail records will have a colored control. 
It might be tempting to do this by using an expression 
for Back Color, but this is not possible. Before Access 
2000 it was actually completely impossible to have 
variable colors in continuous forms. 
Value-dependent color 
In Access 2000 and 2003 there is a primitive way to 
deal with variable colors. We can for instance let a 
number be green in the range 0 to 49, yellow in the 
range 50 to 69, and red otherwise. Or we could let a 
text be yellow in the alphabetical range from H to P, 
and red above it. Try it: 
2.  Open fsubStayList in any mode, for instance Da-
tasheet view to get a good overview of the records. 
3.  Select the Guest name (the name control). Use the 
Format menu at the top of the Access window and 
select Conditional Formatting
4.  Set up the conditional formatting as shown on Fig-
ure 3.3C. Specify yellow background for the range 
"h" to "p" and red from "p" and up. You can add or 
delete conditions by means of the Add and Delete 
buttons at the bottom. 
5.  Close the conditional formatting box and check 
that the colors are as expected. You may also try to 
enter new guests to check how the ranges work in 
detail. 
The variable colors work in datasheet view as well as 
form view. The colors do not show in the table behind 
the form (tblGuest).  
Default colors. At the top of the Conditional Format-
ting box, you can set the default color for the control. 
You can also set it through the Back Color property on 
the Format tab. However, this only defines the default 
color in form view. In datasheet view, the default color 
is defined by datasheet settings (use the main menu: 
Format -> Datasheet and Format -> Font). 
Expression-dependent color 
You may also let the color of one field depend on the 
values of other fields. As an example, we could let the 
color of the Address control depend on the Guest 
name. You might try this: 
6.  Select the Address control (initially named 
address1) and select conditional formatting.  
7.  For Condition 1, select Expression Is. Then select 
a background color and specify this expression for 
the background color to be used: 
!name > "h" 
When you close the conditional formatting window, all 
guests with names after H should have the new back-
ground color for the address, but they don't! The reason 
is that conditional formatting doesn't address fields in 
the same way as the control source property (I would 
call this a bug in Access). You have to use a more 
elaborate expression: 
8.  Use the full address for the field 
Forms ! fsubStayList ! name > "h" 
The full address tells Access to look for a form called 
fsubStayList and find the name control in it. This 
42 
3. Access-based user interfaces 
C# PDF: PDF Document Viewer & Reader SDK for Windows Forms
SaveFile(String filePath): Save PDF document file to a specified path form (Here, we take a blank form as an open a file dialog and load your PDF document in
adding form fields to pdf; create a fillable pdf form from a word document
VB.NET Image: How to Save Image & Print Image Using VB.NET
printing multi-page document files, like PDF and Word is used to illustrate how to save a sample RE__Test Public Partial Class Form1 Inherits Form Public Sub New
add email button to pdf form; best program to create pdf forms
Set Control Source to show 
name of selected guest.
Textbox automatically 
reflects the current selection.
Textbox automatically 
reflects the current selection.
Access 97 and 2000 only
Fig 3.3B  Showing subform fields in the main form
Fig 
3.3C
Variable colors
Specify condition and
new  background color.
Select Guest field.
Main menu:
Format -> Conditional Formatting
should work correctly when you close the formatting 
box. (In some cases Access shows an error message 
saying that it cannot find the Forms field. Ignore it, the 
formula works anyway.) 
Unfortunately, this full address works only when we 
see fsubStayList separately, but not when we see it as a 
subform of frmFindStay. We will have to use an even 
more elaborate address to tell Access that it is a sub-
form of frmFindStay we talk about. The address to be 
used is 
Forms ! frmFindStay ! subStayList !name > "h" 
We will explain a lot more about these addresses in 
section 5.1. 
3. Access-based user interfaces 
43
C# PDF File Merge Library: Merge, append PDF files in C#.net, ASP.
Merge Microsoft Office Word, Excel and PowerPoint data to PDF form. Append one PDF file to the end of another and save to a single PDF file.
adding text to a pdf form; changing font size in pdf form
VB.NET PDF Page Delete Library: remove PDF pages in vb.net, ASP.
this RasterEdge XDoc.PDF SDK, you can simply delete a single page from a PDF document using VB.NET or remove any page from a PDF document and save to local
add date to pdf form; android edit pdf forms
3.4 Tab controls and option groups 
Tab controls 
When space is insufficient on the form, a tab control is 
a way out. The property box in Access and the option 
window in many MS-Windows programs use tab con-
trols to put ever more fields on a single window.  
Figure 3.4 shows how we use a tab control in the hotel 
system. The Stay window shows all details of a stay (a 
booking). It contains one tab control with two tab 
pages. The first tab page shows the rooms booked or 
occupied by the guest. The second tab page shows the 
services received, for instance breakfast. Try to make 
the essential parts of this form: 
1.  Create a new form from the database window's 
Form tab (use Create form in Design view). Re-
member to set the grid size so that the grid is visi-
ble. 
2.  Add the Stay No. field to the form (to be used for 
stayID later), but don't care to add all the other 
fields. 
3.  Extend the grid area. Select the Tab-control tool 
from the toolbox and draw a large rectangle on the 
form. 
You now get three new controls on the form: the tab 
control and two tab pages in it. When you click in the 
empty area to the right of the tabs, you select the entire 
tab control. If you click on one of the tabs, you select 
this particular tab page. 
How to add further tab pages to the control? You right-
click the tab and select Insert Page. In the hotel sys-
tem, two pages are enough. We need a subform on each 
of the two tab pages. Proceed like this: 
4.  Select the first tab page. In its property box, enter 
the caption Rooms
5.  Make sure the tab-page is selected and not the en-
tire tab control. Select the subform tool from the 
toolbox and draw a subform on the tab page. 
6.  Select the text box tool from the toolbox and draw 
the two fields for totals on the tab page.  
7.  Also add the last total field (Total rooms and 
services till now). Note that it must be below the 
tab control. In design mode, the form should now 
look like the right part of Figure 3.4. 
8.  Connect the mockup room list to the first tab page 
in this way. Select the subform control and set its 
SourceObject property to  fsubStayRooms. (You 
created this subform in section 3.2.3.) In user 
mode, the form should now look like the left part 
of Figure 3.4. 
9.  Select the second tab page and give it the caption 
Services. If you like, you can insert subforms and 
other controls on this tab too, similar to the Rooms 
tab. 
10. Give the Stay form a caption. Close it and give it 
the name frmStay
Warning: It may be tempting to draw a control on the 
main form and then drag it to the tab pages. On the 
screen it may look right, but it isn't. The control sticks 
to the main form and may be either in front of all the 
tab pages or behind all of them. You may, however, 
copy a control from the main form, select the tab page, 
and then paste the control there. When you click the 
various tab pages, you see that it sticks to the right 
page. 
Option groups 
If the user has to choose between a few options, it is 
traditional to show them as an option group with radio 
buttons (called option buttons in Access). The bottom 
of Figure 3.4 shows an example where the user can 
choose the paymethod with radio buttons. 
An option group is in some ways similar to a tab con-
trol. It is a control that contains other controls. How-
ever, an option group is just an elaborate way of 
showing a single integer value. The current value de-
termines which radio button has a dot. In our example 
this integer would be the paymethod. Make the option 
group in this way: 
11. In design mode, choose the Option group tool 
from the toolbox. Make sure the Wizard is off
Draw a rectangle like the one on the figure. 
12. You have now got the control and its label. The 
label is shown across the top border. You can drag 
them around exactly as text boxes. Change the la-
bel to Paymethod. 
13. Select the Option button tool from the toolbox. 
Drag a rectangle where the option button and its 
label will be - or just click at the top left corner of 
this rectangle. Draw four option buttons. 
14. Change the labels for the options to Cash, Visa
etc.  
Look at the result in user mode. The buttons are all 
gray. Why? Because the control has no value - it can-
not choose which button to give a dot. Remedy? Click 
in one of the buttons. If you click the first button, the 
control will get the value 1. If you click the second one, 
it becomes 2, etc.  
44 
3. Access-based user interfaces 
C# PDF Page Extract Library: copy, paste, cut PDF pages in C#.net
to extract single or multiple pages from adobe PDF file and save into a The portable document format, known as PDF document, is a widely-used form of file
create a pdf form to fill out; adding signature to pdf form
C# Image: Save or Print Document and Image in Web Viewer
or image, you can easily save the changes to DLL Library, including documents TIFF, PDF, Excel, Word string fileName = Request.Form["saveFileName"]; string fid
build pdf forms; change tab order in pdf form
Fig 
3.4
Tab control and Option group
Select one of the tab pages.
Draw controls on it - or copy
and paste.
Command
Select Tab control.
Draw on form.
Command
Option group.
Draw on form.
Add Option
buttons.
Wanted
Select entire Tab control
3. Access-based user interfaces 
45
C# PDF Convert to Tiff SDK: Convert PDF to tiff images in C#.net
Description: Convert to DOCX/TIFF with specified zoom value and save it into stream. Parameters: zoomValue, The magnification of the original PDF page size.
best way to make pdf forms; adding images to pdf forms
C# Create PDF from Tiff Library to convert tif images to PDF in C#
Description: Convert to PDF and save it on the disk. Parameters: Name, Description, Valid Value. Description: Convert to PDF and save it into stream. Parameters:
create a fillable pdf form online; acrobat create pdf form
3.5 Menus 
In Access a form cannot have menus. Only the big 
Access window can have menus, but they can change 
according to which form is in focus.  
Before we start implementing the hotel menu, we need 
some terminology. Figure 3.5A shows what we are 
talking about. Initially, the Access window has a menu 
bar and one or more tool bars. Access uses the com-
mon term toolbar for menu bars as well as real tool-
bars. The toolbar concept also covers the free-floating 
toolbars, called toolboxes, and shortcut menus that pop 
up when you right click on a control. In a moment we 
will add another menu bar to be used by the hotel 
system.  
Each menu bar has one or more menus. A menu con-
sists of a menu heading - the one we see on the menu 
bar - and the menu list that drops down when you select 
the menu heading. 
The menu list contains the menu items. Most of them 
are commands. They do the real work when selected. 
Some of the menu items may be second-level menu 
headings. They open another menu list when selected, 
and this is how we make multi-level menus. Access 
uses the word command for the real commands as well 
as the lower-level menu headings. 
3.5.1 Create a new menu bar 
You can make menus whether in design mode or user 
mode. 
1.  Right-click any point on the existing menus and 
select Customize. (Or use Tools -> Customize). 
You now get the customize window as shown on 
Figure 3.5A. 
2.  On the Toolbars tab, click the New button. Access 
asks for the name of the new toolbar. Call it Hotel 
- the name the user will see if he chooses the tool-
bar with the View menu. Click OK, and up comes 
a tiny menu bar - floating in the universe. 
3.  Click the Properties button in the Customize win-
Command
Fig 
3.5A
Create a new menu bar
Menu bar
New menu bar: Hotel
Tool bar
Menu:
Menu heading in the menu bar.
Menu list that drops down
Command
(menu item)
Create a new
toolbar/menubar.
Name it Hotel
Right-click.
Select Customize
Make it a
menubar
Drag it to the
menubar/toolbar area.
Checked toolbars
shown as default
46 
3. Access-based user interfaces 
C# PDF Convert to Word SDK: Convert PDF to Word library in C#.net
key. Quick to remove watermark and save PDF text, image, table, hyperlink and bookmark to Word without losing format. Powerful components
pdf create fillable form; create a pdf form in word
C# Create PDF from PowerPoint Library to convert pptx, ppt to PDF
Description: Convert to PDF/TIFF and save it on the disk. Parameters: Description: Convert to PDF/TIFF and save it into stream. Parameters:
add form fields to pdf without acrobat; change font size in fillable pdf form
dow and set the Type of the new toolbar to Menu 
Bar. Close the properties window. 
The type of the toolbar determines where it is shown. If 
it is a Menu Bar, it will be shown at the top with any 
other menu bar. If it is a Toolbar, it will be shown be-
low the menu bars. 
4.  The new menu bar is still floating in the universe. 
Drag it to the fellow tool bars in the top of the 
Access window.  
The menu bar area should now look like the bottom of 
Figure 3.5A. The new menu bar looks very empty be-
cause it has no menus.  
Add menus to the menu bar 
5.  Select the Commands tab in the Customize win-
dow (see Figure 3.5B).  
This Command tab is really confusing. It allows you to 
choose between a lot of built-in menu items - those that 
already are in the various toolbars - but also add new 
menu items. All these menu items are grouped accord-
ing to categories. For most commands you can get a 
short description by selecting the command and click-
ing the Description button. 
6.  Go to the bottom of the category list and select 
New Menu. This category consists of only one 
command - a new menu. Select this New Menu 
command and drag it to the new menu bar. Since 
we want several menus on the menu bar, drag it a 
couple of times. The toolbar area should now look 
like the one on Figure 3.5B. 
7.  Keep the Customize window open and right-click 
each of the new menus to give it a name. For the 
hotel system, use the names &Rooms, &Stays and 
&Breakfast. The &-sign shows that the following 
letter is to be underlined and used as a shortcut 
(e.g. Alt+S for Stays).
Fig 
3.5B
Add menus to the 
menubar
Command
Drag new menu headings
to the toolbar.
Command
Right-click and 
give it a name.
3. Access-based user interfaces 
47
3.5.2 Add commands to the menu list 
As an example, we will add two commands to the Stays 
menu: One that opens the FindStay screen and one that 
cancels (deletes) a stay. 
1.  Select the Commands tab in the customize window 
and the category All Forms (Figure 3.5C).  
This category gives access to commands that open an 
existing form. You see the existing forms to the right. 
2.  Select frmFindStay and drag this command to the 
Stays menu heading. Wait a moment for the Stays 
menu to unfold so that you can place the command 
on the menu list. 
3.  Right-click the command and give it the name 
Show FindGuest screen and the style Text Only
The right-click allows you to do many other things to 
this command. You can assign an icon to it and edit the 
icon. (This is more useful when you design toolbars 
and toolboxes rather than menu bars.) If you click 
Properties at the bottom of the list, you can determine 
which action the command shall perform when se-
lected. In our case, we use the built-in action Open a 
form
Add the CancelStay command 
4.  Select the category File and the command Custom
(This is the only command that doesn't build on an 
existing command.) Drag this command to the 
Stays menu and position it properly relative to the 
other command on the menu. 
5.  Right-click the command and set its name to 
Cancel Stay
The Custom command has no built-in action. In its 
property box, we will later add a call to a Visual Basic 
function (section 5.7) that cancels the stay. 
6.  Close the Customize window and try out the com-
mands. The ShowFindGuest command should ac-
tually work, while the CancelStay does nothing at 
present. 
You may add all the other menus and commands at this 
stage to complete the mockup, but better spend your 
time doing it for your own design project.  
3.5.3 Attach the toolbar to a form 
You can attach a toolbar to a form so that it is shown 
only when this form is in focus. 
7.  First hide the Hotel menu: Right click any toolbar 
to open the customize window. On the Toolbars 
tab, find the Hotel menu at the end of the list. Re-
move the check mark and close Customize. 
8.  The Hotel menu is not visible anymore. Now open 
frmFindStay in Design view. In the form's prop-
erty box, select the Other tab. Set the Menu Bar 
property to Hotel and close the form. 
When you now open frmFindStay in user mode, the 
Hotel menu will be visible and it will have replaced 
Access's standard menu. Open frmStay too and switch 
the focus back and forth between the two forms. The 
menus will change accordingly. 
If you like, you can make another toolbar and give it 
the type Toolbar. Then attach it to frmStay through the 
Other-tab, but make it the Toolbar of frmStay rather 
than the Menu Bar. Open both forms in user mode and 
switch the focus back and forth. Notice that when 
frmStay is in focus, its toolbar overwrites Access's 
standard toolbar. When frmFindStay is in focus, its 
menu bar overwrites Access's standard menu bar. 
3.5.4 Startup settings - hiding developer 
stuff 
When the system is finished, the user should not see all 
the Access menus, the database window for selecting 
and creating forms, etc. It may be necessary to hide all 
of this already in the mockup. Here is how to do it: 
9.  Select Tools->Startup. You now see the startup 
settings (Figure 3.5D). 
10. Change these settings: Application Title = Hotel 
system (the user sees this name in the title bar in-
stead of the name Access). Menu bar = Hotel (the 
user sees this menu at the top of the screen). Dis-
play Form/page = frmFindStay (the user sees this 
form on the screen initially). 
11. Hide the standard things: Full menus and Database 
window. 
This will give the correct view for a mockup. When 
you later have a functional system, you should disable 
most other things too, for instance built-in shortcut 
menus (right-click menus) and special keys, for in-
stance F11 to open the database window. 
12. Close the database and open it again. You should 
now see the naked application window with only 
the FindStay window and the hotel menu. 
Help! How do you get it back to normal so that you 
can work as a developer? You cannot even change the 
startup settings anymore. Of course there is a solution: 
13. Close the hotel system window again. Now hold 
down Shift while you open it. Keep Shift down 
until it is completely open. (In Access 2003 this 
includes answering about unsafe files.) 
The window looks again the developer way, and you 
can change the startup settings. You might leave them 
in the final user version and remember to use Shift 
every time you are working as a developer. My experi-
ence is that this is too cumbersome and you forget 
48 
3. Access-based user interfaces 
Fig 
3.5C
Add commands to the menu list
Command
Drag new command
to the menu (wait a moment
for the menu list to drop down).
Command
Right-click and
give it a name.
Define style.
See short explanation
of the command.
Fig 
3.5D
Startup 
settings for hiding developer stuff
Name shown in
Access title bar
The startup form
The menu shown
Hide other menus
Hide database window
Initial
settings
about the Shift too often. I always set them back when 
I have tried it out. 
3. Access-based user interfaces 
49
3.6 Control tips, messages, mockup prints 
Control tips - pop-up help 
In the final system we can add Control Tips - the small 
texts that pop up when the mouse rests a moment on a 
button or another control (Figure 3.6). We can make 
them in the tool-based mockup, cut them out, and show 
them to the user as stickers. Let us make a control tip 
for the Find guest button on frmFindStay: 
1.  Open frmFindStay in design mode. Click on the 
NewGuest button to open its property box. 
2.  On the Other tab, enter the ControlTip text. There 
is little space to type in, so use Shift+F2 to open a 
larger window to type in. You may want to split 
the text into two or more lines - oops - the window 
closes! Use Ctrl+Enter to change line. 
3.  Switch to user mode and check that the control tip 
works. 
Messages 
The final system will have many messages to show to 
the user in various circumstances. They will be deeply 
embedded in the Visual Basic program, but when using 
the mockup for usability tests, the facilitator has to 
bring them up as stickers. So at this stage we have to 
generate them on the screen and then print them out. 
Figure 3.6 shows the easiest way to do it. It works both 
in design mode and user mode. 
4.  Open the Immediate window with Ctrl+G. (Also 
called the Debug window.) 
5.  If you work in Access 2000 or 2003, this also 
opens the Visual Basic window where you can 
program. Make the Visual Basic window smaller 
than the full screen (use the restore button next to 
the cross that closes the window). 
Immediate window. The Immediate window is also 
called the debug window. In it you can type Visual Ba-
sic statements and have them executed immediately.  
MsgBox. We will use the MsgBox function. It has 
many parameters, but in most cases we just use the first 
two: 
MsgBox "the message text to show", 
the buttons to show + the icon to use 
For our mockup we won't even care about the message 
text. We just show it as a very long empty text to make 
the message box wide enough. We print out the mes-
sage box, copy it and fill in the message text by hand. 
6. 
Enter the first line shown in the Immediate win-
dow: 
msgbox "        ", vbYesNo+vbInformation 
As soon as you click Enter, Visual Basic will execute 
the statement and show the message box. Print it at this 
stage (see below). Then play the user's role and answer 
Yes. 
7.  Do the same for the next three lines in the Imme-
diate window. This gives you a sample of the four 
basic types of messages in MS Windows. 
The strange words vbYesNo etc. are named constants. 
Actually, vbYesNo is 4 and vbInformation is 64. When 
you add them together, Visual basic can see that you 
want a Yes and a No button, plus the icon for an In-
formation message. 
VBA guides. Visual Basic can guide you while you 
type in the statement. If it doesn't do it by itself, type 
Ctrl+I after the function name. It will then show the 
parameters you may type. After the first comma, type 
Ctrl+Shift+J and it will show a list of the possible con-
stants at this point. You may select a constant from the 
list and use Tab to insert it in the statement.  
Leave Visual Basic. How do you get out of Visual 
Basic and back to the Access world? Simply close the 
Visual Basic window. This doesn't close the database 
window. 
Printing the screens 
Above we have developed the mockup so that the right 
things appear on the screen. How do you get them on 
paper for use as mockups in usability testing? In the 
standard installation of MS-Windows and MS-Office 
there is only one way as far as I know: 
8.  Press Alt+PrtSc (Print Screen). This copies the 
currently selected large window (the entire Access 
window) to the clipboard. 
When you have selected a message box, Alt+PrtSc 
copies only this box to the clipboard. 
9.  Paste it into a Word document.  
50 
3. Access-based user interfaces 
Documents you may be interested
Documents you may be interested