Navigation:  Articles > Feb-1998 >

Developing a Certified Access Study Guide

Previous pageReturn to chapter overviewNext page

Angela J. Reeves Jones          
 
Studying for the Microsoft certification exam can be overwhelming. You might be considering taking advantage of the study guides appearing on the market. Here's an inside look at how they're made. And, if you've ever thought about using your Access knowledge to get into the book business, here's what it looks like.
 
Hi. My name is Sarah Laughton, and I work with New Riders Publishing. Janelle Wright gave me your name as someone who might be interested in becoming a contributing author to the MCSD Training Guide: Microsoft Access book for our upcoming MCSD Training Guide series . . ."
 
I read the e-mail four times before I decided it wasn't a joke. Janelle (names have been changed) was my supervisor and mentor when I taught Access end-user classes for a national training company. We'd kept in touch, so she knew I'd passed my Access 95 exam, but I didn't know she had contacts in publishing!
 
Getting going
When I called Sarah, she filled me in on MacMillan Publishing and study guides (see the sidebar, "The World of the Study Guide").
 
Sarah was looking for authors. I met the obvious qualification -- I'd passed the certification exam -- but beyond that, she wanted people actively involved in the field with solid communication skills. Since I'm a full-time Access analyst/developer with a background in professional Access training, I was a strong candidate. In my case, it also helped that I've passed the Windows 95 certification exam as well, so New Riders knew that I had the experience of taking the certification exams. Randomly enough, I was also a creative writing major in college, so I love to write (which didn't hurt my qualifications).
 
The process the book was to go through was fairly straightforward. I needed to choose which chapters I was interested in authoring, submit chapter outlines for approval (proof that I could write), and sign some contracts. I'd have approximately two weeks to write an average of 40 pages for each chapter. The pay was about a month's salary for all four chapters (vague enough for you?). I'd be paid in installments as I finished. No royalties for me, although I understand that authors with more publishing experience sometimes receive them.
 
I convinced my bosses that this would benefit the company enough for them to let me stay home without pay on Fridays during the eight weeks (thanks, Jim and Brad!). My husband and I talked it over: Is it worth losing a social life for two months? Do I really think I can do this? What if the book never gets published and I've wasted two months of my life? We decided it was worth it, took a deep breath, and dove in.
 
Originating outlines
Writing a book for a publisher requires that you go through a very structured process (see the outline in Figure 1).

199802_aj1_zoom50 Figure 1
 
The first step was to prove that I could organize and write, at least in little pieces. Our Training Guide is organized by the objectives found Exam Preparation Guide on the Microsoft certification Web site at http://www.microsoft.com/Train_Cert/mcp/exam/prep/PG70-069.htm. That already sounded better than the hap-hazard, disorganized way I'd studied for the exam! I chose the chapters on Working with Sets of Records (8 objectives), Working with Forms (8 objectives), Database Replication (6 objectives), and Security (4 objectives).
 
In order to be approved as a Microsoft Certified Study Guide, a study guide must explain 100 percent of the information covered by the exam (with at least 50 percent of the material in hands-on lab exercises), and all material in the book must be accurate. This series has a very specific way of mapping objectives to chapter sections, so I had to develop a table like the one in Table 1.
 
Table 1. A sample chapter outline.

Chapter 12: Security

Objective

Located Here

Analyze a scenario and recommend an appropriate type of security.

Choosing the Appropriate Level of Security, page ___

Explain the steps for implementing security.

Implementing Security, page ___

Identify and differentiate between different types of permissions.

Choosing Appropriate Permissions, page ___

Write code to implement security options.

Setting Security through Code, page ___

Analyze code to ensure that it sets security options.

Analyzing Security Code, page ___

Encrypt a database.

Encrypting a Database, page ___

 
 
The page numbers are filled in later. Only four of these objectives are required by Microsoft -- I added the third and last objectives because I thought they were important.
 
