<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-4443167423047031113</id><updated>2011-07-28T22:25:49.471-07:00</updated><title type='text'>MS Access</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://freemsaccess.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4443167423047031113/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://freemsaccess.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Aisyah Runi</name><uri>http://www.blogger.com/profile/09754809777891988684</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://bp3.blogger.com/_iNFxbPL4FYE/R_dMDxJPHQI/AAAAAAAAAAM/L8A99OeHoPU/S220/runi001.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>12</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-4443167423047031113.post-7356775317178428332</id><published>2009-06-21T19:36:00.000-07:00</published><updated>2009-06-21T19:38:32.715-07:00</updated><title type='text'>Introduction to Event Procedures</title><content type='html'>Procedures are simply containers for VBA code. Access VBA contains four types of procedures:&lt;br /&gt;• Subprocedures&lt;br /&gt;• Function procedures&lt;br /&gt;• Property procedures&lt;br /&gt;• Event procedures&lt;br /&gt;Each type of procedure is designed to accomplish specific tasks. For example, event proce-&lt;br /&gt;dures are designed to catch and respond to user initiated events such as a mouse click on a&lt;br /&gt;command button or system initiated event such as a form loading. In this section I concen-&lt;br /&gt;trate an event procedure, as they are the foundation for an event-driven language such as&lt;br /&gt;VBA. In subsequent chapters, you learn about other types of procedures in detail.&lt;br /&gt;As mentioned, objects such as the Form object contain methods and properties. They also&lt;br /&gt;contain specialized events that are automatically provided after the object has been added&lt;br /&gt;to your database. VBA takes care of naming your object’s events for you. Their naming con-&lt;br /&gt;vention follows.&lt;br /&gt;&lt;br /&gt;ObjectName_EventName&lt;br /&gt;For example, a form added to your Access database called Form1 has a number of events,&lt;br /&gt;including the following.&lt;br /&gt;Private Sub Form_Load()&lt;br /&gt;End Sub&lt;br /&gt;Private Sub Form_Unload(Cancel As Integer)&lt;br /&gt;End Sub&lt;br /&gt;&lt;br /&gt;Notice the naming convention used for each event procedure: object name followed by the&lt;br /&gt;event name with an underscore in between. The objects and their events in Figure 2.2 are&lt;br /&gt;accessed from the VBE Code window.&lt;br /&gt;&lt;br /&gt;The leftmost list box in the Code window identifies available objects. The rightmost list box&lt;br /&gt;contains all available events for the object selected in the left list box. Each time you select&lt;br /&gt;an event, VBA creates the event shell for you automatically. This saves you from having to&lt;br /&gt;manually type each event’s beginning and ending procedure statements.&lt;br /&gt;     TRICK Each procedure in the VBE code window is separated by a horizontal line.&lt;br /&gt;Empty event procedures serve no purpose until you write code in them using VBA statements.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4443167423047031113-7356775317178428332?l=freemsaccess.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://freemsaccess.blogspot.com/feeds/7356775317178428332/comments/default' title='Poskan Komentar'/><link rel='replies' type='text/html' href='http://freemsaccess.blogspot.com/2009/06/introduction-to-event-procedures.html#comment-form' title='0 Komentar'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4443167423047031113/posts/default/7356775317178428332'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4443167423047031113/posts/default/7356775317178428332'/><link rel='alternate' type='text/html' href='http://freemsaccess.blogspot.com/2009/06/introduction-to-event-procedures.html' title='Introduction to Event Procedures'/><author><name>Aisyah Runi</name><uri>http://www.blogger.com/profile/09754809777891988684</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://bp3.blogger.com/_iNFxbPL4FYE/R_dMDxJPHQI/AAAAAAAAAAM/L8A99OeHoPU/S220/runi001.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4443167423047031113.post-1727022989468589275</id><published>2009-06-04T19:50:00.000-07:00</published><updated>2009-06-04T19:50:00.467-07:00</updated><title type='text'>Object-Based Programming</title><content type='html'>The key to programming in VBA is using objects. Objects have properties that describe the&lt;br /&gt;object and methods, which perform actions. For example, say I have an object called Person.&lt;br /&gt;The Person object contains properties called HairColor, Weight, Height, and Age that describe&lt;br /&gt;the object. The Person object also contains methods that describe an action the object can&lt;br /&gt;perform such as  Run,  Walk,  Sleep, and  Eat. As you can see, understanding the concept of&lt;br /&gt;objects is really quite simple!&lt;br /&gt;Many Access VBA objects also contain data structures called collections. In a nutshell, collections&lt;br /&gt;are groupings of objects, which you are introduced to in this chapter.&lt;br /&gt;Access VBA supports many objects such as the Form object, which is simply a window or dia-&lt;br /&gt;log box. The Form object contains many properties such as Caption, Moveable, and Visible.&lt;br /&gt;Each of these properties describes the Form object and allows VBA programmers to set char-&lt;br /&gt;acteristics of a user’s interface. Like the object Person, the Form object contains methods such&lt;br /&gt;as Move and Refresh.&lt;br /&gt;Many objects share common characteristics such as properties and methods. To demon-&lt;br /&gt;strate, the Label object (which implements a label control) shares many of the Form proper-&lt;br /&gt;ties such as Caption and Visible.&lt;br /&gt;Properties and methods of objects are accessed using the dot operator (.) as demonstrated&lt;br /&gt;in the next two VBA statements.&lt;br /&gt;Label1.ForeColor = vbBlue&lt;br /&gt;Label1.Caption = “Hello World”&lt;br /&gt;Don’t worry about the details in the previous statements for now, but do realize that prop-&lt;br /&gt;erties such as ForeColor and Caption belong to the Label1 object and they are accessed using&lt;br /&gt;the dot operator. I discuss this in more detail in sections to come.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4443167423047031113-1727022989468589275?l=freemsaccess.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://freemsaccess.blogspot.com/feeds/1727022989468589275/comments/default' title='Poskan Komentar'/><link rel='replies' type='text/html' href='http://freemsaccess.blogspot.com/2009/06/object-based-programming.html#comment-form' title='0 Komentar'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4443167423047031113/posts/default/1727022989468589275'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4443167423047031113/posts/default/1727022989468589275'/><link rel='alternate' type='text/html' href='http://freemsaccess.blogspot.com/2009/06/object-based-programming.html' title='Object-Based Programming'/><author><name>Aisyah Runi</name><uri>http://www.blogger.com/profile/09754809777891988684</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://bp3.blogger.com/_iNFxbPL4FYE/R_dMDxJPHQI/AAAAAAAAAAM/L8A99OeHoPU/S220/runi001.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4443167423047031113.post-1944799630970261613</id><published>2009-06-03T19:39:00.000-07:00</published><updated>2009-06-03T19:39:00.591-07:00</updated><title type='text'>The Event-Driven Paradigm</title><content type='html'>The  event-driven paradigm is a powerful programming model that allows pro-&lt;br /&gt;grammers to build applications that respond to actions initiated by the user or&lt;br /&gt;system. Access VBA includes a number of events that are categorized by the&lt;br /&gt;objects they represent. VBA programmers write code in event procedures to&lt;br /&gt;respond to user actions (such as clicking a command button) or system actions&lt;br /&gt;(such as a form loading).&lt;br /&gt;To demonstrate the event-driven model, consider a form, which has a corresponding Form&lt;br /&gt;object that contains many events such as Click, Load, and MouseUp. As seen next, both Click&lt;br /&gt;and MouseUp events are triggered by the user performing an action with the mouse on the&lt;br /&gt;form.&lt;br /&gt;Private Sub Form_Click()&lt;br /&gt;‘write code in here to respond to the user clicking the form&lt;br /&gt;End Sub&lt;br /&gt;Private Sub Form_MouseUp(Button As Integer, _&lt;br /&gt;Shift As Integer, X As Single, Y As Single)&lt;br /&gt;‘write code in here to respond to the user releasing a mouse button&lt;br /&gt;End Sub&lt;br /&gt;&lt;br /&gt;I discuss the details of these event procedures soon enough. For now, understand that&lt;br /&gt;objects have related events, which can be triggered by users. You, the VBA programmer,&lt;br /&gt;write code in these event procedures to respond to user actions. Moreover, events can be trig-&lt;br /&gt;gered by the system or the program itself. For example, the Load event seen next is triggered&lt;br /&gt;when a form’s Form object is first loaded into memory.&lt;br /&gt;Private Sub Form_Load()&lt;br /&gt;‘write code in here to respond to the form loading into memory&lt;br /&gt;End Sub&lt;br /&gt;If you’re new to event-driven programming, this may seem a bit awkward at first. I promise&lt;br /&gt;you, however, it is really not that difficult. In fact, VBA does a great job of providing much&lt;br /&gt;of the detail for you. By the end of this chapter, you will be writing your first Access VBA&lt;br /&gt;event-driven programs with ease.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4443167423047031113-1944799630970261613?l=freemsaccess.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://freemsaccess.blogspot.com/feeds/1944799630970261613/comments/default' title='Poskan Komentar'/><link rel='replies' type='text/html' href='http://freemsaccess.blogspot.com/2009/06/event-driven-paradigm.html#comment-form' title='0 Komentar'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4443167423047031113/posts/default/1944799630970261613'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4443167423047031113/posts/default/1944799630970261613'/><link rel='alternate' type='text/html' href='http://freemsaccess.blogspot.com/2009/06/event-driven-paradigm.html' title='The Event-Driven Paradigm'/><author><name>Aisyah Runi</name><uri>http://www.blogger.com/profile/09754809777891988684</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://bp3.blogger.com/_iNFxbPL4FYE/R_dMDxJPHQI/AAAAAAAAAAM/L8A99OeHoPU/S220/runi001.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4443167423047031113.post-6763201316901433062</id><published>2009-06-01T19:30:00.001-07:00</published><updated>2009-06-01T19:34:45.082-07:00</updated><title type='text'>Introduction to Access VBA</title><content type='html'>Like many professional  RDBMS (Relational Database Management Systems),&lt;br /&gt;Microsoft Access comes with its own programming language called VBA.&lt;br /&gt;VBA, or Visual Basic for Applications, is a subset of Microsoft’s popular&lt;br /&gt;enterprise programming language Visual Basic. VBA follows the Visual Basic lan-&lt;br /&gt;guage syntax and comes with many of its common features such as an integrated&lt;br /&gt;development environment (IDE) and many common controls for building profes-&lt;br /&gt;sional event-driven and data-driven applications.&lt;br /&gt;Though VBA supports the look and feel of Visual Basic, it is not Visual Basic. A&lt;br /&gt;main difference being that Visual Basic allows for creation of executable programs,&lt;br /&gt;whereas VBA does not. Moreover, VBA for Access is specifically designed for&lt;br /&gt;Microsoft Access. Meaning, it has knowledge of and support for the Microsoft&lt;br /&gt;Access object model. The concept of an object model is different for each&lt;br /&gt;Microsoft Office application. For example, both Microsoft Excel and Microsoft&lt;br /&gt;Word support VBA, but each has its own object model.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4443167423047031113-6763201316901433062?l=freemsaccess.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://freemsaccess.blogspot.com/feeds/6763201316901433062/comments/default' title='Poskan Komentar'/><link rel='replies' type='text/html' href='http://freemsaccess.blogspot.com/2009/06/introduction-to-access-vba_01.html#comment-form' title='0 Komentar'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4443167423047031113/posts/default/6763201316901433062'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4443167423047031113/posts/default/6763201316901433062'/><link rel='alternate' type='text/html' href='http://freemsaccess.blogspot.com/2009/06/introduction-to-access-vba_01.html' title='Introduction to Access VBA'/><author><name>Aisyah Runi</name><uri>http://www.blogger.com/profile/09754809777891988684</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://bp3.blogger.com/_iNFxbPL4FYE/R_dMDxJPHQI/AAAAAAAAAAM/L8A99OeHoPU/S220/runi001.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4443167423047031113.post-9195360775840648344</id><published>2009-06-01T19:30:00.000-07:00</published><updated>2009-06-01T19:31:07.222-07:00</updated><title type='text'>Introduction to Access VBA</title><content type='html'>Like many professional  RDBMS (Relational Database Management Systems),&lt;br /&gt;Microsoft Access comes with its own programming language called VBA.&lt;br /&gt;VBA, or Visual Basic for Applications, is a subset of Microsoft’s popular&lt;br /&gt;enterprise programming language Visual Basic. VBA follows the Visual Basic lan-&lt;br /&gt;guage syntax and comes with many of its common features such as an integrated&lt;br /&gt;development environment (IDE) and many common controls for building profes-&lt;br /&gt;sional event-driven and data-driven applications.&lt;br /&gt;Though VBA supports the look and feel of Visual Basic, it is not Visual Basic. A&lt;br /&gt;main difference being that Visual Basic allows for creation of executable programs,&lt;br /&gt;whereas VBA does not. Moreover, VBA for Access is specifically designed for&lt;br /&gt;Microsoft Access. Meaning, it has knowledge of and support for the Microsoft&lt;br /&gt;Access object model. The concept of an object model is different for each&lt;br /&gt;Microsoft Office application. For example, both Microsoft Excel and Microsoft&lt;br /&gt;Word support VBA, but each has its own object model.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4443167423047031113-9195360775840648344?l=freemsaccess.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://freemsaccess.blogspot.com/feeds/9195360775840648344/comments/default' title='Poskan Komentar'/><link rel='replies' type='text/html' href='http://freemsaccess.blogspot.com/2009/06/introduction-to-access-vba.html#comment-form' title='0 Komentar'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4443167423047031113/posts/default/9195360775840648344'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4443167423047031113/posts/default/9195360775840648344'/><link rel='alternate' type='text/html' href='http://freemsaccess.blogspot.com/2009/06/introduction-to-access-vba.html' title='Introduction to Access VBA'/><author><name>Aisyah Runi</name><uri>http://www.blogger.com/profile/09754809777891988684</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://bp3.blogger.com/_iNFxbPL4FYE/R_dMDxJPHQI/AAAAAAAAAAM/L8A99OeHoPU/S220/runi001.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4443167423047031113.post-8388945131139732827</id><published>2009-05-15T21:46:00.001-07:00</published><updated>2009-05-15T21:47:05.845-07:00</updated><title type='text'>Migrating to Access 2003</title><content type='html'>Migrating to Access 2003&lt;br /&gt;Depending on which previous Access version you were leveraging, migration woes range&lt;br /&gt;from none to minor. In fact, migrating from Access 2002 is real easy. In most cases you simply&lt;br /&gt;need to open your previously created Access 2002 database in Access 2003 once installed.&lt;br /&gt;Your Data Access Pages and VBA code from Access 2002 should also open in Access 2003 with&lt;br /&gt;no problems.&lt;br /&gt;If you’re migrating from Access 2000, it is also easy to upgrade as Access 2003 supports the&lt;br /&gt;same file format. Like previous versions of Access 2002 databases, Access 2003 should import&lt;br /&gt;your Access 2000 databases with no problems, including your Access 2000 VBA code. How-&lt;br /&gt;ever, you need to convert any Data Access Pages built in Access 2000 by simply opening the&lt;br /&gt;Data Access Page in Design view with an Access 2002 or higher database. Microsoft Access&lt;br /&gt;should then prompt you to convert the Data Access Page.&lt;br /&gt;For versions older than 2000, such as Access 97, you must convert the Access files first.&lt;br /&gt;Microsoft provides step-by-step procedures and toolkits for converting older Access files in&lt;br /&gt;this situation.&lt;br /&gt;For more information on converting older Access files, simply use the key phrase “convert-&lt;br /&gt;ing an Access file” in the Microsoft Office online help in Access 2003 or on the web at&lt;br /&gt;http://office.microsoft.com.&lt;br /&gt;Your First Access Data&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4443167423047031113-8388945131139732827?l=freemsaccess.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://freemsaccess.blogspot.com/feeds/8388945131139732827/comments/default' title='Poskan Komentar'/><link rel='replies' type='text/html' href='http://freemsaccess.blogspot.com/2009/05/migrating-to-access-2003.html#comment-form' title='0 Komentar'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4443167423047031113/posts/default/8388945131139732827'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4443167423047031113/posts/default/8388945131139732827'/><link rel='alternate' type='text/html' href='http://freemsaccess.blogspot.com/2009/05/migrating-to-access-2003.html' title='Migrating to Access 2003'/><author><name>Aisyah Runi</name><uri>http://www.blogger.com/profile/09754809777891988684</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://bp3.blogger.com/_iNFxbPL4FYE/R_dMDxJPHQI/AAAAAAAAAAM/L8A99OeHoPU/S220/runi001.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4443167423047031113.post-1149844735274781591</id><published>2009-01-19T18:40:00.000-08:00</published><updated>2009-05-19T18:48:08.970-07:00</updated><title type='text'>Relationships</title><content type='html'>&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;w:worddocument&gt;   &lt;w:view&gt;Normal&lt;/w:View&gt;   &lt;w:zoom&gt;0&lt;/w:Zoom&gt;   &lt;w:punctuationkerning/&gt;   &lt;w:validateagainstschemas/&gt;   &lt;w:saveifxmlinvalid&gt;false&lt;/w:SaveIfXMLInvalid&gt;   &lt;w:ignoremixedcontent&gt;false&lt;/w:IgnoreMixedContent&gt;   &lt;w:alwaysshowplaceholdertext&gt;false&lt;/w:AlwaysShowPlaceholderText&gt;   &lt;w:compatibility&gt;    &lt;w:breakwrappedtables/&gt;    &lt;w:snaptogridincell/&gt;    &lt;w:wraptextwithpunct/&gt;    &lt;w:useasianbreakrules/&gt;    &lt;w:dontgrowautofit/&gt;   &lt;/w:Compatibility&gt;   &lt;w:browserlevel&gt;MicrosoftInternetExplorer4&lt;/w:BrowserLevel&gt;  &lt;/w:WordDocument&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;w:latentstyles deflockedstate="false" latentstylecount="156"&gt;  &lt;/w:LatentStyles&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;style&gt; &lt;!--  /* Style Definitions */  p.MsoNormal, li.MsoNormal, div.MsoNormal  {mso-style-parent:"";  margin:0cm;  margin-bottom:.0001pt;  mso-pagination:widow-orphan;  font-size:12.0pt;  font-family:"Times New Roman";  mso-fareast-font-family:"Times New Roman";} p.MsoPlainText, li.MsoPlainText, div.MsoPlainText  {margin:0cm;  margin-bottom:.0001pt;  mso-pagination:widow-orphan;  font-size:10.0pt;  font-family:"Courier New";  mso-fareast-font-family:"Times New Roman";} @page Section1  {size:612.0pt 792.0pt;  margin:72.0pt 90.0pt 72.0pt 90.0pt;  mso-header-margin:36.0pt;  mso-footer-margin:36.0pt;  mso-paper-source:0;} div.Section1  {page:Section1;} --&gt; &lt;/style&gt;&lt;!--[if gte mso 10]&gt; &lt;style&gt;  /* Style Definitions */  table.MsoNormalTable  {mso-style-name:"Table Normal";  mso-tstyle-rowband-size:0;  mso-tstyle-colband-size:0;  mso-style-noshow:yes;  mso-style-parent:"";  mso-padding-alt:0cm 5.4pt 0cm 5.4pt;  mso-para-margin:0cm;  mso-para-margin-bottom:.0001pt;  mso-pagination:widow-orphan;  font-size:10.0pt;  font-family:"Times New Roman";  mso-ansi-language:#0400;  mso-fareast-language:#0400;  mso-bidi-language:#0400;} &lt;/style&gt; &lt;![endif]--&gt;  &lt;p class="MsoPlainText"&gt;&lt;br /&gt;&lt;/p&gt;  &lt;p class="MsoPlainText"&gt;&lt;/p&gt;  &lt;p class="MsoPlainText"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoPlainText"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoPlainText"&gt;As mentioned before, Access implements a relational database, allowing database developers &lt;/p&gt;  &lt;p class="MsoPlainText"&gt;&lt;/p&gt;  &lt;p class="MsoPlainText"&gt;to&lt;span style=""&gt;   &lt;/span&gt;link&lt;span style=""&gt;   &lt;/span&gt;one&lt;span style=""&gt;   &lt;/span&gt;or&lt;span style=""&gt;   &lt;/span&gt;more&lt;span style=""&gt;   &lt;/span&gt;tables&lt;span style=""&gt;   &lt;/span&gt;using&lt;span style=""&gt;   &lt;/span&gt;keys&lt;span style=""&gt;   &lt;/span&gt;or&lt;span style=""&gt;   &lt;/span&gt;relationships.&lt;span style=""&gt;   &lt;/span&gt;To&lt;span style=""&gt;   &lt;/span&gt;demonstrate,&lt;span style=""&gt;   &lt;/span&gt;follow&lt;span style=""&gt;   &lt;/span&gt;the&lt;span style=""&gt;   &lt;/span&gt;next &lt;/p&gt;  &lt;p class="MsoPlainText"&gt;&lt;/p&gt;  &lt;p class="MsoPlainText"&gt;sequence of steps to link two tables called Students and HomeWork_Results. &lt;/p&gt;  &lt;p class="MsoPlainText"&gt;&lt;/p&gt;  &lt;p class="MsoPlainText"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoPlainText"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoPlainText"&gt;&lt;span style=""&gt;   &lt;/span&gt;1. Create and save a new Access file and database. &lt;/p&gt;  &lt;p class="MsoPlainText"&gt;&lt;/p&gt;  &lt;p class="MsoPlainText"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoPlainText"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoPlainText"&gt;&lt;span style=""&gt;   &lt;/span&gt;2. Create two new tables called Students and HomeWork_Results. &lt;/p&gt;  &lt;p class="MsoPlainText"&gt;&lt;/p&gt;  &lt;p class="MsoPlainText"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoPlainText"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoPlainText"&gt;&lt;span style=""&gt;   &lt;/span&gt;3. The Studentstable should have the following fields: Student_Id (AutoNumber), &lt;/p&gt;  &lt;p class="MsoPlainText"&gt;&lt;/p&gt;  &lt;p class="MsoPlainText"&gt;&lt;span style=""&gt;      &lt;/span&gt;First_Name(Text), Last_Name(Text), Middle_Initial (Text), Gender(Text), and Age (Number). &lt;/p&gt;  &lt;p class="MsoPlainText"&gt;&lt;/p&gt;  &lt;p class="MsoPlainText"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoPlainText"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoPlainText"&gt;&lt;span style=""&gt;   &lt;/span&gt;4. Set the Student_Id in the Students table as the primary key by right-clicking the &lt;/p&gt;  &lt;p class="MsoPlainText"&gt;&lt;/p&gt;  &lt;p class="MsoPlainText"&gt;&lt;span style=""&gt;      &lt;/span&gt;Student_Id field in Design view and right-clicking the Primary Keymenu option. &lt;/p&gt;  &lt;p class="MsoPlainText"&gt;&lt;/p&gt;  &lt;p class="MsoPlainText"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoPlainText"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoPlainText"&gt;&lt;span style=""&gt;   &lt;/span&gt;5. The HomeWork_Resultstable should have the following fields: Homework_Id(Number), &lt;/p&gt;  &lt;p class="MsoPlainText"&gt;&lt;/p&gt;  &lt;p class="MsoPlainText"&gt;&lt;span style=""&gt;      &lt;/span&gt;Student_Id (Number), Homework_Completed(Yes/No), and Homework_Score(Number). &lt;/p&gt;  &lt;p class="MsoPlainText"&gt;&lt;/p&gt;  &lt;p class="MsoPlainText"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoPlainText"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoPlainText"&gt;&lt;span style=""&gt;   &lt;/span&gt;6. Set two fields as the primary key in the HomeWork_Resultstable by holding down your &lt;/p&gt;  &lt;p class="MsoPlainText"&gt;&lt;/p&gt;  &lt;p class="MsoPlainText"&gt;&lt;span style=""&gt;      &lt;/span&gt;Shift or Ctrl key and clicking both the Homework_Idand Student_Id fields. &lt;/p&gt;  &lt;p class="MsoPlainText"&gt;&lt;/p&gt;  &lt;p class="MsoPlainText"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoPlainText"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoPlainText"&gt;&lt;span style=""&gt;   &lt;/span&gt;7. While both fields are highlighted and still holding the Shift or Ctrl key, right-click in &lt;/p&gt;  &lt;p class="MsoPlainText"&gt;&lt;/p&gt;  &lt;p class="MsoPlainText"&gt;&lt;span style=""&gt;      &lt;/span&gt;the gray column to the left of one of the highlighted fields and select the Primary &lt;/p&gt;  &lt;p class="MsoPlainText"&gt;&lt;/p&gt;  &lt;p class="MsoPlainText"&gt;&lt;span style=""&gt;      &lt;/span&gt;Keymenu option. This is known as a multifield key ! &lt;/p&gt;  &lt;p class="MsoPlainText"&gt;&lt;/p&gt;  &lt;p class="MsoPlainText"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoPlainText"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoPlainText"&gt;&lt;span style=""&gt;   &lt;/span&gt;8. Ensure both tables are saved and named then select Tools, Relationships from the &lt;/p&gt;  &lt;p class="MsoPlainText"&gt;&lt;/p&gt;  &lt;p class="MsoPlainText"&gt;&lt;span style=""&gt;      &lt;/span&gt;Access menu. An interim window is displayed from where you will add both tables to &lt;/p&gt;  &lt;p class="MsoPlainText"&gt;&lt;/p&gt;  &lt;p class="MsoPlainText"&gt;&lt;span style=""&gt;      &lt;/span&gt;the relationship window. After which, the relationship window displays your two &lt;/p&gt;  &lt;p class="MsoPlainText"&gt;&lt;/p&gt;  &lt;p class="MsoPlainText"&gt;&lt;span style=""&gt;      &lt;/span&gt;new tables. Note the primary keys in both tables are highlighted in black as seen in &lt;/p&gt;  &lt;p class="MsoPlainText"&gt;&lt;/p&gt;  &lt;p class="MsoPlainText"&gt;&lt;span style=""&gt;      &lt;/span&gt;Figure 1.10. &lt;/p&gt;  &lt;p class="MsoPlainText"&gt;&lt;/p&gt;  &lt;p class="MsoPlainText"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoPlainText"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoPlainText"&gt;&lt;span style=""&gt;   &lt;/span&gt;9. Drag and drop the Student_Id field from the Students table onto the Student_Id field &lt;/p&gt;  &lt;p class="MsoPlainText"&gt;&lt;/p&gt;  &lt;p class="MsoPlainText"&gt;&lt;span style=""&gt;      &lt;/span&gt;in the HomeWork_Resultstable. A new window appears, as depicted in Figure 1.11. &lt;/p&gt;  &lt;p class="MsoPlainText"&gt;&lt;/p&gt;  &lt;p class="MsoPlainText"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoPlainText"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoPlainText"&gt;&lt;span style=""&gt;  &lt;/span&gt;10. Click the Create New button and you have created a one-to-many relationship, which &lt;/p&gt;  &lt;p class="MsoPlainText"&gt;&lt;/p&gt;  &lt;p class="MsoPlainText"&gt;&lt;span style=""&gt;      &lt;/span&gt;means for every student in the Students table, there are many occurrences of that &lt;/p&gt;  &lt;p class="MsoPlainText"&gt;&lt;/p&gt;  &lt;p class="MsoPlainText"&gt;&lt;span style=""&gt;      &lt;/span&gt;student in the HomeWork_Resultstable. &lt;/p&gt;  &lt;p class="MsoPlainText"&gt;&lt;/p&gt;  &lt;p class="MsoPlainText"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoPlainText"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoPlainText"&gt;&lt;span style=""&gt;      &lt;/span&gt;The primary key in the Students table, Student_Id, has also now become a foreign key &lt;/p&gt;  &lt;p class="MsoPlainText"&gt;&lt;/p&gt;  &lt;p class="MsoPlainText"&gt;&lt;span style=""&gt;      &lt;/span&gt;in the HomeWork_Resultstable. &lt;/p&gt;  &lt;p class="MsoPlainText"&gt;&lt;/p&gt;  &lt;p class="MsoPlainText"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoPlainText"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoPlainText"&gt;&lt;span style=""&gt;      &lt;/span&gt;You must make other considerations about a relationship: &lt;/p&gt;  &lt;p class="MsoPlainText"&gt;&lt;/p&gt;  &lt;p class="MsoPlainText"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoPlainText"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoPlainText"&gt;&lt;span style=""&gt;       &lt;/span&gt;•&lt;span style=""&gt;  &lt;/span&gt;Enforcereferential integrity, which means values entered into the foreign key must &lt;/p&gt;  &lt;p class="MsoPlainText"&gt;&lt;/p&gt;  &lt;p class="MsoPlainText"&gt;&lt;span style=""&gt;         &lt;/span&gt;match values in the primary key. &lt;/p&gt;  &lt;p class="MsoPlainText"&gt;&lt;/p&gt;  &lt;p class="MsoPlainText"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoPlainText"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoPlainText"&gt;&lt;span style=""&gt;       &lt;/span&gt;•&lt;span style=""&gt;  &lt;/span&gt;Enforcecascading updates between one or more tables, which means related updates &lt;/p&gt;  &lt;p class="MsoPlainText"&gt;&lt;/p&gt;  &lt;p class="MsoPlainText"&gt;&lt;span style=""&gt;         &lt;/span&gt;from one table’s fields are cascaded to the other table or tables in the relationship. &lt;/p&gt;  &lt;p class="MsoPlainText"&gt;&lt;/p&gt;  &lt;p class="MsoPlainText"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoPlainText"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoPlainText"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoPlainText"&gt;&lt;span style=""&gt;      &lt;/span&gt;•&lt;span style=""&gt;  &lt;/span&gt;Enforcecascading deletes between the two tables. In short, this means any relevant &lt;/p&gt;  &lt;p class="MsoPlainText"&gt;&lt;/p&gt;  &lt;p class="MsoPlainText"&gt;&lt;span style=""&gt;         &lt;/span&gt;deletions from one table cascade in the other table(s). &lt;/p&gt;  &lt;p class="MsoPlainText"&gt;&lt;/p&gt;  &lt;p class="MsoPlainText"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoPlainText"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoPlainText"&gt;&lt;span style=""&gt;      &lt;/span&gt;•&lt;span style=""&gt;  &lt;/span&gt;Both cascading updates and deletes help enforce referential integrity. &lt;/p&gt;  &lt;p class="MsoPlainText"&gt;&lt;/p&gt; &lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_iNFxbPL4FYE/ShNgikeKj3I/AAAAAAAAAQM/lGU4fo1aXxM/s1600-h/relationshipstwotables.JPG"&gt;&lt;img style="cursor: pointer; width: 400px; height: 286px;" src="http://2.bp.blogspot.com/_iNFxbPL4FYE/ShNgikeKj3I/AAAAAAAAAQM/lGU4fo1aXxM/s400/relationshipstwotables.JPG" alt="" id="BLOGGER_PHOTO_ID_5337716130386186098" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;w:worddocument&gt;   &lt;w:view&gt;Normal&lt;/w:View&gt;   &lt;w:zoom&gt;0&lt;/w:Zoom&gt;   &lt;w:punctuationkerning/&gt;   &lt;w:validateagainstschemas/&gt;   &lt;w:saveifxmlinvalid&gt;false&lt;/w:SaveIfXMLInvalid&gt;   &lt;w:ignoremixedcontent&gt;false&lt;/w:IgnoreMixedContent&gt;   &lt;w:alwaysshowplaceholdertext&gt;false&lt;/w:AlwaysShowPlaceholderText&gt;   &lt;w:compatibility&gt;    &lt;w:breakwrappedtables/&gt;    &lt;w:snaptogridincell/&gt;    &lt;w:wraptextwithpunct/&gt;    &lt;w:useasianbreakrules/&gt;    &lt;w:dontgrowautofit/&gt;   &lt;/w:Compatibility&gt;   &lt;w:browserlevel&gt;MicrosoftInternetExplorer4&lt;/w:BrowserLevel&gt;  &lt;/w:WordDocument&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;w:latentstyles deflockedstate="false" latentstylecount="156"&gt;  &lt;/w:LatentStyles&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;style&gt; &lt;!--  /* Style Definitions */  p.MsoNormal, li.MsoNormal, div.MsoNormal  {mso-style-parent:"";  margin:0cm;  margin-bottom:.0001pt;  mso-pagination:widow-orphan;  font-size:12.0pt;  font-family:"Times New Roman";  mso-fareast-font-family:"Times New Roman";} p.MsoPlainText, li.MsoPlainText, div.MsoPlainText  {margin:0cm;  margin-bottom:.0001pt;  mso-pagination:widow-orphan;  font-size:10.0pt;  font-family:"Courier New";  mso-fareast-font-family:"Times New Roman";} @page Section1  {size:612.0pt 792.0pt;  margin:72.0pt 90.0pt 72.0pt 90.0pt;  mso-header-margin:36.0pt;  mso-footer-margin:36.0pt;  mso-paper-source:0;} div.Section1  {page:Section1;} --&gt; &lt;/style&gt;&lt;!--[if gte mso 10]&gt; &lt;style&gt;  /* Style Definitions */  table.MsoNormalTable  {mso-style-name:"Table Normal";  mso-tstyle-rowband-size:0;  mso-tstyle-colband-size:0;  mso-style-noshow:yes;  mso-style-parent:"";  mso-padding-alt:0cm 5.4pt 0cm 5.4pt;  mso-para-margin:0cm;  mso-para-margin-bottom:.0001pt;  mso-pagination:widow-orphan;  font-size:10.0pt;  font-family:"Times New Roman";  mso-ansi-language:#0400;  mso-fareast-language:#0400;  mso-bidi-language:#0400;} &lt;/style&gt; &lt;![endif]--&gt;  &lt;p class="MsoPlainText"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoPlainText"&gt;Figure 1.10 &lt;/p&gt;  &lt;p class="MsoPlainText"&gt;&lt;/p&gt;  &lt;p class="MsoPlainText"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoPlainText"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoPlainText"&gt;&lt;span style=""&gt;   &lt;/span&gt;Viewing &lt;/p&gt;  &lt;p class="MsoPlainText"&gt;&lt;/p&gt;  &lt;p class="MsoPlainText"&gt;&lt;span style=""&gt; &lt;/span&gt;relationships &lt;/p&gt;  &lt;p class="MsoPlainText"&gt;&lt;/p&gt;  &lt;p class="MsoPlainText"&gt;&lt;span style=""&gt; &lt;/span&gt;between two &lt;/p&gt;  &lt;p class="MsoPlainText"&gt;&lt;/p&gt;  &lt;p class="MsoPlainText"&gt;&lt;span style=""&gt;    &lt;/span&gt;tables. &lt;/p&gt;  &lt;p class="MsoPlainText"&gt;&lt;/p&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_iNFxbPL4FYE/ShNgRWLHBWI/AAAAAAAAAQE/Wz3mkp_ZQRo/s1600-h/relationshipstwotables2.JPG"&gt;&lt;img style="cursor: pointer; width: 400px; height: 293px;" src="http://2.bp.blogspot.com/_iNFxbPL4FYE/ShNgRWLHBWI/AAAAAAAAAQE/Wz3mkp_ZQRo/s400/relationshipstwotables2.JPG" alt="" id="BLOGGER_PHOTO_ID_5337715834490389858" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;w:worddocument&gt;   &lt;w:view&gt;Normal&lt;/w:View&gt;   &lt;w:zoom&gt;0&lt;/w:Zoom&gt;   &lt;w:punctuationkerning/&gt;   &lt;w:validateagainstschemas/&gt;   &lt;w:saveifxmlinvalid&gt;false&lt;/w:SaveIfXMLInvalid&gt;   &lt;w:ignoremixedcontent&gt;false&lt;/w:IgnoreMixedContent&gt;   &lt;w:alwaysshowplaceholdertext&gt;false&lt;/w:AlwaysShowPlaceholderText&gt;   &lt;w:compatibility&gt;    &lt;w:breakwrappedtables/&gt;    &lt;w:snaptogridincell/&gt;    &lt;w:wraptextwithpunct/&gt;    &lt;w:useasianbreakrules/&gt;    &lt;w:dontgrowautofit/&gt;   &lt;/w:Compatibility&gt;   &lt;w:browserlevel&gt;MicrosoftInternetExplorer4&lt;/w:BrowserLevel&gt;  &lt;/w:WordDocument&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;w:latentstyles deflockedstate="false" latentstylecount="156"&gt;  &lt;/w:LatentStyles&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;style&gt; &lt;!--  /* Style Definitions */  p.MsoNormal, li.MsoNormal, div.MsoNormal  {mso-style-parent:"";  margin:0cm;  margin-bottom:.0001pt;  mso-pagination:widow-orphan;  font-size:12.0pt;  font-family:"Times New Roman";  mso-fareast-font-family:"Times New Roman";} p.MsoPlainText, li.MsoPlainText, div.MsoPlainText  {margin:0cm;  margin-bottom:.0001pt;  mso-pagination:widow-orphan;  font-size:10.0pt;  font-family:"Courier New";  mso-fareast-font-family:"Times New Roman";} @page Section1  {size:612.0pt 792.0pt;  margin:72.0pt 90.0pt 72.0pt 90.0pt;  mso-header-margin:36.0pt;  mso-footer-margin:36.0pt;  mso-paper-source:0;} div.Section1  {page:Section1;} --&gt; &lt;/style&gt;&lt;!--[if gte mso 10]&gt; &lt;style&gt;  /* Style Definitions */  table.MsoNormalTable  {mso-style-name:"Table Normal";  mso-tstyle-rowband-size:0;  mso-tstyle-colband-size:0;  mso-style-noshow:yes;  mso-style-parent:"";  mso-padding-alt:0cm 5.4pt 0cm 5.4pt;  mso-para-margin:0cm;  mso-para-margin-bottom:.0001pt;  mso-pagination:widow-orphan;  font-size:10.0pt;  font-family:"Times New Roman";  mso-ansi-language:#0400;  mso-fareast-language:#0400;  mso-bidi-language:#0400;} &lt;/style&gt; &lt;![endif]--&gt;  &lt;p class="MsoPlainText"&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;w:worddocument&gt;   &lt;w:view&gt;Normal&lt;/w:View&gt;   &lt;w:zoom&gt;0&lt;/w:Zoom&gt;   &lt;w:punctuationkerning/&gt;   &lt;w:validateagainstschemas/&gt;   &lt;w:saveifxmlinvalid&gt;false&lt;/w:SaveIfXMLInvalid&gt;   &lt;w:ignoremixedcontent&gt;false&lt;/w:IgnoreMixedContent&gt;   &lt;w:alwaysshowplaceholdertext&gt;false&lt;/w:AlwaysShowPlaceholderText&gt;   &lt;w:compatibility&gt;    &lt;w:breakwrappedtables/&gt;    &lt;w:snaptogridincell/&gt;    &lt;w:wraptextwithpunct/&gt;    &lt;w:useasianbreakrules/&gt;    &lt;w:dontgrowautofit/&gt;   &lt;/w:Compatibility&gt;   &lt;w:browserlevel&gt;MicrosoftInternetExplorer4&lt;/w:BrowserLevel&gt;  &lt;/w:WordDocument&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;w:latentstyles deflockedstate="false" latentstylecount="156"&gt;  &lt;/w:LatentStyles&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;style&gt; &lt;!--  /* Style Definitions */  p.MsoNormal, li.MsoNormal, div.MsoNormal  {mso-style-parent:"";  margin:0cm;  margin-bottom:.0001pt;  mso-pagination:widow-orphan;  font-size:12.0pt;  font-family:"Times New Roman";  mso-fareast-font-family:"Times New Roman";} p.MsoPlainText, li.MsoPlainText, div.MsoPlainText  {margin:0cm;  margin-bottom:.0001pt;  mso-pagination:widow-orphan;  font-size:10.0pt;  font-family:"Courier New";  mso-fareast-font-family:"Times New Roman";} @page Section1  {size:612.0pt 792.0pt;  margin:72.0pt 90.0pt 72.0pt 90.0pt;  mso-header-margin:36.0pt;  mso-footer-margin:36.0pt;  mso-paper-source:0;} div.Section1  {page:Section1;} --&gt; &lt;/style&gt;&lt;!--[if gte mso 10]&gt; &lt;style&gt;  /* Style Definitions */  table.MsoNormalTable  {mso-style-name:"Table Normal";  mso-tstyle-rowband-size:0;  mso-tstyle-colband-size:0;  mso-style-noshow:yes;  mso-style-parent:"";  mso-padding-alt:0cm 5.4pt 0cm 5.4pt;  mso-para-margin:0cm;  mso-para-margin-bottom:.0001pt;  mso-pagination:widow-orphan;  font-size:10.0pt;  font-family:"Times New Roman";  mso-ansi-language:#0400;  mso-fareast-language:#0400;  mso-bidi-language:#0400;} &lt;/style&gt; &lt;![endif]--&gt;  &lt;/p&gt;&lt;p class="MsoPlainText"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoPlainText"&gt;Figure 1.11 &lt;/p&gt;  &lt;p class="MsoPlainText"&gt;&lt;/p&gt;  &lt;p class="MsoPlainText"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoPlainText"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoPlainText"&gt;&lt;span style=""&gt;   &lt;/span&gt;Editing a &lt;/p&gt;  &lt;p class="MsoPlainText"&gt;&lt;/p&gt;  &lt;p class="MsoPlainText"&gt;&lt;span style=""&gt; &lt;/span&gt;relationship &lt;/p&gt;  &lt;p class="MsoPlainText"&gt;&lt;/p&gt;  &lt;p class="MsoPlainText"&gt;&lt;span style=""&gt; &lt;/span&gt;between two &lt;/p&gt;  &lt;p class="MsoPlainText"&gt;&lt;/p&gt;  &lt;span style=";font-family:&amp;quot;;font-size:10;"  &gt;&lt;span style=""&gt;    &lt;/span&gt;tables. &lt;/span&gt;&lt;p&gt;&lt;/p&gt;&lt;p class="MsoPlainText"&gt;To better visualize the relationship, enter a few records into the Students and &lt;/p&gt;  &lt;p class="MsoPlainText"&gt;&lt;/p&gt;  &lt;p class="MsoPlainText"&gt;&lt;span style=""&gt;       &lt;/span&gt;HomeWork_Resultstables by double-clicking each table, one at a time, from the main &lt;/p&gt;  &lt;p class="MsoPlainText"&gt;&lt;/p&gt;  &lt;p class="MsoPlainText"&gt;&lt;span style=""&gt;      &lt;/span&gt;Access window. Remember, opening a table from the main Access window allows &lt;/p&gt;  &lt;p class="MsoPlainText"&gt;&lt;/p&gt;  &lt;p class="MsoPlainText"&gt;&lt;span style=""&gt;      &lt;/span&gt;you to manage field values directly! &lt;/p&gt;  &lt;p class="MsoPlainText"&gt;&lt;/p&gt;  &lt;p class="MsoPlainText"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoPlainText"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoPlainText"&gt;&lt;span style=""&gt; &lt;/span&gt;11.&lt;span style=""&gt;   &lt;/span&gt;After you’ve entered data in both tables, open the Students table again and you &lt;/p&gt;  &lt;p class="MsoPlainText"&gt;&lt;/p&gt;  &lt;p class="MsoPlainText"&gt;&lt;span style=""&gt;       &lt;/span&gt;should see a plus sign (+) to the left of each Student_Id. &lt;/p&gt;  &lt;p class="MsoPlainText"&gt;&lt;/p&gt;  &lt;p class="MsoPlainText"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoPlainText"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoPlainText"&gt;&lt;span style=""&gt;       &lt;/span&gt;Click the plus sign and you should see the related HomeWork_Resultsrecord for the &lt;/p&gt;  &lt;p class="MsoPlainText"&gt;&lt;/p&gt;  &lt;span style=";font-family:&amp;quot;;font-size:10;"  &gt;&lt;span style=""&gt;       &lt;/span&gt;student, as depicted in Figure 1.12. &lt;/span&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_iNFxbPL4FYE/ShNfqhclQnI/AAAAAAAAAP8/o6uZkQmn0Cc/s1600-h/relationshipstwotables3.JPG"&gt;&lt;img style="cursor: pointer; width: 400px; height: 250px;" src="http://1.bp.blogspot.com/_iNFxbPL4FYE/ShNfqhclQnI/AAAAAAAAAP8/o6uZkQmn0Cc/s400/relationshipstwotables3.JPG" alt="" id="BLOGGER_PHOTO_ID_5337715167501566578" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;w:worddocument&gt;   &lt;w:view&gt;Normal&lt;/w:View&gt;   &lt;w:zoom&gt;0&lt;/w:Zoom&gt;   &lt;w:punctuationkerning/&gt;   &lt;w:validateagainstschemas/&gt;   &lt;w:saveifxmlinvalid&gt;false&lt;/w:SaveIfXMLInvalid&gt;   &lt;w:ignoremixedcontent&gt;false&lt;/w:IgnoreMixedContent&gt;   &lt;w:alwaysshowplaceholdertext&gt;false&lt;/w:AlwaysShowPlaceholderText&gt;   &lt;w:compatibility&gt;    &lt;w:breakwrappedtables/&gt;    &lt;w:snaptogridincell/&gt;    &lt;w:wraptextwithpunct/&gt;    &lt;w:useasianbreakrules/&gt;    &lt;w:dontgrowautofit/&gt;   &lt;/w:Compatibility&gt;   &lt;w:browserlevel&gt;MicrosoftInternetExplorer4&lt;/w:BrowserLevel&gt;  &lt;/w:WordDocument&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;w:latentstyles deflockedstate="false" latentstylecount="156"&gt;  &lt;/w:LatentStyles&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;style&gt; &lt;!--  /* Style Definitions */  p.MsoNormal, li.MsoNormal, div.MsoNormal  {mso-style-parent:"";  margin:0cm;  margin-bottom:.0001pt;  mso-pagination:widow-orphan;  font-size:12.0pt;  font-family:"Times New Roman";  mso-fareast-font-family:"Times New Roman";} p.MsoPlainText, li.MsoPlainText, div.MsoPlainText  {margin:0cm;  margin-bottom:.0001pt;  mso-pagination:widow-orphan;  font-size:10.0pt;  font-family:"Courier New";  mso-fareast-font-family:"Times New Roman";} @page Section1  {size:612.0pt 792.0pt;  margin:72.0pt 90.0pt 72.0pt 90.0pt;  mso-header-margin:36.0pt;  mso-footer-margin:36.0pt;  mso-paper-source:0;} div.Section1  {page:Section1;} --&gt; &lt;/style&gt;&lt;!--[if gte mso 10]&gt; &lt;style&gt;  /* Style Definitions */  table.MsoNormalTable  {mso-style-name:"Table Normal";  mso-tstyle-rowband-size:0;  mso-tstyle-colband-size:0;  mso-style-noshow:yes;  mso-style-parent:"";  mso-padding-alt:0cm 5.4pt 0cm 5.4pt;  mso-para-margin:0cm;  mso-para-margin-bottom:.0001pt;  mso-pagination:widow-orphan;  font-size:10.0pt;  font-family:"Times New Roman";  mso-ansi-language:#0400;  mso-fareast-language:#0400;  mso-bidi-language:#0400;} &lt;/style&gt; &lt;![endif]--&gt;  &lt;p class="MsoPlainText"&gt;Figure 1.12 &lt;/p&gt;  &lt;p class="MsoPlainText"&gt;&lt;/p&gt;  &lt;p class="MsoPlainText"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoPlainText"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoPlainText"&gt;&lt;span style=""&gt; &lt;/span&gt;Viewing related &lt;/p&gt;  &lt;p class="MsoPlainText"&gt;&lt;/p&gt;  &lt;p class="MsoPlainText"&gt;table information &lt;/p&gt;  &lt;p class="MsoPlainText"&gt;&lt;/p&gt;  &lt;p class="MsoPlainText"&gt;&lt;span style=""&gt;  &lt;/span&gt;after creating a &lt;/p&gt;  &lt;p class="MsoPlainText"&gt;&lt;/p&gt;  &lt;span style=";font-family:&amp;quot;;font-size:10;"  &gt;table relationship.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4443167423047031113-1149844735274781591?l=freemsaccess.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://freemsaccess.blogspot.com/feeds/1149844735274781591/comments/default' title='Poskan Komentar'/><link rel='replies' type='text/html' href='http://freemsaccess.blogspot.com/2009/01/relationships.html#comment-form' title='0 Komentar'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4443167423047031113/posts/default/1149844735274781591'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4443167423047031113/posts/default/1149844735274781591'/><link rel='alternate' type='text/html' href='http://freemsaccess.blogspot.com/2009/01/relationships.html' title='Relationships'/><author><name>Aisyah Runi</name><uri>http://www.blogger.com/profile/09754809777891988684</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://bp3.blogger.com/_iNFxbPL4FYE/R_dMDxJPHQI/AAAAAAAAAAM/L8A99OeHoPU/S220/runi001.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_iNFxbPL4FYE/ShNgikeKj3I/AAAAAAAAAQM/lGU4fo1aXxM/s72-c/relationshipstwotables.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4443167423047031113.post-5237456456895735548</id><published>2009-01-17T17:41:00.000-08:00</published><updated>2009-05-19T17:51:36.998-07:00</updated><title type='text'>Your First Access Database</title><content type='html'>&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;w:worddocument&gt;   &lt;w:view&gt;Normal&lt;/w:View&gt;   &lt;w:zoom&gt;0&lt;/w:Zoom&gt;   &lt;w:punctuationkerning/&gt;   &lt;w:validateagainstschemas/&gt;   &lt;w:saveifxmlinvalid&gt;false&lt;/w:SaveIfXMLInvalid&gt;   &lt;w:ignoremixedcontent&gt;false&lt;/w:IgnoreMixedContent&gt;   &lt;w:alwaysshowplaceholdertext&gt;false&lt;/w:AlwaysShowPlaceholderText&gt;   &lt;w:compatibility&gt;    &lt;w:breakwrappedtables/&gt;    &lt;w:snaptogridincell/&gt;    &lt;w:wraptextwithpunct/&gt;    &lt;w:useasianbreakrules/&gt;    &lt;w:dontgrowautofit/&gt;   &lt;/w:Compatibility&gt;   &lt;w:browserlevel&gt;MicrosoftInternetExplorer4&lt;/w:BrowserLevel&gt;  &lt;/w:WordDocument&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;w:latentstyles deflockedstate="false" latentstylecount="156"&gt;  &lt;/w:LatentStyles&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;style&gt; &lt;!--  /* Style Definitions */  p.MsoNormal, li.MsoNormal, div.MsoNormal  {mso-style-parent:"";  margin:0cm;  margin-bottom:.0001pt;  mso-pagination:widow-orphan;  font-size:12.0pt;  font-family:"Times New Roman";  mso-fareast-font-family:"Times New Roman";} p.MsoPlainText, li.MsoPlainText, div.MsoPlainText  {margin:0cm;  margin-bottom:.0001pt;  mso-pagination:widow-orphan;  font-size:10.0pt;  font-family:"Courier New";  mso-fareast-font-family:"Times New Roman";} @page Section1  {size:612.0pt 792.0pt;  margin:72.0pt 90.0pt 72.0pt 90.0pt;  mso-header-margin:36.0pt;  mso-footer-margin:36.0pt;  mso-paper-source:0;} div.Section1  {page:Section1;} --&gt; &lt;/style&gt;&lt;!--[if gte mso 10]&gt; &lt;style&gt;  /* Style Definitions */  table.MsoNormalTable  {mso-style-name:"Table Normal";  mso-tstyle-rowband-size:0;  mso-tstyle-colband-size:0;  mso-style-noshow:yes;  mso-style-parent:"";  mso-padding-alt:0cm 5.4pt 0cm 5.4pt;  mso-para-margin:0cm;  mso-para-margin-bottom:.0001pt;  mso-pagination:widow-orphan;  font-size:10.0pt;  font-family:"Times New Roman";  mso-ansi-language:#0400;  mso-fareast-language:#0400;  mso-bidi-language:#0400;} &lt;/style&gt; &lt;![endif]--&gt;      &lt;p class="MsoPlainText"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoPlainText"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;          &lt;p class="MsoPlainText"&gt;IT professionals, teachers, students, accountants, managers, scientists, computer enthusiasts, and many more people just like you have a need to collect and manage data. Data that is complex or changes frequently is best stored and managed in a database such as Access. &lt;/p&gt;    &lt;p class="MsoPlainText"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoPlainText"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;                  &lt;p class="MsoPlainText"&gt;Let’s&lt;span style=""&gt;   &lt;/span&gt;say&lt;span style=""&gt;   &lt;/span&gt;you&lt;span style=""&gt;   &lt;/span&gt;are&lt;span style=""&gt;   &lt;/span&gt;a&lt;span style=""&gt;   &lt;/span&gt;school&lt;span style=""&gt;   &lt;/span&gt;teacher&lt;span style=""&gt;   &lt;/span&gt;who&lt;span style=""&gt;   &lt;/span&gt;has&lt;span style=""&gt;   &lt;/span&gt;a&lt;span style=""&gt;   &lt;/span&gt;list&lt;span style=""&gt;   &lt;/span&gt;of&lt;span style=""&gt;   &lt;/span&gt;students,&lt;span style=""&gt;   &lt;/span&gt;attendance,&lt;span style=""&gt;   &lt;/span&gt;grades,&lt;span style=""&gt;   &lt;/span&gt;tests, quizzes, and homework. You could keep track of your students, their attendance, grades, and such in a notebook or in an electronic document. But suppose one of your students has a name change in the middle of the school year. To solve this record-keeping issue, you need to update all occurrences of this student’s name in your lists, whether paper or electronic. &lt;/p&gt;    &lt;p class="MsoPlainText"&gt;In a well-designed Access database, you only need to make this change once. &lt;/p&gt;    &lt;p class="MsoPlainText"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;        &lt;p class="MsoPlainText"&gt;&lt;o:p&gt;&lt;br /&gt;&lt;/o:p&gt;&lt;/p&gt;              &lt;p class="MsoPlainText"&gt;Databases allow you to ask questions of your data. For example, you could group your students by their grade point average, find out which students missed fewer than 3 school days, and which students have failed to turn in 10 or more homework assignments and have a grade point average less than 2.0. &lt;/p&gt;    &lt;p class="MsoPlainText"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoPlainText"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;          &lt;p class="MsoPlainText"&gt;Access implements a relational database to link information such as homework results to one or more students. Looking at Figure 1.1, you can easily see how Access links a student to one or more homework assignments using tables and keys. &lt;/p&gt;    &lt;p class="MsoPlainText"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoPlainText"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoPlainText"&gt;&lt;span style=""&gt;      &lt;/span&gt;TRICK&lt;span style=""&gt;         &lt;/span&gt;A&lt;span style=""&gt;  &lt;/span&gt;relational database stores data in separate tables by subject matter and pro- &lt;/p&gt;    &lt;p class="MsoPlainText"&gt;&lt;span style=""&gt;                    &lt;/span&gt;vides a system or user-defined link (key) between the tables to produce useful &lt;/p&gt;    &lt;p class="MsoPlainText"&gt;&lt;span style=""&gt;                    &lt;/span&gt;information through the relationship. &lt;/p&gt;    &lt;p class="MsoPlainText"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoPlainText"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoPlainText"&gt;&lt;span style=""&gt;   &lt;/span&gt;Figure 1.1 &lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_iNFxbPL4FYE/ShNTOO4NIbI/AAAAAAAAAP0/fwOL515m_i4/s1600-h/relationalinMSAccess.JPG"&gt;&lt;img style="cursor: pointer; width: 400px; height: 253px;" src="http://3.bp.blogspot.com/_iNFxbPL4FYE/ShNTOO4NIbI/AAAAAAAAAP0/fwOL515m_i4/s400/relationalinMSAccess.JPG" alt="" id="BLOGGER_PHOTO_ID_5337701487341281714" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p class="MsoPlainText"&gt;&lt;/p&gt;  &lt;p class="MsoPlainText"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoPlainText"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoPlainText"&gt;&lt;span style=""&gt; &lt;/span&gt;Relational data in &lt;/p&gt;  &lt;p class="MsoPlainText"&gt;&lt;/p&gt;  &lt;p class="MsoPlainText"&gt;Microsoft Access. &lt;/p&gt;  &lt;p class="MsoPlainText"&gt;&lt;/p&gt;  &lt;p class="MsoPlainText"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoPlainText"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;    &lt;p class="MsoPlainText"&gt;The two sets of tables in Figure 1.1 are relational in that the&lt;span style=""&gt;  &lt;/span&gt;HomeWork_Results table main&lt;span style=";font-family:&amp;quot;;font-size:85%;"  &gt;tains a student key (in other words, a relationship) back to the Students table.&lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4443167423047031113-5237456456895735548?l=freemsaccess.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://freemsaccess.blogspot.com/feeds/5237456456895735548/comments/default' title='Poskan Komentar'/><link rel='replies' type='text/html' href='http://freemsaccess.blogspot.com/2009/01/your-first-access-database.html#comment-form' title='0 Komentar'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4443167423047031113/posts/default/5237456456895735548'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4443167423047031113/posts/default/5237456456895735548'/><link rel='alternate' type='text/html' href='http://freemsaccess.blogspot.com/2009/01/your-first-access-database.html' title='Your First Access Database'/><author><name>Aisyah Runi</name><uri>http://www.blogger.com/profile/09754809777891988684</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://bp3.blogger.com/_iNFxbPL4FYE/R_dMDxJPHQI/AAAAAAAAAAM/L8A99OeHoPU/S220/runi001.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_iNFxbPL4FYE/ShNTOO4NIbI/AAAAAAAAAP0/fwOL515m_i4/s72-c/relationalinMSAccess.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4443167423047031113.post-6663398937274861462</id><published>2009-01-15T21:43:00.000-08:00</published><updated>2009-05-15T21:44:33.730-07:00</updated><title type='text'>Getting Started with Access 2003</title><content type='html'>Microsoft has done a great job making Access 2003 intuitive and easy to learn by&lt;br /&gt;providing a simple interface and an excellent help system. If you’re already famil-&lt;br /&gt;iar with previous versions of Access databases, you’ll appreciate the new and&lt;br /&gt;updated functionality for&lt;br /&gt;• Viewing object dependencies&lt;br /&gt;• Enabling automatic error checking in forms and reports&lt;br /&gt;• Propagating control property changes to bound fields&lt;br /&gt;• Smart Tags with Access objects&lt;br /&gt;• Database backups&lt;br /&gt;• XML support&lt;br /&gt;• Improved Microsoft Office online help&lt;br /&gt;• Collaborate development efforts with friends and colleagues using Microsoft&lt;br /&gt;SharePoint Services&lt;br /&gt;• Improved macro and function security&lt;br /&gt;• Context-based help for SQL view&lt;br /&gt;• Manage SQL Server databases with Access projects&lt;br /&gt;• Updated Microsoft Office 2003 Object Model&lt;br /&gt;• New Visual Basic objects, properties, and methods&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4443167423047031113-6663398937274861462?l=freemsaccess.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://freemsaccess.blogspot.com/feeds/6663398937274861462/comments/default' title='Poskan Komentar'/><link rel='replies' type='text/html' href='http://freemsaccess.blogspot.com/2009/01/getting-started-with-access-2003.html#comment-form' title='0 Komentar'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4443167423047031113/posts/default/6663398937274861462'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4443167423047031113/posts/default/6663398937274861462'/><link rel='alternate' type='text/html' href='http://freemsaccess.blogspot.com/2009/01/getting-started-with-access-2003.html' title='Getting Started with Access 2003'/><author><name>Aisyah Runi</name><uri>http://www.blogger.com/profile/09754809777891988684</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://bp3.blogger.com/_iNFxbPL4FYE/R_dMDxJPHQI/AAAAAAAAAAM/L8A99OeHoPU/S220/runi001.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4443167423047031113.post-4388560802966294517</id><published>2008-12-31T15:24:00.000-08:00</published><updated>2008-12-31T15:39:59.985-08:00</updated><title type='text'>MS-Access and E-Mail</title><content type='html'>&lt;div style="text-align: justify;"&gt;It is unlikely that you will use Microsoft Access to send your personal e-mails through Internet, when so many other options are available to you.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;But, when you need to share information from your Access Application with remotely located users regularly and you are sending printed &lt;a href="http://msaccesstips.com/2007/08/highlighting-reports.shtml"&gt;Repor&lt;/a&gt;&lt;a href="http://msaccesstips.com/2007/08/highlighting-reports.shtml"&gt;ts&lt;/a&gt; through conventional mail services then you can seriously think about the e-mail option.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;If you are connected to a Local Area Network (LAN) you can distribute Reports to the recipients through Intranet Mail Service Applications like Lotus Notes.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;For both Internet and Intranet mails to work Microsoft Outlook must be configured to act as a communication link between Microsoft Access and the Mail Transport; the SMTP Server of your Internet Service Provider(ISP) or the Intranet Mail Transport, like Lotus Notes. If you are already using Microsoft Outlook for Sending and Receiving e-mails then it is already configured. MS-Outlook will maintain the Contact List from which we can select the prospective mail recipients.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;NB:&lt;/b&gt; The procedure for configuring Microsoft Outlook is beyond the scope of this Article. You may refer the Help topics of Microsoft Outlook or Help documents provided by your ISP for guidance. But, we will go through the procedure while configuring MS-Outlook for Lotus Notes for Intranet Mails in the forthcoming Posts.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;There are two versions of Microsoft Outlook installations. The normal one that we see on our PCs, for Internet Mails and the Intranet type for &lt;i&gt;Corporate or Workgroups&lt;/i&gt;. You can check your installation version by displaying the &lt;i&gt;About Microsoft Outlook&lt;/i&gt; Screen from the &lt;b&gt;Help&lt;/b&gt; Menu. If it is a &lt;i&gt;Corporate or Workgroup&lt;/i&gt; installation this exact label will appear on the top area of the &lt;b&gt;About&lt;/b&gt; Screen.&lt;br /&gt;&lt;br /&gt;Let us explore few scenarios that warrants for sending e-mails from Microsoft Access.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Your Company is a Service oriented Organization, like a Bank, and you want to send Birthday Greetings to your Customers automatically or need to inform them the revision of Interest Rates on Fixed Deposits.&lt;br /&gt;&lt;br /&gt;&lt;center&gt;&lt;br /&gt;OR&lt;/center&gt;&lt;br /&gt;&lt;br /&gt;Your Company enters into Agency Agreements with other Parties, which is renewable periodically and your Access Application should monitor and send Mail Alerts to the respective Departments well in advance so that they can act in time for renewal of Agency Agreements.&lt;br /&gt;&lt;br /&gt;&lt;center&gt;&lt;br /&gt;OR&lt;br /&gt;&lt;/center&gt;&lt;br /&gt;Your company extends Credits to the Customers based on renewable Bank Guarantees and your Access Application should send mail alerts to the parties concerned for taking it up with the Customers well before renewals are due.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;In all the above or similar scenarios we can automate the Mail Alert procedure with the help of programs and we will look into a sample procedure for sending e-mails automatically through Lotus Notes, at the end of this series.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;In the meantime let us look into a simple mail sending example that sends a Report as attachment, in &lt;b&gt;Microsoft Access Snapsh&lt;/b&gt;&lt;b&gt;ot Format&lt;/b&gt;, manually.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;ol style="text-align: justify;"&gt;&lt;li&gt;Open your Database and Click on a Report (avoid the &lt;a href="http://msaccesstips.com/2007/10/dynamic-report.shtml"&gt;Dynamic Report&lt;/a&gt; that we have created in the earlier session).&lt;/li&gt;&lt;/ol&gt;&lt;ol style="text-align: justify;"&gt;&lt;br /&gt;&lt;li&gt;Point your mouse on the &lt;b&gt;Send To..&lt;/b&gt; option in &lt;a href="http://msaccesstips.com/2007/07/custom-menus-and-tool-bars.shtml"&gt;File Menu&lt;/a&gt; and Click on &lt;b&gt;Mail Recipient (as Attachment)&lt;/b&gt;.&lt;/li&gt;&lt;br /&gt;&lt;/ol&gt;&lt;ol style="text-align: justify;"&gt;&lt;br /&gt;&lt;li&gt;Select &lt;b&gt;Snapshot Format&lt;/b&gt; from the displayed file formats menu.&lt;/li&gt;&lt;/ol&gt;&lt;ol style="text-align: justify;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;li&gt;A dialogue control will open up asking to select the Mail Transport Profile already configured in Microsoft Outlook, or you can create a new profile.&lt;/li&gt;&lt;/ol&gt;&lt;ol style="text-align: justify;"&gt;&lt;li&gt;Select the default profile that you are using to send your e-mails. If you select the options and set this as the default Profile then this dialog control will not appear next time.&lt;/li&gt;&lt;/ol&gt;&lt;ol style="text-align: justify;"&gt;&lt;li&gt;When you click &lt;b&gt;OK&lt;/b&gt; the e-mail Editor Screen will appear and you can modify your mail before sending it.&lt;/li&gt;&lt;/ol&gt; See the image below.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_iNFxbPL4FYE/SVwBTX8D_RI/AAAAAAAAAEs/bVCHgpncEpc/s1600-h/EMail1_3.jpg"&gt;&lt;img style="cursor: pointer; width: 320px; height: 230px;" src="http://3.bp.blogspot.com/_iNFxbPL4FYE/SVwBTX8D_RI/AAAAAAAAAEs/bVCHgpncEpc/s320/EMail1_3.jpg" alt="" id="BLOGGER_PHOTO_ID_5286101494981197074" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;ol style="text-align: justify;"&gt;&lt;li&gt;Click on the &lt;b&gt;To… &lt;/b&gt;Button to pick e-mail addresses from the Contacts List of Microsoft Outlook. The &lt;b&gt;Cc…&lt;/b&gt; Button also works the same way.&lt;/li&gt;&lt;br /&gt;&lt;/ol&gt;&lt;ol style="text-align: justify;"&gt;&lt;br /&gt;&lt;li&gt;You can see the Report that we have selected is already converted into Microsoft Access Snapshot Format and attached to the Mail. Instead, if you prefer to send an external Object like Word or Excel File you can Click on the &lt;b&gt;Attach…&lt;/b&gt; Button and select the file from your Hard Disk.&lt;/li&gt;&lt;br /&gt;&lt;br /&gt;&lt;li&gt;The right side blue colored panel will not appear till you click on the &lt;b&gt;Attachment Option…&lt;/b&gt; Button that you see next to the blue colored panel. &lt;/li&gt;&lt;br /&gt;&lt;br /&gt;Two options are provided and the default one is the Regular Attachment option, which sends individual copies of the attachment to each recipient. The second option is for Intranet Mails that will save the attachment in a common location where everybody can share the same file. You can ignore this Option&lt;/ol&gt;&lt;ol style="text-align: justify;"&gt;.&lt;br /&gt;&lt;br /&gt;&lt;/ol&gt;&lt;ol style="text-align: justify;"&gt;&lt;br /&gt;&lt;li&gt;You can compose your mail in Plain Text and click the &lt;b&gt;Send&lt;/b&gt; Button on the Toolbar above. Microsoft Outlook will take care of the rest.&lt;/li&gt;&lt;/ol&gt;&lt;div style="text-align: justify;"&gt;A sample image of the &lt;b&gt;Sent Items&lt;/b&gt; display of Microsoft Outlook 2003 is given below for reference.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_iNFxbPL4FYE/SVwBTXK5dFI/AAAAAAAAAE0/ByJ5_jTLf6A/s1600-h/MailSentItem.jpg"&gt;&lt;img style="cursor: pointer; width: 320px; height: 145px;" src="http://1.bp.blogspot.com/_iNFxbPL4FYE/SVwBTXK5dFI/AAAAAAAAAE0/ByJ5_jTLf6A/s320/MailSentItem.jpg" alt="" id="BLOGGER_PHOTO_ID_5286101494774985810" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;If you are sending a regular Report as attachment with fixed wordings of mail body text then you can automate this action with a Macro. See the &lt;b&gt;SendObject&lt;/b&gt; Command and its settings in the Macro image below:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_iNFxbPL4FYE/SVwBTv_WgKI/AAAAAAAAAE8/Gjsv2jL2Bag/s1600-h/emailMacro.jpg"&gt;&lt;img style="cursor: pointer; width: 320px; height: 267px;" src="http://3.bp.blogspot.com/_iNFxbPL4FYE/SVwBTv_WgKI/AAAAAAAAAE8/Gjsv2jL2Bag/s320/emailMacro.jpg" alt="" id="BLOGGER_PHOTO_ID_5286101501437444258" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;The &lt;b&gt;SendObject&lt;/b&gt; Command is selected in the &lt;b&gt;Action&lt;/b&gt; Grid. The E-Mail Field values are filled-in in the Property Sheet of the &lt;b&gt;SendObject&lt;/b&gt; command below. If you don’t want to send an Access Object as attachment then you can leave the first three property values empty. If you set the &lt;b&gt;‘Edit Message’&lt;/b&gt; property to &lt;b&gt;Yes&lt;/b&gt; then the E-Mail Client will open for editing as we did earlier, otherwise the mail will be passed on to Microsoft Outlook, without appearing on the screen, for sending through Internet.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;You can attach this Macro to a &lt;a href="http://msaccesstips.com/2006/09/command-button-animation.shtml"&gt;Command Button&lt;/a&gt; or run the macro from VB Code using &lt;b&gt;Docmd.Runmacro “MacroName”&lt;/b&gt;. If you want to control the frequency of the e-mails with the Report attachment then you must set up procedure to cross check the scheduled Date or Day before running the macro. We will look into such a program that sends mail automatically when it hits the weekly schedule, at the end of this series.&lt;br /&gt;&lt;br /&gt;Next, we will explore the procedure that involves configuring Lotus Notes to use as Mail Transport to send e-mails within Local Area Network (LAN).&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4443167423047031113-4388560802966294517?l=freemsaccess.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://freemsaccess.blogspot.com/feeds/4388560802966294517/comments/default' title='Poskan Komentar'/><link rel='replies' type='text/html' href='http://freemsaccess.blogspot.com/2008/12/ms-access-and-e-mail.html#comment-form' title='0 Komentar'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4443167423047031113/posts/default/4388560802966294517'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4443167423047031113/posts/default/4388560802966294517'/><link rel='alternate' type='text/html' href='http://freemsaccess.blogspot.com/2008/12/ms-access-and-e-mail.html' title='MS-Access and E-Mail'/><author><name>Aisyah Runi</name><uri>http://www.blogger.com/profile/09754809777891988684</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://bp3.blogger.com/_iNFxbPL4FYE/R_dMDxJPHQI/AAAAAAAAAAM/L8A99OeHoPU/S220/runi001.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_iNFxbPL4FYE/SVwBTX8D_RI/AAAAAAAAAEs/bVCHgpncEpc/s72-c/EMail1_3.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4443167423047031113.post-7716108339631463505</id><published>2008-12-31T14:55:00.000-08:00</published><updated>2008-12-31T15:00:49.466-08:00</updated><title type='text'>Custom Report Wizard</title><content type='html'>After designing and working with a Form Wizard it is natural to think about designing a Report Wizard too. Because of the designing task of a Form and Report is almost same, except Page Footer with Page Number and date.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;If you have gone through the designing task of the Form Wizard then you don't have to do it again. Please go through the earlier Post: &lt;a href="http://www.msaccesstips.com/2008/12/custom-made-form-wizard.shtml"&gt;Custom made Form Wizard &lt;/a&gt;to understand the designing task of the &lt;b&gt;FormWizard&lt;/b&gt; or to download it from there.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Do the following few simple steps and the ReportWizard is ready:&lt;br /&gt;&lt;br /&gt;&lt;ol&gt;&lt;br /&gt;&lt;li&gt;Make a copy of the FormWizard and rename it as ReportWizard.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Open the ReportWizard in Design View.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Change the List Box and Combo Box headings to read as Report Format and Select Table/Query for Report respectively.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Change the word Form to Report in the left side labels.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Display the Code Module of the ReportWizard by selecting &lt;b&gt;View&lt;/b&gt; - -&gt;&lt;b&gt;Code&lt;/b&gt; (or &lt;b&gt;Alt+F11&lt;/b&gt;).&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Press &lt;b&gt;Ctrl+A&lt;/b&gt; to select the entire Code in the Form Module and press &lt;b&gt;Delete&lt;/b&gt; Key to delete the Code.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Copy and Paste the Code given below into the ReportWizard Form Module and save the Form:&lt;/li&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;Option Compare Database&lt;br /&gt;Option Explicit&lt;br /&gt;Dim DarkBlue As Long, twips As Long, xtyp As Integer, strFile As String&lt;br /&gt;Dim MaxSeq As Integer&lt;br /&gt;Private Sub cmdBack_Click()&lt;br /&gt;  Me.Page1.Visible = True&lt;br /&gt;  Me.Page1.SetFocus&lt;br /&gt;  Me.Page2.Visible = False&lt;br /&gt;&lt;br /&gt;End Sub&lt;br /&gt;&lt;br /&gt;Private Sub cmdCancel_Click()&lt;br /&gt;DoCmd.Close acForm, Me.NAME&lt;br /&gt;End Sub&lt;br /&gt;&lt;br /&gt;Private Sub cmdCancel2_Click()&lt;br /&gt;DoCmd.Close acForm, Me.NAME&lt;br /&gt;End Sub&lt;br /&gt;&lt;br /&gt;Private Sub cmdForm_Click()&lt;br /&gt;If xtyp = 1 Then&lt;br /&gt;  Columns&lt;br /&gt;Else&lt;br /&gt;  Tabular&lt;br /&gt;End If&lt;br /&gt;DoCmd.Close acForm, Me.NAME&lt;br /&gt;&lt;br /&gt;cmdForm_Click_Exit:&lt;br /&gt;Exit Sub&lt;br /&gt;&lt;br /&gt;cmdForm_Click_Err:&lt;br /&gt;MsgBox Err.Description, , "cmdForm_Click"&lt;br /&gt;Resume cmdForm_Click_Exit&lt;br /&gt;End Sub&lt;br /&gt;&lt;br /&gt;Private Sub cmdNext_Click()&lt;br /&gt;Dim vizlist As ListBox, lcount As Integer, chkflag As Boolean&lt;br /&gt;Dim FildList As ListBox, strName As String, strRSource As String&lt;br /&gt;Dim cdb As Database, doc As Document&lt;br /&gt;Dim Tbl As TableDef, Qry As QueryDef, QryTyp As Integer&lt;br /&gt;Dim flag As Byte, FieldCount As Integer, j As Integer&lt;br /&gt;&lt;br /&gt;On Error GoTo cmdNext_Click_Err&lt;br /&gt;&lt;br /&gt;Set vizlist = Me.WizList&lt;br /&gt;lcount = vizlist.listcount - 1&lt;br /&gt;&lt;br /&gt;chkflag = False&lt;br /&gt;For j = 0 To lcount&lt;br /&gt; If vizlist.Selected(j) = True Then&lt;br /&gt;   xtyp = j + 1&lt;br /&gt;   chkflag = True&lt;br /&gt; End If&lt;br /&gt;Next&lt;br /&gt;&lt;br /&gt;If IsNull(Me![FilesList]) = True Then&lt;br /&gt;  MsgBox "Select a File from Table/Query List. ", vbOKOnly + vbExclamation, "cmdNext"&lt;br /&gt;  Me.WizList.Selected(0) = True&lt;br /&gt;Else&lt;br /&gt;   strFile = Me!FilesList&lt;br /&gt;&lt;br /&gt;  Me.Page2.Visible = True&lt;br /&gt;  Me.Page2.SetFocus&lt;br /&gt;  Me.Page1.Visible = False&lt;br /&gt; &lt;br /&gt;Set cdb = CurrentDb&lt;br /&gt;flag = 0&lt;br /&gt;For Each Tbl In cdb.TableDefs&lt;br /&gt;   If Tbl.NAME = strFile Then&lt;br /&gt;      flag = 1&lt;br /&gt;   End If&lt;br /&gt;Next&lt;br /&gt;For Each Qry In cdb.QueryDefs&lt;br /&gt;   If Qry.NAME = strFile Then&lt;br /&gt;      flag = 2&lt;br /&gt;   End If&lt;br /&gt;Next&lt;br /&gt;If flag = 1 Then&lt;br /&gt;   Set Tbl = cdb.TableDefs(strFile)&lt;br /&gt;   Set FildList = Me.FldList&lt;br /&gt;   strRSource = ""&lt;br /&gt;   FieldCount = Tbl.Fields.Count - 1&lt;br /&gt;   For j = 0 To FieldCount&lt;br /&gt;       If Len(strRSource) = 0 Then&lt;br /&gt;           strRSource = Tbl.Fields(j).NAME&lt;br /&gt;       Else&lt;br /&gt;           strRSource = strRSource &amp;amp; ";" &amp;amp; Tbl.Fields(j).NAME&lt;br /&gt;       End If&lt;br /&gt;   Next&lt;br /&gt;ElseIf flag = 2 Then&lt;br /&gt;   Set Qry = cdb.QueryDefs(strFile)&lt;br /&gt;   strRSource = ""&lt;br /&gt;   FieldCount = Qry.Fields.Count - 1&lt;br /&gt;   For j = 0 To FieldCount&lt;br /&gt;       If Len(strRSource) = 0 Then&lt;br /&gt;           strRSource = Qry.Fields(j).NAME&lt;br /&gt;       Else&lt;br /&gt;           strRSource = strRSource &amp;amp; ";" &amp;amp; Qry.Fields(j).NAME&lt;br /&gt;       End If&lt;br /&gt;   Next&lt;br /&gt;End If&lt;br /&gt;&lt;br /&gt;Me.FldList.RowSource = strRSource&lt;br /&gt;End If&lt;br /&gt;&lt;br /&gt;cmdNext_Click_Exit:&lt;br /&gt;Exit Sub&lt;br /&gt;&lt;br /&gt;cmdNext_Click_Err:&lt;br /&gt;MsgBox Err &amp;amp; ": " &amp;amp; Err.Description, , "cmdNext_Click"&lt;br /&gt;Resume cmdNext_Click_Exit&lt;br /&gt;End Sub&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Private Sub FilesList_NotInList(NewData As String, Response As Integer)&lt;br /&gt;'Not in List&lt;br /&gt;End Sub&lt;br /&gt;&lt;br /&gt;Private Sub Form_Load()&lt;br /&gt;Dim strRSource As String, FList As ComboBox&lt;br /&gt;Dim cdb As Database, MaxTables As Integer, rst As Recordset&lt;br /&gt;Dim Tbl As TableDef, Qry As QueryDef, fld As Field&lt;br /&gt;Dim j As Integer, strSQL1 As String, rstcount As Integer&lt;br /&gt;Dim MaxSeq As Integer, mMax&lt;br /&gt;&lt;br /&gt;On Error Resume Next&lt;br /&gt;&lt;br /&gt;strSQL1 = "SELECT MSysObjects.Name " _&lt;br /&gt;&amp;amp; "FROM MSysObjects  " _&lt;br /&gt;&amp;amp; "WHERE (((MSysObjects.Type)=1 Or (MSysObjects.Type)=5) " _&lt;br /&gt;&amp;amp; "AND ((Left([Name],4))&lt;&gt;'WizQ') AND ((Left([Name],1))&lt;&gt;'~') " _&lt;br /&gt;&amp;amp; "AND ((MSysObjects.Flags)=0)) " _&lt;br /&gt;&amp;amp; "ORDER BY MSysObjects.Type, MSysObjects.Name; "&lt;br /&gt;&lt;br /&gt;mMax = 100&lt;br /&gt;DoCmd.Restore&lt;br /&gt;&lt;br /&gt;DarkBlue = 8388608&lt;br /&gt;twips = 1440&lt;br /&gt;&lt;br /&gt;Set cdb = CurrentDb&lt;br /&gt;Set Qry = cdb.QueryDefs("WizQuery")&lt;br /&gt;If Err = 3265 Then&lt;br /&gt; Set Qry = cdb.CreateQueryDef("WizQuery")&lt;br /&gt; Qry.sql = strSQL1&lt;br /&gt; cdb.QueryDefs.Append Qry&lt;br /&gt; cdb.QueryDefs.Refresh&lt;br /&gt; Err.Clear&lt;br /&gt;End If&lt;br /&gt;&lt;br /&gt;Me.FilesList.RowSource = "WizQuery"&lt;br /&gt;Me.FilesList.Requery&lt;br /&gt;&lt;br /&gt;Form_Open_Exit:&lt;br /&gt;Exit Sub&lt;br /&gt;&lt;br /&gt;Form_Open_Err:&lt;br /&gt;MsgBox Err &amp;amp; ": " &amp;amp; Err.Description, , "Form_Open"&lt;br /&gt;Resume Form_Open_Exit&lt;br /&gt;End Sub&lt;br /&gt;&lt;br /&gt;Private Sub cmdLeft_Click()&lt;br /&gt;LeftAll 1&lt;br /&gt;End Sub&lt;br /&gt;&lt;br /&gt;Private Sub cmdLeftAll_Click()&lt;br /&gt;LeftAll 2&lt;br /&gt;End Sub&lt;br /&gt;Private Sub cmdright_Click()&lt;br /&gt;RightAll 1&lt;br /&gt;End Sub&lt;br /&gt;&lt;br /&gt;Private Sub cmdRightAll_Click()&lt;br /&gt;RightAll 2&lt;br /&gt;End Sub&lt;br /&gt;&lt;br /&gt;Public Function Tabular()&lt;br /&gt;Dim cdb As Database, FldList() As String, Ctrl As Control&lt;br /&gt;Dim Rpt As Report, lngTxtLeft As Long, lngTxtTop As Long, lngTxtHeight As Long&lt;br /&gt;Dim Rpttemp As Report, lngLblleft As Long, lngLblTop As Long, lngLblheight As Long&lt;br /&gt;Dim lngtxtwidth As Long, lnglblwidth As Long, FldCheck As Boolean&lt;br /&gt;Dim strTblQry As String, intflds As Integer, lstcount As Long&lt;br /&gt;Dim RptFields As ListBox, j As Integer, mMax&lt;br /&gt;Dim PgSection As Section, DetSection As Section&lt;br /&gt;&lt;br /&gt;'Create Report with Selected Fields&lt;br /&gt;&lt;br /&gt;On Error Resume Next&lt;br /&gt;&lt;br /&gt;Set RptFields = Me.SelList&lt;br /&gt;lstcount = RptFields.listcount&lt;br /&gt;&lt;br /&gt;If lstcount = 0 Then&lt;br /&gt;  MsgBox "Fields Not Selected for Report! "&lt;br /&gt;  Exit Function&lt;br /&gt;Else&lt;br /&gt;  lstcount = lstcount - 1&lt;br /&gt;End If&lt;br /&gt;&lt;br /&gt;ReDim FldList(0 To lstcount) As String&lt;br /&gt;&lt;br /&gt;Set cdb = CurrentDb&lt;br /&gt;Set Rpt = CreateReport&lt;br /&gt;Set PgSection = Rpt.Section(acPageHeader)&lt;br /&gt;   PgSection.Height = 0.6667 * twips&lt;br /&gt;&lt;br /&gt;Set DetSection = Rpt.Section(acDetail)&lt;br /&gt;   DetSection.Height = 0.1667 * twips&lt;br /&gt;&lt;br /&gt;For j = 0 To lstcount&lt;br /&gt; FldList(j) = RptFields.ItemData(j)&lt;br /&gt;Next&lt;br /&gt;&lt;br /&gt;With Rpt&lt;br /&gt;   .Caption = strFile&lt;br /&gt;   .RecordSource = strFile&lt;br /&gt;  &lt;br /&gt;   lngtxtwidth = 0.5 * twips&lt;br /&gt;   lngTxtLeft = 0.073 * twips&lt;br /&gt;   lngTxtTop = 0&lt;br /&gt;   lngTxtHeight = 0.1668 * twips&lt;br /&gt;&lt;br /&gt;   lnglblwidth = lngtxtwidth&lt;br /&gt;   lngLblleft = lngTxtLeft&lt;br /&gt;   lngLblTop = 0.5 * twips&lt;br /&gt;   lngLblheight = lngTxtHeight&lt;br /&gt;End With&lt;br /&gt;&lt;br /&gt;For j = 0 To lstcount&lt;br /&gt;  Set Ctrl = CreateReportControl(Rpt.NAME, acTextBox, acDetail, , FldList(j), lngTxtLeft, lngTxtTop, lngtxtwidth, lngTxtHeight)&lt;br /&gt;   With Ctrl&lt;br /&gt;      .ControlSource = FldList(j)&lt;br /&gt;      .ForeColor = DarkBlue&lt;br /&gt;      .BorderColor = DarkBlue&lt;br /&gt;      .BorderStyle = 1&lt;br /&gt;      .NAME = FldList(j)&lt;br /&gt;      lngTxtLeft = lngTxtLeft + (0.5 * twips)&lt;br /&gt;   End With&lt;br /&gt; &lt;br /&gt;  Set Ctrl = CreateReportControl(Rpt.NAME, acLabel, acPageHeader, , FldList(j), lngLblleft, lngLblTop, lnglblwidth, lngLblheight)&lt;br /&gt;   With Ctrl&lt;br /&gt;      .Caption = FldList(j)&lt;br /&gt;      .NAME = FldList(j) &amp;amp; " Label"&lt;br /&gt;      .Width = (0.5 * twips)&lt;br /&gt;      .ForeColor = DarkBlue&lt;br /&gt;      .BorderColor = DarkBlue&lt;br /&gt;      .BorderColor = 0&lt;br /&gt;      .BorderStyle = 1&lt;br /&gt;      .FontWeight = 700 ' Bold&lt;br /&gt;      lngLblleft = lngLblleft + (0.5 * twips)&lt;br /&gt;   End With&lt;br /&gt;Next&lt;br /&gt;&lt;br /&gt;lnglblwidth = 4.5 * twips&lt;br /&gt;lngLblleft = 0.073 * twips&lt;br /&gt;lngLblTop = 0.0521 * twips&lt;br /&gt;lngLblheight = 0.323 &amp;amp; twips&lt;br /&gt;lnglblwidth = 4.5 &amp;amp; twips&lt;br /&gt;Set Ctrl = CreateReportControl(Rpt.NAME, acLabel, acPageHeader, , "Head1", lngLblleft, lngLblTop, lnglblwidth, lngLblheight)&lt;br /&gt;  With Ctrl&lt;br /&gt;       .Caption = strFile&lt;br /&gt;       .TextAlign = 2&lt;br /&gt;       .Width = 4.5 * twips&lt;br /&gt;       .Height = 0.38 * twips&lt;br /&gt;       .ForeColor = DarkBlue&lt;br /&gt;       .BorderStyle = 0&lt;br /&gt;       .BorderColor = DarkBlue&lt;br /&gt;       .FontName = "Times New Roman"&lt;br /&gt;       .FontSize = 16&lt;br /&gt;       .FontWeight = 700 ' Bold&lt;br /&gt;       .FontItalic = True&lt;br /&gt;       .FontUnderline = True&lt;br /&gt;  End With&lt;br /&gt;On Error GoTo Tabular_Err&lt;br /&gt;&lt;br /&gt;Page_Footer Rpt&lt;br /&gt;&lt;br /&gt;DoCmd.OpenReport Rpt.NAME, acViewPreview&lt;br /&gt;&lt;br /&gt;Tabular_Exit:&lt;br /&gt;Exit Function&lt;br /&gt;&lt;br /&gt;Tabular_Err:&lt;br /&gt;MsgBox Err.Description, , "Tabular"&lt;br /&gt;Resume Tabular_Exit&lt;br /&gt;End Function&lt;br /&gt;&lt;br /&gt;Public Function Columns()&lt;br /&gt;Dim cdb As Database, FldList() As String, Ctrl As Control&lt;br /&gt;Dim Rpt As Report, lngTxtLeft As Long, lngTxtTop As Long, lngTxtHeight As Long&lt;br /&gt;Dim lngLblleft As Long, lngLblTop As Long, lngLblheight As Long&lt;br /&gt;Dim lngtxtwidth As Long, lnglblwidth As Long, FldCheck As Boolean&lt;br /&gt;Dim strTblQry As String, intflds As Integer, lstcount As Long&lt;br /&gt;Dim FrmFields As ListBox, j As Integer, mMax&lt;br /&gt;Dim HdSection As Section, DetSection As Section&lt;br /&gt;&lt;br /&gt;'Create Report with Selected Fields&lt;br /&gt;&lt;br /&gt;On Error Resume Next&lt;br /&gt;&lt;br /&gt;Set FrmFields = Me.SelList&lt;br /&gt;lstcount = FrmFields.listcount&lt;br /&gt;&lt;br /&gt;If lstcount = 0 Then&lt;br /&gt;  MsgBox "Fields Not Selected for Report! "&lt;br /&gt;  Exit Function&lt;br /&gt;Else&lt;br /&gt;  lstcount = lstcount - 1&lt;br /&gt;End If&lt;br /&gt;&lt;br /&gt;ReDim FldList(0 To lstcount) As String&lt;br /&gt;&lt;br /&gt;Set cdb = CurrentDb&lt;br /&gt;Set Rpt = CreateReport&lt;br /&gt;&lt;br /&gt;Set HdSection = Rpt.Section(acPageHeader)&lt;br /&gt;   HdSection.Height = 0.6667 * twips&lt;br /&gt;&lt;br /&gt;Set DetSection = Rpt.Section(acDetail)&lt;br /&gt;   DetSection.Height = 0.166 * twips&lt;br /&gt;&lt;br /&gt;For j = 0 To lstcount&lt;br /&gt; FldList(j) = FrmFields.ItemData(j)&lt;br /&gt;Next&lt;br /&gt;&lt;br /&gt;With Rpt&lt;br /&gt;   .Caption = strFile&lt;br /&gt;   .RecordSource = strFile&lt;br /&gt;   lngtxtwidth = 1.5 * twips&lt;br /&gt;   lngTxtLeft = 1.1 * twips&lt;br /&gt;   lngTxtTop = 0.0417 * twips&lt;br /&gt;   lngTxtHeight = 0.2181 * twips&lt;br /&gt;&lt;br /&gt;   lnglblwidth = lngtxtwidth&lt;br /&gt;   lngLblleft = 0.073 * twips&lt;br /&gt;   lngLblTop = 0.0417 * twips&lt;br /&gt;   lngLblheight = 0.2181 * twips&lt;br /&gt;End With&lt;br /&gt;&lt;br /&gt;For j = 0 To lstcount&lt;br /&gt;&lt;br /&gt;  Set Ctrl = CreateReportControl(Rpt.NAME, acTextBox, acDetail, , FldList(j), lngTxtLeft, lngTxtTop, lngtxtwidth, lngTxtHeight)&lt;br /&gt;   With Ctrl&lt;br /&gt;      .ControlSource = FldList(j)&lt;br /&gt;      .FontName = "Verdana"&lt;br /&gt;      .FontSize = 8&lt;br /&gt;      .FontWeight = 700&lt;br /&gt;      .ForeColor = DarkBlue&lt;br /&gt;      .BorderColor = DarkBlue&lt;br /&gt;      .NAME = FldList(j)&lt;br /&gt;      .BackColor = RGB(255, 255, 255)&lt;br /&gt;      .BorderStyle = 1&lt;br /&gt;      .SpecialEffect = 0&lt;br /&gt;      If (j / 9) = 1 Or (j / 9) = 2 Or (j / 9) = 3 Then&lt;br /&gt;       lngTxtTop = (0.0417 * twips)&lt;br /&gt;       lngTxtLeft = lngTxtLeft + (2.7084 * twips)&lt;br /&gt;      Else&lt;br /&gt;       lngTxtTop = lngTxtTop + .Height + (0.1 * twips)&lt;br /&gt;      End If&lt;br /&gt;   End With&lt;br /&gt;&lt;br /&gt;  Set Ctrl = CreateReportControl(Rpt.NAME, acLabel, acDetail, FldList(j), FldList(j), lngLblleft, lngLblTop, lnglblwidth, lngLblheight)&lt;br /&gt;   With Ctrl&lt;br /&gt;      .Caption = FldList(j)&lt;br /&gt;      .Height = (0.2181 * twips)&lt;br /&gt;      .NAME = FldList(j) &amp;amp; " Label"&lt;br /&gt;      .Width = twips&lt;br /&gt;      .ForeColor = 0&lt;br /&gt;      .BorderStyle = 0&lt;br /&gt;      .FontWeight = 400&lt;br /&gt;      If (j / 9) = 1 Or (j / 9) = 2 Or (j / 9) = 3 Then&lt;br /&gt;       lngLblTop = (0.0417 * twips)&lt;br /&gt;       lngLblleft = lngLblleft + (2.7083 * twips)&lt;br /&gt;      Else&lt;br /&gt;       lngLblTop = lngLblTop + .Height + (0.1 * twips)&lt;br /&gt;      End If&lt;br /&gt;   End With&lt;br /&gt;Next&lt;br /&gt;&lt;br /&gt;lnglblwidth = 4.5 * twips&lt;br /&gt;lngLblleft = 0.073 * twips&lt;br /&gt;lngLblTop = 0.0521 * twips&lt;br /&gt;lngLblheight = 0.323 &amp;amp; twips&lt;br /&gt;lnglblwidth = 4.5 &amp;amp; twips&lt;br /&gt;Set Ctrl = CreateReportControl(Rpt.NAME, acLabel, acPageHeader, , "Head1", lngLblleft, lngLblTop, lnglblwidth, lngLblheight)&lt;br /&gt;  With Ctrl&lt;br /&gt;       .Caption = strFile&lt;br /&gt;       .TextAlign = 2&lt;br /&gt;       .Width = 4.5 * twips&lt;br /&gt;       .Height = 0.38 * twips&lt;br /&gt;       .ForeColor = DarkBlue&lt;br /&gt;       .BorderStyle = 0&lt;br /&gt;       .BorderColor = DarkBlue&lt;br /&gt;       .FontName = "Times New Roman"&lt;br /&gt;       .FontSize = 20&lt;br /&gt;       .FontWeight = 700 ' Bold&lt;br /&gt;       .FontItalic = True&lt;br /&gt;       .FontUnderline = True&lt;br /&gt;  End With&lt;br /&gt; &lt;br /&gt;DoCmd.OpenReport Rpt.NAME, acViewPreview&lt;br /&gt;&lt;br /&gt;Columns_Exit:&lt;br /&gt;Exit Function&lt;br /&gt;&lt;br /&gt;Columns_Err:&lt;br /&gt;MsgBox Err.Description, , "Columns"&lt;br /&gt;Resume Columns_Exit&lt;br /&gt;End Function&lt;br /&gt;&lt;br /&gt;Public Function Page_Footer(ByRef obj)&lt;br /&gt;Dim lngWidth As Long, ctrwidth As Long, ctrlCount As Long&lt;br /&gt;Dim j As Long, cdb As Database&lt;br /&gt;Dim lngleft As Long, lngtop As Long, LineCtrl As Control, Ctrl As Control&lt;br /&gt;Dim rptSection As Section, leftmost As Long, lngheight As Long&lt;br /&gt;Dim rightmost As Long, RightIndx As Integer&lt;br /&gt;'&lt;br /&gt;'Note : The Controls appearing in Detail Section from left to Right&lt;br /&gt;'       is not indexed 0 to nn in the order of placing,&lt;br /&gt;'       instead 1st control placed in the Section has index value 0&lt;br /&gt;'       irrespective of its current position.&lt;br /&gt;'&lt;br /&gt;'On Error GoTo Page_Footer_Err&lt;br /&gt;&lt;br /&gt;Set cdb = CurrentDb&lt;br /&gt;Set rptSection = obj.Section(acDetail)&lt;br /&gt;&lt;br /&gt;ctrlCount = rptSection.Controls.Count - 1&lt;br /&gt;&lt;br /&gt;lngleft = rptSection.Controls(0).Left&lt;br /&gt;rightmost = rptSection.Controls(0).Left&lt;br /&gt;'indexed 0 control may not be the leftmost control on the Form/Report&lt;br /&gt;'so find the leftmost control's left value&lt;br /&gt;For j = 0 To ctrlCount&lt;br /&gt;leftmost = rptSection.Controls(j).Left&lt;br /&gt;&lt;br /&gt;If leftmost &lt; lngleft Then&lt;br /&gt;  lngleft = leftmost&lt;br /&gt;End If&lt;br /&gt;If leftmost &gt; rightmost Then&lt;br /&gt;  rightmost = leftmost&lt;br /&gt;  RightIndx = j&lt;br /&gt;End If&lt;br /&gt;Next&lt;br /&gt;&lt;br /&gt;lngtop = 0.0208 * 1440&lt;br /&gt;lngWidth = 0: ctrwidth = 0&lt;br /&gt;&lt;br /&gt;  lngWidth = rightmost + rptSection.Controls(RightIndx).Width&lt;br /&gt;  lngWidth = lngWidth - lngleft&lt;br /&gt; &lt;br /&gt; Set LineCtrl = CreateReportControl(obj.NAME, acLine, acPageFooter, "", "", lngleft, lngtop, lngWidth, 0)&lt;br /&gt; Set Ctrl = LineCtrl&lt;br /&gt; LineCtrl.BorderColor = 12632256&lt;br /&gt; LineCtrl.BorderWidth = 2&lt;br /&gt; LineCtrl.NAME = "ULINE"&lt;br /&gt;&lt;br /&gt;lngtop = 0.0418 * 1440&lt;br /&gt;lngleft = LineCtrl.Left&lt;br /&gt;lngWidth = 2 * 1440&lt;br /&gt;lngheight = 0.229 * 1440&lt;br /&gt;&lt;br /&gt;'draw PageNo control at the Report footer&lt;br /&gt;Set LineCtrl = CreateReportControl(obj.NAME, acTextBox, acPageFooter, "", "", lngleft, lngtop, lngWidth, lngheight)&lt;br /&gt;With LineCtrl&lt;br /&gt;  .ControlSource = "='Page : ' &amp;amp; [page] &amp;amp; ' / ' &amp;amp; [pages] "&lt;br /&gt;  .NAME = "PageNo"&lt;br /&gt;  .FontName = "Verdana"&lt;br /&gt;  .FontSize = 10&lt;br /&gt;  .FontWeight = 700&lt;br /&gt;  .TextAlign = 1&lt;br /&gt;End With&lt;br /&gt;'draw Date Control at the right edge of the Line Control&lt;br /&gt;'calculate left position of Date control&lt;br /&gt;&lt;br /&gt;lngleft = (LineCtrl.Left + Ctrl.Width) - lngWidth&lt;br /&gt;Set LineCtrl = CreateReportControl(obj.NAME, acTextBox, acPageFooter, "", "", lngleft, lngtop, lngWidth, lngheight)&lt;br /&gt;With LineCtrl&lt;br /&gt;  .ControlSource = "='Date : ' &amp;amp; Format(Date(),'dd/mm/yyyy') "&lt;br /&gt;  .NAME = "Dated"&lt;br /&gt;  .FontName = "Verdana"&lt;br /&gt;  .FontSize = 10&lt;br /&gt;  .FontWeight = 700&lt;br /&gt;  .TextAlign = 3&lt;br /&gt;End With&lt;br /&gt;&lt;br /&gt;Page_Footer_Exit:&lt;br /&gt;Exit Function&lt;br /&gt;&lt;br /&gt;Page_Footer_Err:&lt;br /&gt;MsgBox Err.Description, "Page_Footer"&lt;br /&gt;Resume Page_Footer_Exit&lt;br /&gt;End Function&lt;br /&gt;&lt;br /&gt;Private Function RightAll(ByVal SelectionType As Integer)&lt;br /&gt;Dim FldList As ListBox, SelctList As ListBox, strRSource As String&lt;br /&gt;Dim listcount As Long, j As Long, strRS2 As String&lt;br /&gt;&lt;br /&gt;On Error GoTo RightAll_Err&lt;br /&gt;If SelectionType = 0 Then&lt;br /&gt;  Exit Function&lt;br /&gt;End If&lt;br /&gt;Set FldList = Me.FldList&lt;br /&gt;Set SelctList = Me.SelList&lt;br /&gt;&lt;br /&gt;listcount = FldList.listcount - 1&lt;br /&gt;strRSource = SelctList.RowSource: strRS2 = ""&lt;br /&gt;&lt;br /&gt;Select Case SelectionType&lt;br /&gt;   Case 1&lt;br /&gt;       For j = 0 To listcount&lt;br /&gt;           If FldList.Selected(j) = True Then&lt;br /&gt;               If Len(strRSource) = 0 Then&lt;br /&gt;                   strRSource = FldList.ItemData(j)&lt;br /&gt;               Else&lt;br /&gt;                   strRSource = strRSource &amp;amp; ";" &amp;amp; FldList.ItemData(j)&lt;br /&gt;               End If&lt;br /&gt;           Else&lt;br /&gt;               If Len(strRS2) = 0 Then&lt;br /&gt;                   strRS2 = FldList.ItemData(j)&lt;br /&gt;               Else&lt;br /&gt;                   strRS2 = strRS2 &amp;amp; ";" &amp;amp; FldList.ItemData(j)&lt;br /&gt;               End If&lt;br /&gt;           End If&lt;br /&gt;       Next&lt;br /&gt;       SelctList.RowSource = strRSource&lt;br /&gt;       FldList.RowSource = strRS2&lt;br /&gt;       SelctList.Requery&lt;br /&gt;       FldList.Requery&lt;br /&gt;   Case 2&lt;br /&gt;&lt;br /&gt;       For j = 0 To listcount&lt;br /&gt;           If Len(strRSource) = 0 Then&lt;br /&gt;               strRSource = FldList.ItemData(j)&lt;br /&gt;           Else&lt;br /&gt;               strRSource = strRSource &amp;amp; ";" &amp;amp; FldList.ItemData(j)&lt;br /&gt;           End If&lt;br /&gt;       Next&lt;br /&gt;       SelctList.RowSource = strRSource&lt;br /&gt;       FldList.RowSource = ""&lt;br /&gt;       SelctList.Requery&lt;br /&gt;       FldList.Requery&lt;br /&gt;End Select&lt;br /&gt;&lt;br /&gt;RightAll_Exit:&lt;br /&gt;Exit Function&lt;br /&gt;&lt;br /&gt;RightAll_Err:&lt;br /&gt;MsgBox Err.Description, , "RightAll"&lt;br /&gt;Resume RightAll_Exit&lt;br /&gt;End Function&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Private Function LeftAll(ByVal SelectionType As Integer)&lt;br /&gt;Dim FldList As ListBox, SelctList As ListBox, strRSource As String&lt;br /&gt;Dim listcount As Long, j As Long, strRS2 As String&lt;br /&gt;&lt;br /&gt;On Error GoTo LeftAll_Err&lt;br /&gt;&lt;br /&gt;If SelectionType = 0 Then&lt;br /&gt;  Exit Function&lt;br /&gt;End If&lt;br /&gt;&lt;br /&gt;Set FldList = Me.FldList&lt;br /&gt;Set SelctList = Me.SelList&lt;br /&gt;&lt;br /&gt;listcount = SelctList.listcount - 1&lt;br /&gt;strRSource = FldList.RowSource: strRS2 = ""&lt;br /&gt;&lt;br /&gt;Select Case SelectionType&lt;br /&gt;   Case 1&lt;br /&gt;       For j = 0 To listcount&lt;br /&gt;           If SelctList.Selected(j) = True Then&lt;br /&gt;               If Len(strRSource) = 0 Then&lt;br /&gt;                   strRSource = SelctList.ItemData(j)&lt;br /&gt;               Else&lt;br /&gt;                   strRSource = strRSource &amp;amp; ";" &amp;amp; SelctList.ItemData(j)&lt;br /&gt;               End If&lt;br /&gt;           Else&lt;br /&gt;               If Len(strRS2) = 0 Then&lt;br /&gt;                   strRS2 = SelctList.ItemData(j)&lt;br /&gt;               Else&lt;br /&gt;                   strRS2 = strRS2 &amp;amp; ";" &amp;amp; SelctList.ItemData(j)&lt;br /&gt;               End If&lt;br /&gt;           End If&lt;br /&gt;       Next&lt;br /&gt;       SelctList.RowSource = strRS2&lt;br /&gt;       FldList.RowSource = strRSource&lt;br /&gt;       SelctList.Requery&lt;br /&gt;       FldList.Requery&lt;br /&gt;   Case 2&lt;br /&gt;       For j = 0 To listcount&lt;br /&gt;           If Len(strRSource) = 0 Then&lt;br /&gt;               strRSource = SelctList.ItemData(j)&lt;br /&gt;           Else&lt;br /&gt;               strRSource = strRSource &amp;amp; ";" &amp;amp; SelctList.ItemData(j)&lt;br /&gt;           End If&lt;br /&gt;       Next&lt;br /&gt;       SelctList.RowSource = ""&lt;br /&gt;       FldList.RowSource = strRSource&lt;br /&gt;       SelctList.Requery&lt;br /&gt;       FldList.Requery&lt;br /&gt;End Select&lt;br /&gt;&lt;br /&gt;LeftAll_Exit:&lt;br /&gt;Exit Function&lt;br /&gt;&lt;br /&gt;LeftAll_Err:&lt;br /&gt;MsgBox Err.Description, , "LeftAll"&lt;br /&gt;Resume LeftAll_Exit&lt;br /&gt;&lt;br /&gt;End Function&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;li&gt;Open the ReportWizard in Normal View.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Select a Table or Query from the Combo Box.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Select Tabular Wizard option from above.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Click OK to load the selected Table/Query Field List and open the List of Fields.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Select the Fields for the Report from the List Box.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Click Finish to create the Report.&lt;/li&gt;&lt;br /&gt;&lt;/ol&gt;&lt;br /&gt;Normally, after creating the Report we need to modify the Detail Section Controls to make their sizes according to the data type and field sizes. After these changes the Report Footer created by the Wizard may not match with the modification that we have made. But, we already have a solution for this in an earlier Post with the Title: &lt;a href="http://www.msaccesstips.com/2007/08/reports-page-border.shtml"&gt;Reports Page Border&lt;/a&gt;. One of the following two Programs presented there can be used for drawing a new Page Footer (after deleting the existing Page Footer) or to resize it after changes made to the Detail Section Controls.&lt;br /&gt;&lt;br /&gt;&lt;ol&gt;&lt;br /&gt;&lt;li&gt;DrawPageFooter()&lt;/li&gt;&lt;br /&gt;&lt;li&gt;ReSizePageFooter()&lt;/li&gt;&lt;br /&gt;&lt;/ol&gt;&lt;br /&gt;There are other Reports related Functions also presented there to make Report Designing tasks easier. You may take a look at them as well.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;You can create beautiful &lt;b&gt;3D Headings&lt;/b&gt; on the Report or Form with Labels or Text Boxes (Text Box values can be drawn from data Fields). Take a look at the sample Report Headings created with a &lt;b&gt;3D-Text Creation Wizard&lt;/b&gt;:&lt;br /&gt;&lt;br /&gt;&lt;center&gt;&lt;br /&gt;&lt;a href="http://msaccesstips.com/uploaded_images/riportheadings-729284.jpg"&gt;&lt;img style="cursor: pointer; width: 320px; height: 108px;" src="http://msaccesstips.com/uploaded_images/riportheadings-729277.jpg" alt="3D Headings for Access Report" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/center&gt;&lt;br /&gt;The following four Posts are dedicated for &lt;b&gt;3D Text Styles&lt;/b&gt; and you can download the &lt;b&gt;3D-Text Wizard&lt;/b&gt; from any of them:&lt;br /&gt;&lt;br /&gt;&lt;ol&gt;&lt;br /&gt;&lt;li&gt;&lt;a href="http://www.msaccesstips.com/2006/09/create-3d-headings-on-forms.shtml"&gt;Create 3D Headings on Forms&lt;/a&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href="http://www.msaccesstips.com/2006/09/border2d-heading-text.shtml"&gt;Border 2D Heading Text&lt;/a&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href="http://www.msaccesstips.com/2006/09/border3d-heading.shtml"&gt;Border 3D Heading&lt;/a&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href="http://www.msaccesstips.com/2006/09/shadow3d-heading-style.shtml"&gt;Shadow 3D Heading Style&lt;/a&gt;&lt;/li&gt;&lt;br /&gt;&lt;/ol&gt;&lt;br /&gt;After creating the 3D-Text you can customize it by changing the Fonts, Fore-Color and Styles like Bold, Italics or Underline.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4443167423047031113-7716108339631463505?l=freemsaccess.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://freemsaccess.blogspot.com/feeds/7716108339631463505/comments/default' title='Poskan Komentar'/><link rel='replies' type='text/html' href='http://freemsaccess.blogspot.com/2008/12/custom-report-wizard.html#comment-form' title='0 Komentar'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4443167423047031113/posts/default/7716108339631463505'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4443167423047031113/posts/default/7716108339631463505'/><link rel='alternate' type='text/html' href='http://freemsaccess.blogspot.com/2008/12/custom-report-wizard.html' title='Custom Report Wizard'/><author><name>Aisyah Runi</name><uri>http://www.blogger.com/profile/09754809777891988684</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://bp3.blogger.com/_iNFxbPL4FYE/R_dMDxJPHQI/AAAAAAAAAAM/L8A99OeHoPU/S220/runi001.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4443167423047031113.post-3306194654112278328</id><published>2008-12-14T17:58:00.000-08:00</published><updated>2008-12-14T18:09:53.701-08:00</updated><title type='text'>Access Password Recovery Master</title><content type='html'>&lt;p&gt;&lt;b&gt;Access Password Recovery Master&lt;/b&gt; is a program that helps the user to recover lost or forgotten passwords for MS Access database files (*.MDB) and user-level passwords stored in the workgroup information file (*.MDW).&lt;/p&gt;                           &lt;div id="mac_button"&gt;&lt;img src="http://www.rixler.com/design/eng/images/button_left.gif" alt="" border="0" vspace="0" width="16" height="28" hspace="0" /&gt;&lt;a href="http://www.rixler.com/purchase_apasrec.htm"&gt;Purchase&lt;/a&gt;&lt;img src="http://www.rixler.com/design/eng/images/button_right.gif" alt="" border="0" vspace="0" width="16" height="28" hspace="0" /&gt;&lt;/div&gt;         &lt;div id="mac_button"&gt;&lt;img src="http://www.rixler.com/design/eng/images/button_left.gif" alt="" border="0" vspace="0" width="16" height="28" hspace="0" /&gt;&lt;a href="http://www.rixler.com/download.htm" rel="nofollow"&gt;Download&lt;/a&gt;&lt;img src="http://www.rixler.com/design/eng/images/button_right.gif" alt="" border="0" vspace="0" width="16" height="28" hspace="0" /&gt;&lt;/div&gt;                                               &lt;h2&gt;Overview&lt;/h2&gt;                             &lt;p&gt; MS Access is one of the most popular database programs used in millions of offices worldwide. Password protection is an important feature that limits access to authorized personnel only and prevents strangers from obtaining confidential data. Unfortunately, people do lose or forget their passwords, making it impossible to access that data. Luckily, it does not mean that the data is lost forever. &lt;/p&gt;  &lt;p&gt; &lt;i&gt;Access Password Recovery Master&lt;/i&gt; does exactly what the name says – recovers passwords for protected MS Access databases. The program recovers MDB passwords for the MS Access documents and user-level passwords for the workgroup information files (*.mdw). The software automatically finds recently accessed *.mdb files and, if it is password protected, displays file name and the password for it. User-level passwords from workgroup information files (*.mdw) are restored in a similar manner. The software is extremely simple. The retrieved information can be stored in the formatted text file or copied to clipboard. Importantly, the program is capable of recovering passwords containing non-English characters as well – a feature that not all password recovery applications offer. &lt;/p&gt;  &lt;div id="opinions_in_main"&gt;&lt;div id="header"&gt;&lt;h2&gt;Opinions&lt;/h2&gt;&lt;/div&gt;       &lt;div id="opinion"&gt;  &lt;p&gt;&lt;em&gt; The software worked great!  Thanks!&lt;br /&gt;&lt;/em&gt;&lt;/p&gt;  &lt;strong&gt; Trevor Giberson&lt;/strong&gt; &lt;/div&gt;    &lt;div id="opinion_bottom"&gt;&lt;a href="http://www.rixler.com/opinions/access_password_recovery.htm" onclick="popup('opinions/access_password_recovery.htm', 'popup_opinion')" target="popup_opinion"&gt;More opinions&lt;/a&gt; | &lt;a href="http://www.rixler.com/opinions/?programm=438"&gt;Add opinion&lt;/a&gt;&lt;/div&gt;  &lt;/div&gt;      &lt;br /&gt;                  &lt;h2&gt;Related Software&lt;/h2&gt;           &lt;p style="margin-left: 30px;"&gt;          &lt;a href="http://www.rixler.com/office_password_recovery_toolbox.htm"&gt;Office Password Recovery Toolbox&lt;/a&gt;&lt;br /&gt;        &lt;/p&gt;      &lt;br /&gt;                  &lt;h2&gt;Features and benefits&lt;/h2&gt;                             &lt;ul&gt;&lt;li&gt;All versions of MS Access are supported (including MS Access 2003). &lt;/li&gt;&lt;li&gt;Recovers passwords for MS Access database files (*.MDB). &lt;/li&gt;&lt;li&gt;Recovers user-level passwords stored in the workgroup information files (*.MDW). &lt;/li&gt;&lt;li&gt;Multilingual passwords are supported. &lt;/li&gt;&lt;li&gt;All passwords recovered instantly. &lt;/li&gt;&lt;li&gt;Stores retrieved information in a formatted text file. &lt;/li&gt;&lt;li&gt;Allows to copy recovered passwords to clipboard. &lt;/li&gt;&lt;li&gt;Easy and user-friendly interface. &lt;/li&gt;&lt;/ul&gt;       &lt;br /&gt;                    &lt;h2&gt;User interface&lt;/h2&gt;                             &lt;p&gt; The main window of the program containes two tabs having the following titles: &lt;/p&gt;  &lt;ul&gt;&lt;li&gt;&lt;b&gt;MDB Files Passwords&lt;/b&gt; - displayes Microsoft Access database passwords (passwords for the *.mdb files);&lt;/li&gt;&lt;li&gt;&lt;b&gt;User-level Passwords&lt;/b&gt; - displayes names of MS Access users and their passwords.&lt;/li&gt;&lt;/ul&gt;  &lt;p&gt;When the program starts, it tries to find recent MDB files opened in the Microsoft Access by scaning the system registry. If the found file is protected with a password, the program shows it in its main window, on the first tab. On the second tab the program shows the names of the MS Access users and their passwords retrieved from the default workgroup information file. So, when running the program you can see all the information retrieved. &lt;/p&gt;     &lt;img src="http://www.rixler.com/var/plain_site/storage/images/media/images/english_site/access_password_recovery_master.gif/2520-1-rus-RU/access_password_recovery_master.gif.gif" style="border: 0px none ;" alt="" class="screen_shot" title="" width="506" height="365" /&gt;         &lt;br /&gt;                     &lt;h2&gt;System requirements&lt;/h2&gt;                             &lt;ul&gt;&lt;li&gt;Windows 9x, ME, NT 4.0, 2000, XP, 2003.&lt;/li&gt;&lt;li&gt;The program supports MS Access 97 / 2000 / XP / 2003.&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4443167423047031113-3306194654112278328?l=freemsaccess.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://freemsaccess.blogspot.com/feeds/3306194654112278328/comments/default' title='Poskan Komentar'/><link rel='replies' type='text/html' href='http://freemsaccess.blogspot.com/2008/12/access-password-recovery-master.html#comment-form' title='0 Komentar'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4443167423047031113/posts/default/3306194654112278328'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4443167423047031113/posts/default/3306194654112278328'/><link rel='alternate' type='text/html' href='http://freemsaccess.blogspot.com/2008/12/access-password-recovery-master.html' title='Access Password Recovery Master'/><author><name>Aisyah Runi</name><uri>http://www.blogger.com/profile/09754809777891988684</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://bp3.blogger.com/_iNFxbPL4FYE/R_dMDxJPHQI/AAAAAAAAAAM/L8A99OeHoPU/S220/runi001.jpg'/></author><thr:total>0</thr:total></entry></feed>