In the overall chapter outline, some things are required in every chapter: 1) a pre-chapter quiz so the reader can determine whether he or she needs to study that chapter; 2) the actual explanation sections; 3) pre-chapter quiz answers; 4) lab exercises; and 5) review/practice questions and answers. It was wonderful to have so much structure! I'd initially been worried that I wouldn't be able to figure out what to write, but the structure provided a great place to start.
 
The next step was to flesh out the chapter sections to prove that I was actually going to cover the material in some depth. For example, the outline I developed for the first objective appears in Table 2.
 
Table 2. A sample objective outline.

(1) Choosing the Appropriate Level of Security

 

(a) Setting a Database Password

 

(b) Establishing User-Level Security

 

 

(i) Users and Groups

 

 

(ii) Workgroup Database

 

 

(iii) User Database

 

 

(iv) Jet Engine

 
 
All of my outlines were approved, my contracts were signed, and I suddenly found myself with homework for the first time since college!
 
Crafting content
My first reaction when I actually sat down to fill in the outline with meaningful text was to panic. Sure, I know the difference between a table-type recordset and a TableDef, but can I explain it? I loaded the Mastering Access disk, every sample test I could find, and became fanatical about having Technet with me at all times. I also familiarized myself with the style guide the publisher provided and learned how to use a utility that captured screen shots in the right format.
 
For each chapter, I wrote the detailed explanation section first, reading through the Help files, Technet, and the Mastering Access disk until I was pretty sure I'd covered everything. I concentrated on including a balance of code examples (which I tested compulsively, fearing a flood of angry e-mail from frustrated readers), screen shots, tips, warnings, and bulleted lists. After the text was finished, I wrote the open-ended pre-chapter quiz question and the multiple-choice review/practice questions. Then, when I had covered several objectives, I wrote a lab exercise to guide the reader through hands-on practice.
 
At times I was secretly convinced that I was doing a terrible job, that it was barely readable (much less helpful), and that I would get fired. That fear mostly dissipated after I received my first editorial feedback. My chapter wasn't ripped to shreds as I had expected, but rather corrected and improved, even with a few friendly encouragements thrown in. The larger problem became boredom. The explanation sections became terribly tedious at times, since I had to explain everything thoroughly -- even things that seemed self-explanatory. In fact, by the end of the process (8+ weeks with only a sporadic social life and 12 hours a day of nothing but Access), I became so bored with my own writing that I would rather have given the cats a bath than sit down and write. (And my cats really hate baths!)
 
The questions and labs were much more relaxing. Besides, I know how I study best, and I tend to learn more from labs and sample questions than just raw text. As a result, I could picture those sections helping readers more easily than when I was writing detailed explanations.
 
The labs are step-by-step: First I created sample databases to be included on the CD that comes with the book, then I did the exercises and documented every keystroke and mouse click. Table 3 shows an example of the level of detail required.
 
Table 3. A sample exercise.

15. Run the Security Wizard: Open the sample database "Wine List.mdb" included on the CD. Then, from the Tools menu, select Security; then User-Level Security Wizard. Click the check box OFF for Tables. Click OK. Accept the default path and name of "Secure Wine List.mdb" and click Save.

 

16. Let the Wizard do its thing. When the process is finished, notice that the message box tells you that only user Lilly and members of the Admins group have rights to the database and the selected objects. Click OK.

 
 
Most of the lab activities were more active than this example, and almost every lab included code. For every chapter, there were three or four labs and at least 10 practice questions. When I finished each chapter, I'd read it twice from start to finish and then e-mail it to my editor for review.
 
Reviewing, reviewing, reviewing
The first review of material is an editorial review for style done by one or two people who might or might not understand the topic at hand. The second review is a technical review, often by someone who authored other chapters in the book. This person runs your code and checks for thoroughness and accuracy. The last review is the author review, when you look over other people's comments and actually make the necessary changes.
 
Once the manuscript is finalized by all the authors, the graphics department takes over to make the product look and feel like a book. The publishing house then submits an unbound copy of the manuscript for approval. I was surprised to learn that Microsoft doesn't do the approving; instead, the manuscript is submitted to Pembroke Associates in Washington, DC, an independent company staffed by technically aware reviewers (mostly certified trainers). Pembroke then decides whether or not to certify the book using the following criteria: 1) it covers all of the objectives; and 2) 50 percent of the book is hands-on lab exercises and/or direct test prep.
 
Within 1-2 weeks, the decision returns. If the manuscript is rejected, Pembroke returns it with a list of shortcomings. If it's accepted, the publisher can move ahead and put the certified study guide logo on the cover and spine. (By the way, all of New Riders' submissions have been accepted on the first try. Just had to brag . . .)
 
Interestingly, even Microsoft Press has to submit its materials to Pembroke for certification! Pembroke also reviews Computer-Based Training and official courseware for official Microsoft courses.
 
Wrapping up
Now that it's all over and the book has been approved and published (hitting bookstores in January), what did I get out of it?
 
For one thing, I got an interesting glimpse into the world of technical publishing. Personally, it feels great to be published, and socially, I recovered well from my weeks in exile (although I doubt I'll ever try to write 175 pages in 9 weeks again). Professionally, it has opened up the opportunity to do more authoring (like this article and possibly a study guide for the new Microsoft Office User Specialist exam for Access).
 
Most importantly, my technical skills benefited greatly from the experience. Even though I never want to think about replication topologies ever again in my life (shudder), my clients need replication solutions. I'm grateful, now, to have the in-depth knowledge at my disposal. My retention hasn't proven to be perfect: In a pinch, I still don't know the syntax for all of the arguments in OpenRecordset, and I still pause before deciding whether to use the Me keyword or Screen.ActiveForm. But I sure know where to find the answer!
 
Angela is a System Developer/Analyst with Apex Consulting Group in Northbrook, IL. Her passions are family, great data models, and SUVs.
 
Excerpts from MCSD Training Guide: Microsoft Access used with permission of New Riders.
 
Sidebar: The World of the Study Guide
 
In the past few years, Microsoft has become more committed to the Certification program by publishing studies about the value of certified employees, pushing the Microsoft Solution Provider program, and developing gazillions of new exams. Certification is becoming more precious as a widely recognized standard of excellence, but studying for the exams can involve navigating through endless mazes of help topics and supplemental materials.
 
This much I knew -- when I studied for my exam, I had bought two books and the Mastering Access disk from Microsoft Press, because nobody had developed a certified Training Guide yet. I picked up information in bits and pieces -- and wasted a lot of time in the process. What I didn't know was that Macmillan Computer Publishing (which owns New Riders) was developing certified Training Guides for the MCSE and MCSD series of exams.
 
Macmillan Computer Publishing also owns Que, SAMS, and a few other publishers. It seems that when Macmillan wanted to move into a new area of publishing, they found a smaller company that was already publishing well in that area and bought it.
 
In early 1997, Macmillan reorganized so that the SAMS "Teach Yourself" / "CARE (Certified Administrator Resource Edition)" series, the Que "Test Prep" series, and the New Riders "Training Guide" series could all work together. The objective was to provide exam preparation for people with different study preferences and levels of experience.
 
The New Riders series will be comprehensive and assume no prior knowledge -- but gears toward test-taking preparation. The SAMS series will focus more on training in actually using the product -- just as comprehensive as the Training Guides, but with less exam emphasis. The Que series will assume user knowledge, be less in-depth, and focus exclusively on exam preparation.
 
Sidebar: So, Do You Need a Study Guide?
 
Now that you've been given some insight into what makes up a study guide, you might want to see how much you really know about Access. Here are some questions from Transcender Corporation's demo for its simulated Access 7.0 exam. See how you do.
 
1. Given the following code:
 

  Sub CalcValues ()

  Dim A as Variant

  Dim B As Variant

  Dim C As Variant

     A = 3

     B = 2

     A = A ­ B

     Debug.Print C

  End Sub

 
 
What is the value of C after CalcValues is called?
 
a. the Null value
b. the Empty value
c. 0
d. 1
 
2. A financial database needs to track customers and their security holdings. Customers can purchase many different types of securities, and a type of security can be owned by more than one customer. What types of tables should be set up in this database to accommodate the above scenario?
 
a. a Customer table and a Security table
b. a Customer table that would contain customer information including the securities a customer purchases
c. a Customer table, a Security table, and a table to resolve the many-to-many relationship between customers and securities
d. a Customer table, a Security table, and a table to resolve the one-to-many relationship between customers and securities
 
3. A query is created to find records in the ClientID column of a Customer table that match the following condition: 123?[49]5?*. Which of the following IDs would be retrieved by this query? Pick all the correct answers.
 
a. 123456
b. 12304956
c. 123049
d. 1230459
 
4. Tom is designing an Employee table for his database. Each record will contain information on an employee in his organization along with a binary JPG file showing what the employee looks like. What field data type should Tom use in his table to hold the data in the JPG file?
 
a. Memo
b. Number (Byte)
c. OLE Object
d. Text
 
5. What is the proper syntax for displaying the fifth field name of table MyTable in the current database to the Debug Window?
 
a. Debug.Print CurrentDb.MyTable.Fields(4).Name
b. Debug.Print CurrentDb.TableDefs("MyTable"). _Fields(4).Name
c. Debug.Print CurrentDb.Tables("MyTable").Fields(4).Name
d. Debug.Print CurrentDb.TableDefs("MyTable"). _ListFields(4).Name
 
6. What will occur if the Index property of a Table-type recordset has not been set before performing a Seek method?
 
a. a trappable runtime error will occur
b. the primary key for the recordset will be used as the default index for the Seek method
c. the first index stored for the table will be used as the default index for the Seek method
d. the recordset will be read in a non-indexed order
 
7. Property procedures can be used to create read-only properties for forms, standard modules, and class modules. What syntax of the Property procedure would be used for the creation of a read-only property?
 
a. Property Get
b. Property Let
c. Property Make
d. Property Set
 
8. Which statement about passing a string to a DLL procedure written in C is true?
 
a. only a pointer to a string is passed to a C-based DLL procedure
b. the actual value of a string is passed to a C-based DLL procedure
c. a string passed to a DLL procedure cannot be modified by the procedure
d. using the ByVal argument will cause the actual string value to be passed
 
Answers
1. Choice b is correct. Since C is not set to any value within the given procedure, it will contain the value Empty -- the default value for an uninitialized Variant variable.
 
2. Choice c is correct. The proper way to model the above scenario would be to create a Customer table to hold customer specific information (Name, Social Security Number, Date of Birth, etc.), a Security table to hold security specific information, and a Customer-Security intersection table to resolve the many-to-many relationship between customers and the securities they hold. The key of the Customer-Security table would consist of the primary keys from both the Customer table and the Security table.
 
3. Only choice d is correct. The condition would look for all IDs starting with "123," having a fifth character of "4" or "9," a sixth character of "5" and having a length of at least seven characters.
 
4. Choice c is correct. An OLE Object data type can be used to store an array or file of binary data. The Number (Byte) data type is used to store a single binary number. The Memo and Text data types are best suited for character/string data.
 
5. Choice b is correct. The proper syntax to list the nth field in a table for the current database is:
 

  Debug.Print

 CurrentDb.TableDefs("<table_name>").Fields(n-1).Name

 
 
If you want to list all fields for a given table, then use a For Each...Next loop. Remember, the first field in the Fields collection has a Value property (subscript) of zero. Fields can also be referenced by their Name property.
 
6. Choice a is correct. The Index property of a recordset must be set to a valid index before executing the Seek method. If the Index property is set to an unspecified index or is not set before executing a Seek method, then a trappable runtime error will occur.
 
7. Choice a is correct. Because Property Get returns the value of a property, it would be used to create a read-only property. Since Property Let sets the value of a property and Property Set sets a reference to an object, neither would be used to create a read-only property.
 
8. Choice a is correct. Using the ByVal keyword when passing a string argument specifies that Visual Basic should automatically convert the argument to a null-terminating string. Strings are always passed by reference.
 
You can visit the Transcender site at www.transcender.com.

These questions reprinted with the permission of Transcender Corporation, 621 Mainstream Drive, Nashville, TN.