<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Microsoft Access Team Blog : Security</title><link>http://blogs.msdn.com/access/archive/tags/Security/default.aspx</link><description>Tags: Security</description><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>Running a Command as Administrator in VBA</title><link>http://blogs.msdn.com/access/archive/2009/11/11/running-a-command-as-administrator-in-vba.aspx</link><pubDate>Wed, 11 Nov 2009 16:23:32 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9920880</guid><dc:creator>robcooper</dc:creator><slash:comments>2</slash:comments><comments>http://blogs.msdn.com/access/comments/9920880.aspx</comments><wfw:commentRss>http://blogs.msdn.com/access/commentrss.aspx?PostID=9920880</wfw:commentRss><description>&lt;p&gt;We received a question the other day from someone who was using the Shell function in VBA to run a command in a command prompt. The command in question was &lt;a href="http://technet.microsoft.com/en-us/library/cc787375(WS.10).aspx"&gt;netsh dhcp&lt;/a&gt;, but this could apply to any number of commands.&lt;/p&gt;  &lt;p&gt;The original code was as follows:&lt;/p&gt;  &lt;p&gt;&lt;font size="2" face="Courier New"&gt;Shell &amp;quot;c:\windows\system32\cmd.exe /k netsh –c dhcp&amp;quot;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;This code had worked for a while, but on Windows Server 2008 (and presumably Windows Vista and Windows 7), this command requires elevated permissions. There are likely a few ways to do this, but we’ll look at the runas command to make this work.&lt;/p&gt;  &lt;p&gt;The &lt;a href="http://technet.microsoft.com/en-us/library/bb490994.aspx"&gt;runas&lt;/a&gt; command allows you to start a process as another user. For our purposes, the syntax is something like:&lt;/p&gt;  &lt;p&gt;&lt;font size="2" face="Courier New"&gt;RUNAS /user:&amp;lt;UserName&amp;gt; program&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;To run netsh using the runas command, you could change the code as follows:&lt;/p&gt;  &lt;p&gt;&lt;font size="2" face="Courier New"&gt;Shell &amp;quot;runas /user:administrator &amp;quot;&amp;quot;c:\windows\system32\cmd.exe /k netsh –c dhcp&amp;quot;&amp;quot;&amp;quot;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;This will launch a command window and prompt you for the administrator password in the command window itself.&lt;/p&gt;  &lt;p&gt;Another way to do this is to use &amp;quot;runas&amp;quot; as the verb for the &lt;a href="http://msdn.microsoft.com/en-us/library/bb762153(VS.85).aspx"&gt;ShellExecute&lt;/a&gt; API function as follows:&lt;/p&gt;  &lt;p&gt;&lt;font size="2" face="Courier New"&gt;Private Declare Function ShellExecute Lib &amp;quot;shell32.dll&amp;quot; Alias &amp;quot;ShellExecuteA&amp;quot; _      &lt;br /&gt;&amp;#160; (ByVal hWnd As Long, _       &lt;br /&gt;&amp;#160;&amp;#160; ByVal lpOperation As String, _       &lt;br /&gt;&amp;#160;&amp;#160; ByVal lpFile As String, _       &lt;br /&gt;&amp;#160;&amp;#160; ByVal lpParameters As String, _       &lt;br /&gt;&amp;#160;&amp;#160; ByVal lpDirectory As String, _       &lt;br /&gt;&amp;#160;&amp;#160; ByVal nShowCmd As Long) As Long&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2" face="Courier New"&gt;Sub RunAsAdmin()      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; Const SW_NORMAL As Long = 1&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2" face="Courier New"&gt;&amp;#160;&amp;#160;&amp;#160; ShellExecute hWndAccessApp(), _      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;quot;runas&amp;quot;, _       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;quot;c:\windows\system32\cmd.exe&amp;quot;, _       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;quot;/k netsh -c dhcp&amp;quot;, _       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;quot;c:\windows\system32&amp;quot;, SW_NORMAL       &lt;br /&gt;End Sub&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;When you run the RunAsAdmin procedure, you should be prompted by Windows to run the specified command.&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9920880" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/access/archive/tags/Security/default.aspx">Security</category><category domain="http://blogs.msdn.com/access/archive/tags/Code/default.aspx">Code</category></item><item><title>Access 2010 trusted documents (or databases)</title><link>http://blogs.msdn.com/access/archive/2009/10/01/access-2010-trusted-documents-or-databases.aspx</link><pubDate>Thu, 01 Oct 2009 17:39:31 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9901859</guid><dc:creator>Clint Covington</dc:creator><slash:comments>5</slash:comments><comments>http://blogs.msdn.com/access/comments/9901859.aspx</comments><wfw:commentRss>http://blogs.msdn.com/access/commentrss.aspx?PostID=9901859</wfw:commentRss><description>&lt;p&gt;the Office 2010 Engineering blog has a good post from Maithili about &lt;a href="http://blogs.technet.com/office2010/archive/2009/09/28/trusted-documents.aspx"&gt;trusted documents&lt;/a&gt;. We implemented this security feature in Access as well. What it means is that you can now trust an individual database without having to put it into a trusted folder. It is pretty simple, you go to the BackStage and choose the Enable Content dropdown. Choose Enable All Content.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/access/WindowsLiveWriter/Access2010trusteddocumentsordatabases_6BAF/image_2.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://blogs.msdn.com/blogfiles/access/WindowsLiveWriter/Access2010trusteddocumentsordatabases_6BAF/image_thumb.png" width="588" height="210" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;You can read more about how the feature works across Office &lt;a href="http://blogs.technet.com/office2010/archive/2009/09/28/trusted-documents.aspx"&gt;here&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;Enjoy!&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9901859" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/access/archive/tags/Security/default.aspx">Security</category><category domain="http://blogs.msdn.com/access/archive/tags/Access+2010/default.aspx">Access 2010</category><category domain="http://blogs.msdn.com/access/archive/tags/2010+Intro+Series/default.aspx">2010 Intro Series</category></item><item><title>Encryption vs. Encoding</title><link>http://blogs.msdn.com/access/archive/2008/05/19/encryption-vs-encoding.aspx</link><pubDate>Mon, 19 May 2008 23:01:09 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8519596</guid><dc:creator>robcooper</dc:creator><slash:comments>10</slash:comments><comments>http://blogs.msdn.com/access/comments/8519596.aspx</comments><wfw:commentRss>http://blogs.msdn.com/access/commentrss.aspx?PostID=8519596</wfw:commentRss><description>&lt;p&gt;Every now and again we get the question of &amp;quot;what is the difference between encryption and encoding?&amp;quot; This came up again today so we wanted to try to answer it more broadly.&lt;/p&gt;  &lt;p&gt;In short, the feature that we call &amp;quot;&lt;a href="http://office.microsoft.com/en-us/access/HA100962991033.aspx?pid=CH100621891033"&gt;encryption&lt;/a&gt;&amp;quot; is a feature that was introduced for ACCDB files in Access 2007. This feature was an improvement over the feature known as &amp;quot;encoding&amp;quot; in Access 2003. &amp;quot;Encoding&amp;quot; uses a proprietary algorithm for scrambling the data in a database and was first introduced in Access 2.0. &amp;quot;Encryption&amp;quot;, used in Access 2007, uses improved Windows APIs and is stronger than previous versions.&lt;/p&gt;  &lt;p&gt;In addition to the algorithm being used, here's a summary of the functional differences:&lt;/p&gt;  &lt;table style="border-right: gray 1px solid; border-top: gray 1px solid; border-left: gray 1px solid; border-bottom: gray 1px solid" cellspacing="0" cellpadding="4" width="651" border="0"&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;td style="border-right: gray 1px solid; border-top: gray 1px solid; border-left: gray 1px solid; border-bottom: gray 1px solid" valign="top" width="277"&gt;&amp;#160;&lt;/td&gt;        &lt;td style="border-right: gray 1px solid; border-top: gray 1px solid; border-left: gray 1px solid; border-bottom: gray 1px solid" valign="top" width="187"&gt;&lt;strong&gt;Encryption&lt;/strong&gt;&lt;/td&gt;        &lt;td style="border-right: gray 1px solid; border-top: gray 1px solid; border-left: gray 1px solid; border-bottom: gray 1px solid" valign="top" width="185"&gt;&lt;strong&gt;Encoding&lt;/strong&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td style="border-right: gray 1px solid; border-top: gray 1px solid; border-left: gray 1px solid; border-bottom: gray 1px solid" valign="top" width="277"&gt;&lt;strong&gt;File format&lt;/strong&gt;&lt;/td&gt;        &lt;td style="border-right: gray 1px solid; border-top: gray 1px solid; border-left: gray 1px solid; border-bottom: gray 1px solid" valign="top" width="187"&gt;ACCDB, ACCDE, ACCDA&lt;/td&gt;        &lt;td style="border-right: gray 1px solid; border-top: gray 1px solid; border-left: gray 1px solid; border-bottom: gray 1px solid" valign="top" width="185"&gt;MDB, MDE, MDA&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td style="border-right: gray 1px solid; border-top: gray 1px solid; border-left: gray 1px solid; border-bottom: gray 1px solid" valign="top" width="277"&gt;&lt;strong&gt;Requires database password?&lt;/strong&gt;&lt;/td&gt;        &lt;td style="border-right: gray 1px solid; border-top: gray 1px solid; border-left: gray 1px solid; border-bottom: gray 1px solid" valign="top" width="187"&gt;Yes&lt;/td&gt;        &lt;td style="border-right: gray 1px solid; border-top: gray 1px solid; border-left: gray 1px solid; border-bottom: gray 1px solid" valign="top" width="185"&gt;No&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td style="border-right: gray 1px solid; border-top: gray 1px solid; border-left: gray 1px solid; border-bottom: gray 1px solid" valign="top" width="277"&gt;&lt;strong&gt;Creates a new file?&lt;/strong&gt;&lt;/td&gt;        &lt;td style="border-right: gray 1px solid; border-top: gray 1px solid; border-left: gray 1px solid; border-bottom: gray 1px solid" valign="top" width="187"&gt;No&lt;/td&gt;        &lt;td style="border-right: gray 1px solid; border-top: gray 1px solid; border-left: gray 1px solid; border-bottom: gray 1px solid" valign="top" width="185"&gt;Yes&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td style="border-right: gray 1px solid; border-top: gray 1px solid; border-left: gray 1px solid; border-bottom: gray 1px solid" valign="top" width="277"&gt;&lt;strong&gt;Ribbon entry point&lt;/strong&gt;&lt;/td&gt;        &lt;td style="border-right: gray 1px solid; border-top: gray 1px solid; border-left: gray 1px solid; border-bottom: gray 1px solid" valign="top" width="187"&gt;&amp;quot;Encrypt with Password&amp;quot;&lt;/td&gt;        &lt;td style="border-right: gray 1px solid; border-top: gray 1px solid; border-left: gray 1px solid; border-bottom: gray 1px solid" valign="top" width="185"&gt;&amp;quot;Encode/Decode Database&amp;quot;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td style="border-right: gray 1px solid; border-top: gray 1px solid; border-left: gray 1px solid; border-bottom: gray 1px solid" valign="top" width="277"&gt;&lt;strong&gt;Requires the database to be opened exclusively?&lt;/strong&gt;&lt;/td&gt;        &lt;td style="border-right: gray 1px solid; border-top: gray 1px solid; border-left: gray 1px solid; border-bottom: gray 1px solid" valign="top" width="187"&gt;Yes (because a database password is required)&lt;/td&gt;        &lt;td style="border-right: gray 1px solid; border-top: gray 1px solid; border-left: gray 1px solid; border-bottom: gray 1px solid" valign="top" width="185"&gt;No&lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;p&gt;You'll notice that a database password is required when using &amp;quot;encryption&amp;quot; in a database in the ACCDB file format and not in the MDB file format. As a result, the behavior of these buttons is different in the Ribbon. When you click &amp;quot;Set Database Password&amp;quot; in the Ribbon in an MDB file, a database password is opened, but the file is not encoded. We've changed the text of the command in an ACCDB file to read &amp;quot;Encrypt with Password&amp;quot; to demonstrate that these are in fact a single operation.&lt;/p&gt;  &lt;p&gt;The feature called &amp;quot;encoding&amp;quot; in Access 2003 and Access 2007 was previously called &amp;quot;encryption&amp;quot; in Access 2002 and earlier. We realize this is somewhat confusing, however, the term &amp;quot;encoding&amp;quot; more accurately describes the algorithm used for the feature so we changed it in Access 2003. Databases encoded using Access 2003 or earlier should &lt;strong&gt;not&lt;/strong&gt; be considered secure.&lt;/p&gt;  &lt;p&gt;If you're working with both the MDB and ACCDB file formats in Access 2007, there are a few things to keep in mind:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;An encoded MDB database cannot be converted to the ACCDB file format &lt;/li&gt;    &lt;li&gt;An encrypted ACCDB cannot be converted to the MDB file format &lt;/li&gt;    &lt;li&gt;Because encrypted databases cannot be converted to MDB files, you'll need to remove the database password to save an encrypted ACCDB as an MDB &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Lastly, we'd love to hear more from you about this. How many of you are using encryption in ACCDB files vs. encoding in MDB files? Thanks!&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8519596" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/access/archive/tags/Access+2007/default.aspx">Access 2007</category><category domain="http://blogs.msdn.com/access/archive/tags/Security/default.aspx">Security</category><category domain="http://blogs.msdn.com/access/archive/tags/Access+2003/default.aspx">Access 2003</category></item><item><title>Avoiding security prompts for runtime applications</title><link>http://blogs.msdn.com/access/archive/2008/04/08/avoiding-security-prompts-for-runtime-applications.aspx</link><pubDate>Wed, 09 Apr 2008 02:07:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8370342</guid><dc:creator>Clint Covington</dc:creator><slash:comments>15</slash:comments><comments>http://blogs.msdn.com/access/comments/8370342.aspx</comments><wfw:commentRss>http://blogs.msdn.com/access/commentrss.aspx?PostID=8370342</wfw:commentRss><description>&lt;P&gt;Edit April 9th, 2008: It looks like the fix was checked into a post RTM version of the Package Wizard. It works on internal builds but I now need to figure out the plans for releasing a SP1 version of the Package Wizard. &lt;/P&gt;
&lt;P&gt;&amp;nbsp;----&lt;/P&gt;
&lt;P&gt;One of the consistent feedback we got on this blog was that people expected to have runtime applications run as trusted applications. We wanted to make this happen for the RTM version of the runtime but some issues kept that from happening. A change was made to the Access 2007 SP1 Package Wizard where it now automatically writes the location of the application as a trusted location. This means your SP1 runtime applications will just work without any security prompts.&lt;/P&gt;
&lt;P&gt;Enjoy!&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8370342" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/access/archive/tags/Security/default.aspx">Security</category><category domain="http://blogs.msdn.com/access/archive/tags/Runtime/default.aspx">Runtime</category></item><item><title>Security followup</title><link>http://blogs.msdn.com/access/archive/2005/11/01/security-followup.aspx</link><pubDate>Tue, 01 Nov 2005 23:24:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:488022</guid><dc:creator>Erik Rucker</dc:creator><slash:comments>6</slash:comments><comments>http://blogs.msdn.com/access/comments/488022.aspx</comments><wfw:commentRss>http://blogs.msdn.com/access/commentrss.aspx?PostID=488022</wfw:commentRss><description>&lt;SPAN style="COLOR: #993300"&gt;&lt;SPAN style="COLOR: #993300"&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN style="COLOR: #993300"&gt;This is a consolidated post covering the main things that came up about security.&amp;nbsp; Again sorry for the delay on getting this out.&amp;nbsp; Also note the post has links to the pictures rather than in-place thumbnails.&amp;nbsp; I'll get them moved to a better home where I can reference them directly tomorrow.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN style="COLOR: #993300"&gt;I took away 4 main issues from the comments on the security model:&lt;/SPAN&gt;&lt;/P&gt;
&lt;UL style="MARGIN-TOP: 0in; MARGIN-BOTTOM: 0in" type=disc&gt;
&lt;LI class=MsoNormal style="COLOR: #993300"&gt;What is “disabled mode” and how does it work? 
&lt;LI class=MsoNormal style="COLOR: #993300"&gt;What are “safe macros” and why would anyone ever use them? 
&lt;LI class=MsoNormal style="COLOR: #993300"&gt;How can I tailor my app’s UI to specific users without using User Level Security? 
&lt;LI class=MsoNormal style="COLOR: #993300"&gt;How do ADP’s fit into the new security story? &lt;/LI&gt;&lt;/UL&gt;
&lt;P class=MsoNormal&gt;&lt;B&gt;&lt;U&gt;&lt;SPAN style="COLOR: #993300"&gt;Disabled Mode:&lt;/SPAN&gt;&lt;/U&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN style="COLOR: #993300"&gt;The &lt;I&gt;Automation security property&lt;/I&gt; will still be honored and will continue to function the way it always did. This property as you already know is valid and useful in developer scenarios where Access is launched using startup scripts and applications.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN style="COLOR: #993300"&gt;Disabled mode and the Office Trust Center are designed to make it easier for a user to make trust decisions in scenarios where scripts that launch Access do not come into play. &lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN style="COLOR: #993300"&gt;There are scenarios, where developers of a solution want to ensure that code in Access (startup form/ macro or otherwise) always executes. In such cases the recommended approach is to ensure that one or more of the following conditions are met:&lt;/SPAN&gt;&lt;/P&gt;
&lt;UL style="MARGIN-TOP: 0in; MARGIN-BOTTOM: 0in" type=disc&gt;
&lt;LI class=MsoNormal style="VERTICAL-ALIGN: middle; COLOR: #993300"&gt;The database is signed with a trusted certificate.&lt;SPAN style="FONT-FAMILY: Times New Roman"&gt; &lt;/SPAN&gt;
&lt;LI class=MsoNormal style="VERTICAL-ALIGN: middle; COLOR: #993300"&gt;The database is installed in a trusted location.&lt;SPAN style="FONT-FAMILY: Times New Roman"&gt; &lt;/SPAN&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN style="COLOR: #993300"&gt;By meeting these conditions, the code within the solution will always be enabled. In scenarios where neither of these conditions can be guaranteed, Access can be made to revert to its legacy behavior of a modal startup trust prompt, that will launch and execute code in the database or not open the file at all. To revert to this legacy behavior set the following registry key:&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN style="COLOR: #993300"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: #993300; FONT-FAMILY: Arial"&gt;HKEY_CURRENT_USER\Software\Microsoft\Office\12.0\Access\Security\&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN-LEFT: 0.5in"&gt;&lt;SPAN style="COLOR: #993300; FONT-FAMILY: Arial"&gt;Value: ModalTrustDecisionOnly = 1 (DWORD)&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN-LEFT: 0.5in"&gt;&lt;SPAN style="COLOR: #993300"&gt;&lt;/SPAN&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;B&gt;&lt;U&gt;&lt;SPAN style="COLOR: #993300"&gt;Safe Macros:&lt;/SPAN&gt;&lt;/U&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN style="COLOR: #993300"&gt;Safe Macros aren’t meant to replace code, and as noted there is no way all VBA in Access apps today could be replaced by macros.&amp;nbsp; However, they can still serve a very useful purpose, and there is an interesting set of applications that can be created with no VBA at all.&amp;nbsp; The Access team is building over 25 out of the box applications that use only macros.&amp;nbsp; By not using code, we can ensure that these apps are fully functional without signing and without being trusted – they can be mailed around and will work great.&amp;nbsp; In order to make that work, we’ve extended the macro language in some key areas and rethought about the way we build apps.&amp;nbsp; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN style="COLOR: #993300"&gt;Even applications that use VBA may still want to use macros for some functionality, like creating simple navigation that will still work when the application is running in disabled mode.&amp;nbsp; Examples include:&lt;/SPAN&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;
&lt;DIV class=MsoNormal&gt;Enable navigation and other safe actions that will be available to the user even in disabled mode. &lt;/DIV&gt;
&lt;LI class=MsoNormal style="VERTICAL-ALIGN: middle; COLOR: #993300"&gt;A combination of safe macros and code, provide an alternatives like an alert requesting the user to enable the database to unleash its full potential in disabled mode, where as using code to fulfill complex business logic requirements in enabled mode. For example: Let's say a button is supposed to execute an update query, which would be disabled if the database is not trusted, in this case using a macro that looks like the following can provide a usable experience:&lt;SPAN style="FONT-FAMILY: Times New Roman"&gt; &lt;/SPAN&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;P class=MsoNormal style="MARGIN-LEFT: 0.25in; VERTICAL-ALIGN: middle; TEXT-INDENT: 0.25in"&gt;&lt;SPAN style="COLOR: #993300; FONT-FAMILY: Times New Roman"&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN style="COLOR: #993300"&gt;{missing picture 1 is available at &lt;SPAN style="COLOR: #993300"&gt;&lt;A href="http://groups.msn.com/AccessBlogPics/shoebox.msnw?action=ShowPhoto&amp;amp;PhotoID=1" mce_href="http://groups.msn.com/AccessBlogPics/shoebox.msnw?action=ShowPhoto&amp;amp;PhotoID=1"&gt;http://groups.msn.com/AccessBlogPics/shoebox.msnw?action=ShowPhoto&amp;amp;PhotoID=1&lt;/A&gt;&lt;/SPAN&gt;}&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;B&gt;&lt;U&gt;&lt;SPAN style="COLOR: #993300"&gt;Custom navigation using the navigation tools:&lt;/SPAN&gt;&lt;/U&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN style="COLOR: #993300"&gt;Access 12 developers will be able to customize the “navigation pane” (new nav metaphor, more on that very soon) to show users only those objects they need to see.&amp;nbsp; This is the key thing that Access developers did with the ULS, but done in the context of personalization rather than security.&amp;nbsp; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN style="COLOR: #993300"&gt;Let's consider a simple scenario where the database has the following objects:&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN style="COLOR: #993300"&gt;Tables:&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN-LEFT: 0.5in"&gt;&lt;SPAN style="COLOR: #993300"&gt;Issues &lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN-LEFT: 0.5in"&gt;&lt;SPAN style="COLOR: #993300"&gt;Contacts&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN style="COLOR: #993300"&gt;Forms:&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN-LEFT: 0.5in"&gt;&lt;SPAN style="COLOR: #993300"&gt;Contacts&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN-LEFT: 0.5in"&gt;&lt;SPAN style="COLOR: #993300"&gt;Issues List&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN-LEFT: 0.5in"&gt;&lt;SPAN style="COLOR: #993300"&gt;Issue Details&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN style="COLOR: #993300"&gt;Reports:&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN-LEFT: 0.5in"&gt;&lt;SPAN style="COLOR: #993300"&gt;Active Issues&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN-LEFT: 0.5in"&gt;&lt;SPAN style="COLOR: #993300"&gt;Issues by Assigned To&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN style="COLOR: #993300"&gt;Macros:&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN-LEFT: 0.5in"&gt;&lt;SPAN style="COLOR: #993300"&gt;Autoexec&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN style="COLOR: #993300"&gt;As the creator of the solution let's say I wanted to create the following navigation model:&lt;/SPAN&gt;&lt;/P&gt;
&lt;UL style="MARGIN-TOP: 0in; MARGIN-BOTTOM: 0in" type=disc&gt;
&lt;LI class=MsoNormal style="VERTICAL-ALIGN: middle; COLOR: #993300"&gt;A set of my users see all the objects and are able to design them.&lt;SPAN style="FONT-FAMILY: Times New Roman"&gt; &lt;/SPAN&gt;
&lt;LI class=MsoNormal style="VERTICAL-ALIGN: middle; COLOR: #993300"&gt;A set of my users can see and use some forms and reports but not design them.&lt;SPAN style="FONT-FAMILY: Times New Roman"&gt; &lt;/SPAN&gt;
&lt;LI class=MsoNormal style="VERTICAL-ALIGN: middle; COLOR: #993300"&gt;A set of my users can only see and use the forms and reports based on Issues, not Contacts.&lt;SPAN style="FONT-FAMILY: Times New Roman"&gt; &lt;/SPAN&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN style="COLOR: #993300"&gt;To go about doing this I can use the concepts of the navigation pane along with certain macros and even code.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN style="COLOR: #993300"&gt;The first step is for me to create the navigation pane categories and groups that would allow me to divide up these objects in a way that makes sense. Based on my requirements, I'd need three categories, with the following groups and object shortcuts:&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN-LEFT: 0.75in; VERTICAL-ALIGN: middle; TEXT-INDENT: -0.25in"&gt;&lt;SPAN style="COLOR: #993300; FONT-FAMILY: Symbol"&gt;·&lt;SPAN style="FONT-WEIGHT: normal; FONT-SIZE: 7pt; FONT-STYLE: normal; FONT-FAMILY: Times New Roman; FONT-VARIANT: normal"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #993300"&gt;All Objects&lt;/SPAN&gt;&lt;SPAN style="COLOR: #993300; FONT-FAMILY: Times New Roman"&gt; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN-LEFT: 1.25in; VERTICAL-ALIGN: middle; TEXT-INDENT: -0.25in"&gt;&lt;SPAN style="COLOR: #993300; FONT-FAMILY: Symbol"&gt;·&lt;SPAN style="FONT-WEIGHT: normal; FONT-SIZE: 7pt; FONT-STYLE: normal; FONT-FAMILY: Times New Roman; FONT-VARIANT: normal"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #993300"&gt;Tables:&lt;/SPAN&gt;&lt;SPAN style="COLOR: #993300; FONT-FAMILY: Times New Roman"&gt; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN-LEFT: 1.75in; VERTICAL-ALIGN: middle; TEXT-INDENT: -0.25in"&gt;&lt;SPAN style="COLOR: #993300; FONT-FAMILY: Symbol"&gt;·&lt;SPAN style="FONT-WEIGHT: normal; FONT-SIZE: 7pt; FONT-STYLE: normal; FONT-FAMILY: Times New Roman; FONT-VARIANT: normal"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #993300"&gt;Issues &lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN-LEFT: 1.75in; VERTICAL-ALIGN: middle; TEXT-INDENT: -0.25in"&gt;&lt;SPAN style="COLOR: #993300; FONT-FAMILY: Symbol"&gt;·&lt;SPAN style="FONT-WEIGHT: normal; FONT-SIZE: 7pt; FONT-STYLE: normal; FONT-FAMILY: Times New Roman; FONT-VARIANT: normal"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #993300"&gt;Contacts&lt;/SPAN&gt;&lt;SPAN style="COLOR: #993300; FONT-FAMILY: Times New Roman"&gt; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN-LEFT: 1.25in; VERTICAL-ALIGN: middle; TEXT-INDENT: -0.25in"&gt;&lt;SPAN style="COLOR: #993300; FONT-FAMILY: Symbol"&gt;·&lt;SPAN style="FONT-WEIGHT: normal; FONT-SIZE: 7pt; FONT-STYLE: normal; FONT-FAMILY: Times New Roman; FONT-VARIANT: normal"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #993300"&gt;Forms&lt;/SPAN&gt;&lt;SPAN style="COLOR: #993300; FONT-FAMILY: Times New Roman"&gt; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN-LEFT: 1.75in; VERTICAL-ALIGN: middle; TEXT-INDENT: -0.25in"&gt;&lt;SPAN style="COLOR: #993300; FONT-FAMILY: Symbol"&gt;·&lt;SPAN style="FONT-WEIGHT: normal; FONT-SIZE: 7pt; FONT-STYLE: normal; FONT-FAMILY: Times New Roman; FONT-VARIANT: normal"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #993300"&gt;Contacts&lt;/SPAN&gt;&lt;SPAN style="COLOR: #993300; FONT-FAMILY: Times New Roman"&gt; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN-LEFT: 1.75in; VERTICAL-ALIGN: middle; TEXT-INDENT: -0.25in"&gt;&lt;SPAN style="COLOR: #993300; FONT-FAMILY: Symbol"&gt;·&lt;SPAN style="FONT-WEIGHT: normal; FONT-SIZE: 7pt; FONT-STYLE: normal; FONT-FAMILY: Times New Roman; FONT-VARIANT: normal"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #993300"&gt;Issues List&lt;/SPAN&gt;&lt;SPAN style="COLOR: #993300; FONT-FAMILY: Times New Roman"&gt; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN-LEFT: 1.75in; VERTICAL-ALIGN: middle; TEXT-INDENT: -0.25in"&gt;&lt;SPAN style="COLOR: #993300; FONT-FAMILY: Symbol"&gt;·&lt;SPAN style="FONT-WEIGHT: normal; FONT-SIZE: 7pt; FONT-STYLE: normal; FONT-FAMILY: Times New Roman; FONT-VARIANT: normal"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #993300"&gt;Issue Details&lt;/SPAN&gt;&lt;SPAN style="COLOR: #993300; FONT-FAMILY: Times New Roman"&gt; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN-LEFT: 1.25in; VERTICAL-ALIGN: middle; TEXT-INDENT: -0.25in"&gt;&lt;SPAN style="COLOR: #993300; FONT-FAMILY: Symbol"&gt;·&lt;SPAN style="FONT-WEIGHT: normal; FONT-SIZE: 7pt; FONT-STYLE: normal; FONT-FAMILY: Times New Roman; FONT-VARIANT: normal"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #993300"&gt;Reports&lt;/SPAN&gt;&lt;SPAN style="COLOR: #993300; FONT-FAMILY: Times New Roman"&gt; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN-LEFT: 1.75in; VERTICAL-ALIGN: middle; TEXT-INDENT: -0.25in"&gt;&lt;SPAN style="COLOR: #993300; FONT-FAMILY: Symbol"&gt;·&lt;SPAN style="FONT-WEIGHT: normal; FONT-SIZE: 7pt; FONT-STYLE: normal; FONT-FAMILY: Times New Roman; FONT-VARIANT: normal"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #993300"&gt;Active Issues&lt;/SPAN&gt;&lt;SPAN style="COLOR: #993300; FONT-FAMILY: Times New Roman"&gt; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN-LEFT: 1.75in; VERTICAL-ALIGN: middle; TEXT-INDENT: -0.25in"&gt;&lt;SPAN style="COLOR: #993300; FONT-FAMILY: Symbol"&gt;·&lt;SPAN style="FONT-WEIGHT: normal; FONT-SIZE: 7pt; FONT-STYLE: normal; FONT-FAMILY: Times New Roman; FONT-VARIANT: normal"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #993300"&gt;Issues by Assigned To&lt;/SPAN&gt;&lt;SPAN style="COLOR: #993300; FONT-FAMILY: Times New Roman"&gt; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN-LEFT: 1.25in; VERTICAL-ALIGN: middle; TEXT-INDENT: -0.25in"&gt;&lt;SPAN style="COLOR: #993300; FONT-FAMILY: Symbol"&gt;·&lt;SPAN style="FONT-WEIGHT: normal; FONT-SIZE: 7pt; FONT-STYLE: normal; FONT-FAMILY: Times New Roman; FONT-VARIANT: normal"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #993300"&gt;Macros&lt;/SPAN&gt;&lt;SPAN style="COLOR: #993300; FONT-FAMILY: Times New Roman"&gt; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN-LEFT: 1.75in; VERTICAL-ALIGN: middle; TEXT-INDENT: -0.25in"&gt;&lt;SPAN style="COLOR: #993300; FONT-FAMILY: Symbol"&gt;·&lt;SPAN style="FONT-WEIGHT: normal; FONT-SIZE: 7pt; FONT-STYLE: normal; FONT-FAMILY: Times New Roman; FONT-VARIANT: normal"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #993300"&gt;Autoexec&lt;/SPAN&gt;&lt;SPAN style="COLOR: #993300; FONT-FAMILY: Times New Roman"&gt; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN-LEFT: 1.25in"&gt;&lt;SPAN style="COLOR: #993300"&gt;&lt;/SPAN&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN-LEFT: 0.75in; VERTICAL-ALIGN: middle; TEXT-INDENT: -0.25in"&gt;&lt;SPAN style="COLOR: #993300; FONT-FAMILY: Symbol"&gt;·&lt;SPAN style="FONT-WEIGHT: normal; FONT-SIZE: 7pt; FONT-STYLE: normal; FONT-FAMILY: Times New Roman; FONT-VARIANT: normal"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #993300"&gt;Issues and Contacts&lt;/SPAN&gt;&lt;SPAN style="COLOR: #993300; FONT-FAMILY: Times New Roman"&gt; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN-LEFT: 1.25in; VERTICAL-ALIGN: middle; TEXT-INDENT: -0.25in"&gt;&lt;SPAN style="COLOR: #993300; FONT-FAMILY: Symbol"&gt;·&lt;SPAN style="FONT-WEIGHT: normal; FONT-SIZE: 7pt; FONT-STYLE: normal; FONT-FAMILY: Times New Roman; FONT-VARIANT: normal"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #993300"&gt;Forms&lt;/SPAN&gt;&lt;SPAN style="COLOR: #993300; FONT-FAMILY: Times New Roman"&gt; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN-LEFT: 1.75in; VERTICAL-ALIGN: middle; TEXT-INDENT: -0.25in"&gt;&lt;SPAN style="COLOR: #993300; FONT-FAMILY: Symbol"&gt;·&lt;SPAN style="FONT-WEIGHT: normal; FONT-SIZE: 7pt; FONT-STYLE: normal; FONT-FAMILY: Times New Roman; FONT-VARIANT: normal"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #993300"&gt;Contacts&lt;/SPAN&gt;&lt;SPAN style="COLOR: #993300; FONT-FAMILY: Times New Roman"&gt; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN-LEFT: 1.75in; VERTICAL-ALIGN: middle; TEXT-INDENT: -0.25in"&gt;&lt;SPAN style="COLOR: #993300; FONT-FAMILY: Symbol"&gt;·&lt;SPAN style="FONT-WEIGHT: normal; FONT-SIZE: 7pt; FONT-STYLE: normal; FONT-FAMILY: Times New Roman; FONT-VARIANT: normal"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #993300"&gt;Issues List&lt;/SPAN&gt;&lt;SPAN style="COLOR: #993300; FONT-FAMILY: Times New Roman"&gt; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN-LEFT: 1.25in; VERTICAL-ALIGN: middle; TEXT-INDENT: -0.25in"&gt;&lt;SPAN style="COLOR: #993300; FONT-FAMILY: Symbol"&gt;·&lt;SPAN style="FONT-WEIGHT: normal; FONT-SIZE: 7pt; FONT-STYLE: normal; FONT-FAMILY: Times New Roman; FONT-VARIANT: normal"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #993300"&gt;Reports&lt;/SPAN&gt;&lt;SPAN style="COLOR: #993300; FONT-FAMILY: Times New Roman"&gt; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN-LEFT: 1.75in; VERTICAL-ALIGN: middle; TEXT-INDENT: -0.25in"&gt;&lt;SPAN style="COLOR: #993300; FONT-FAMILY: Symbol"&gt;·&lt;SPAN style="FONT-WEIGHT: normal; FONT-SIZE: 7pt; FONT-STYLE: normal; FONT-FAMILY: Times New Roman; FONT-VARIANT: normal"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #993300"&gt;Active Issues&lt;/SPAN&gt;&lt;SPAN style="COLOR: #993300; FONT-FAMILY: Times New Roman"&gt; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN-LEFT: 1.75in; VERTICAL-ALIGN: middle; TEXT-INDENT: -0.25in"&gt;&lt;SPAN style="COLOR: #993300; FONT-FAMILY: Symbol"&gt;·&lt;SPAN style="FONT-WEIGHT: normal; FONT-SIZE: 7pt; FONT-STYLE: normal; FONT-FAMILY: Times New Roman; FONT-VARIANT: normal"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #993300"&gt;Issues by Assigned To&lt;/SPAN&gt;&lt;SPAN style="COLOR: #993300; FONT-FAMILY: Times New Roman"&gt; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN-LEFT: 1.25in"&gt;&lt;SPAN style="COLOR: #993300"&gt;&lt;/SPAN&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN-LEFT: 0.75in; VERTICAL-ALIGN: middle; TEXT-INDENT: -0.25in"&gt;&lt;SPAN style="COLOR: #993300; FONT-FAMILY: Symbol"&gt;·&lt;SPAN style="FONT-WEIGHT: normal; FONT-SIZE: 7pt; FONT-STYLE: normal; FONT-FAMILY: Times New Roman; FONT-VARIANT: normal"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #993300"&gt;Issues&lt;/SPAN&gt;&lt;SPAN style="COLOR: #993300; FONT-FAMILY: Times New Roman"&gt; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN-LEFT: 1.25in; VERTICAL-ALIGN: middle; TEXT-INDENT: -0.25in"&gt;&lt;SPAN style="COLOR: #993300; FONT-FAMILY: Symbol"&gt;·&lt;SPAN style="FONT-WEIGHT: normal; FONT-SIZE: 7pt; FONT-STYLE: normal; FONT-FAMILY: Times New Roman; FONT-VARIANT: normal"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #993300"&gt;Forms&lt;/SPAN&gt;&lt;SPAN style="COLOR: #993300; FONT-FAMILY: Times New Roman"&gt; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN-LEFT: 1.75in; VERTICAL-ALIGN: middle; TEXT-INDENT: -0.25in"&gt;&lt;SPAN style="COLOR: #993300; FONT-FAMILY: Symbol"&gt;·&lt;SPAN style="FONT-WEIGHT: normal; FONT-SIZE: 7pt; FONT-STYLE: normal; FONT-FAMILY: Times New Roman; FONT-VARIANT: normal"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #993300"&gt;Issues List&lt;/SPAN&gt;&lt;SPAN style="COLOR: #993300; FONT-FAMILY: Times New Roman"&gt; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN-LEFT: 1.25in; VERTICAL-ALIGN: middle; TEXT-INDENT: -0.25in"&gt;&lt;SPAN style="COLOR: #993300; FONT-FAMILY: Symbol"&gt;·&lt;SPAN style="FONT-WEIGHT: normal; FONT-SIZE: 7pt; FONT-STYLE: normal; FONT-FAMILY: Times New Roman; FONT-VARIANT: normal"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #993300"&gt;Reports&lt;/SPAN&gt;&lt;SPAN style="COLOR: #993300; FONT-FAMILY: Times New Roman"&gt; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN-LEFT: 1.75in; VERTICAL-ALIGN: middle; TEXT-INDENT: -0.25in"&gt;&lt;SPAN style="COLOR: #993300; FONT-FAMILY: Symbol"&gt;·&lt;SPAN style="FONT-WEIGHT: normal; FONT-SIZE: 7pt; FONT-STYLE: normal; FONT-FAMILY: Times New Roman; FONT-VARIANT: normal"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #993300"&gt;Active Issues&lt;/SPAN&gt;&lt;SPAN style="COLOR: #993300; FONT-FAMILY: Times New Roman"&gt; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN-LEFT: 1.75in; VERTICAL-ALIGN: middle; TEXT-INDENT: -0.25in"&gt;&lt;SPAN style="COLOR: #993300; FONT-FAMILY: Symbol"&gt;·&lt;SPAN style="FONT-WEIGHT: normal; FONT-SIZE: 7pt; FONT-STYLE: normal; FONT-FAMILY: Times New Roman; FONT-VARIANT: normal"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #993300"&gt;Issues by Assigned To&lt;/SPAN&gt;&lt;SPAN style="COLOR: #993300; FONT-FAMILY: Times New Roman"&gt; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN style="COLOR: #993300"&gt;For object shortcuts in the "Issues and Contacts" category and the "Issues" category, I'd disable design UI (using the shortcut properties option in the context menu for each shortcut). The property on the shortcut will disable all UI entry points into design for that object.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: Times New Roman"&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN style="COLOR: #993300"&gt;{&lt;SPAN style="COLOR: #993300"&gt;{missing picture&amp;nbsp;2 is available at &lt;SPAN style="COLOR: #993300"&gt;&lt;A href="http://groups.msn.com/AccessBlogPics/shoebox.msnw?action=ShowPhoto&amp;amp;PhotoID=2" mce_href="http://groups.msn.com/AccessBlogPics/shoebox.msnw?action=ShowPhoto&amp;amp;PhotoID=2"&gt;http://groups.msn.com/AccessBlogPics/shoebox.msnw?action=ShowPhoto&amp;amp;PhotoID=2&lt;/A&gt;&lt;/SPAN&gt;}&lt;/SPAN&gt;}&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN style="COLOR: #993300"&gt;Now with my categories ready I can create the logic that sets the navigation pane category based on the user. &amp;nbsp;To identify the user I can use code to get the current windows user ID and map that ID to a given category or any other logic (like a custom login prompt) I prefer. &lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN style="COLOR: #993300"&gt;Let's say I'm using code to identify the user and assign him a category (in a function called GetUseCategory()), then the startup macro would look like:&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: Times New Roman"&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN style="COLOR: #993300"&gt;&lt;SPAN style="COLOR: #993300"&gt;{missing picture&amp;nbsp;3 is available at &lt;SPAN style="COLOR: #993300"&gt;&lt;A href="http://groups.msn.com/AccessBlogPics/shoebox.msnw?action=ShowPhoto&amp;amp;PhotoID=3" mce_href="http://groups.msn.com/AccessBlogPics/shoebox.msnw?action=ShowPhoto&amp;amp;PhotoID=3"&gt;http://groups.msn.com/AccessBlogPics/shoebox.msnw?action=ShowPhoto&amp;amp;PhotoID=3&lt;/A&gt;&lt;/SPAN&gt;}&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;B&gt;&lt;SPAN style="COLOR: #993300"&gt;A brief introduction to Navigation pane macros:&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;U&gt;&lt;SPAN style="COLOR: #993300"&gt;SetDisplayedCategories&lt;/SPAN&gt;&lt;/U&gt;&lt;SPAN style="COLOR: #993300"&gt;:&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN style="COLOR: #993300"&gt;This macro allows the user to specify the categories displayed in the navigation pane. It takes two arguments:&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN-LEFT: 0.5in"&gt;&lt;SPAN style="COLOR: #993300"&gt;Show (Yes/No): Specifies whether to hide or show specified category.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN-LEFT: 0.5in"&gt;&lt;SPAN style="COLOR: #993300"&gt;Category (Enum): Allows the user to specify an existing category. If blank macros operates on all categories.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;U&gt;&lt;SPAN style="COLOR: #993300"&gt;LockNavigationPane&lt;/SPAN&gt;&lt;/U&gt;&lt;SPAN style="COLOR: #993300"&gt;:&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN style="COLOR: #993300"&gt;This macro allows the user to lock the navigation pane, disabling any further customization via the UI. It takes one argument: Lock (Yes/No).&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;U&gt;&lt;SPAN style="COLOR: #993300"&gt;NavigateTo&lt;/SPAN&gt;&lt;/U&gt;&lt;SPAN style="COLOR: #993300"&gt;:&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN style="COLOR: #993300"&gt;This macro allows the user to navigate to a specific category and sub group. It takes two arguments:&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN-LEFT: 0.5in"&gt;&lt;SPAN style="COLOR: #993300"&gt;Category (Enum): Specifies the name of an existing category. If blank default to first available category.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN-LEFT: 0.5in"&gt;&lt;SPAN style="COLOR: #993300"&gt;Group (Enum): Specifies the name of the group within the category.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;B&gt;&lt;U&gt;&lt;SPAN style="COLOR: #993300"&gt;ADP’s and Access 12 Security:&lt;/SPAN&gt;&lt;/U&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN style="COLOR: #993300"&gt;The ADP architecture is conceptually unchanged between Access 2003 and Access12, which means that the features continue to work in essentially the same way they did.&amp;nbsp; We continue to believe that SQL Server makes a great store for Access data and that building the UI either through linked tables or ADPs will continue to work well.&lt;/SPAN&gt;&lt;/P&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=488022" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/access/archive/tags/Access+2007/default.aspx">Access 2007</category><category domain="http://blogs.msdn.com/access/archive/tags/Security/default.aspx">Security</category><category domain="http://blogs.msdn.com/access/archive/tags/Macro/default.aspx">Macro</category><category domain="http://blogs.msdn.com/access/archive/tags/Navigation+Pane/default.aspx">Navigation Pane</category></item><item><title>Access 12 Security Model</title><link>http://blogs.msdn.com/access/archive/2005/10/19/access-12-security-model.aspx</link><pubDate>Wed, 19 Oct 2005 18:39:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:482845</guid><dc:creator>Erik Rucker</dc:creator><slash:comments>37</slash:comments><comments>http://blogs.msdn.com/access/comments/482845.aspx</comments><wfw:commentRss>http://blogs.msdn.com/access/commentrss.aspx?PostID=482845</wfw:commentRss><description>&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Verdana"&gt;In last week’s post, I talked at a high-level about some engine-level changes we’ve made to Access.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;This week, I’ll talk about changes to the security model that sits on top of that engine, and crosses into the UI as well.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;Starting next week, I’ll be going into the UI changes and all the other new stuff we’ve done in the product.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Verdana"&gt;&lt;?xml:namespace prefix = o /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;B&gt;&lt;U&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Verdana"&gt;Fewer modal prompts on boot (by default) and disabled mode&lt;/SPAN&gt;&lt;/U&gt;&lt;/B&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Verdana"&gt;In Access 11 based on the configuration of the machine when a user opened a database, he or she encountered 3 to 4 modal startup prompts which, to say the least, was cumbersome. &lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/SPAN&gt;In Access 12 we've been able to weed out most of these startup prompts by improving the application's trust evaluation model (improvements to the Office Macro security model) and making core improvements to the client.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;When a user opens a database, Access 12 will assess the trust around this database by using the following pieces of evidence:&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=Aardvark style="MARGIN: 0in 0in 0pt 0.5in"&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; mso-fareast-font-family: 'Courier New'"&gt;&lt;SPAN style="mso-list: Ignore"&gt;o&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN dir=ltr&gt;&lt;B&gt;Location of the database file: &lt;/B&gt;Using the Office trust center, users can denote certain folders (local or remote) as trusted locations. This is an easy way to tell the application that the Office file within this folder is trusted and hence is safe to launch. &lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=Aardvark style="MARGIN: 0in 0in 0pt 0.5in"&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; mso-fareast-font-family: 'Courier New'"&gt;&lt;SPAN style="mso-list: Ignore"&gt;o&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN dir=ltr&gt;&lt;B&gt;Code signatures: &lt;/B&gt;The good old signature model still exists. A user can digitally sign a database with his or her code certificate and share such a signed database with other users. Users who trust the certificate can then launch any Office file with a valid signature as a trusted file.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Verdana"&gt;By examining these pieces of evidence associated with a database, the Access client then makes a decision to trust the database or not. If trusted, the database will launch fully enabled. If the database is not trusted, Access will still open the database, but components like VB code, macros, pass through queries and the like will be disabled. This disabled state of the database will allow the user to examine the file, without the fear of code execution.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;If the user decides the file is trustable after examining it, she can choose to trust it and thereby enable all code, etc.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;This trust model is shared across the Office suite, so will be familiar to all Office users.&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Verdana"&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; VERTICAL-ALIGN: middle"&gt;&lt;B&gt;&lt;U&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Verdana"&gt;Safe Macros&lt;/SPAN&gt;&lt;/U&gt;&lt;/B&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Verdana"&gt;When in disabled mode, any set of custom logic even in simple and potentially safe cases like navigating to another Access object (hmm … isn't this the switchboard scenario) would be disabled.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;Access 12 has created a sandboxed coding mechanism for cases like this using the Access Macro language.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;Macros have been part of access since version 1, but are rarely used by developers today, since they’re essentially a subset of VBA.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;In Access 12, however, we’ve been able to use that subset to our advantage by marking many of the macro actions as “safe”.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;These safe macro actions can then be stitched together to provide logical components that still function if the database is opened in disabled mode. This subset of safe macros is &lt;B&gt;not &lt;/B&gt;meant to completely replace the need for code, but to provide basic and safe operations within disabled mode. &lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Verdana"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; VERTICAL-ALIGN: middle"&gt;&lt;B&gt;&lt;U&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Verdana"&gt;Improved encryption with database passwords&lt;/SPAN&gt;&lt;/U&gt;&lt;/B&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Verdana"&gt; &lt;/SPAN&gt;&lt;/B&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Verdana"&gt;In previous versions Access depended on JET's ability to encode a database with its proprietary encoding scheme. Though the scheme served its purpose when it was first released, the current market provides better and tougher encryptions algorithms that can be used. &lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/SPAN&gt;The same goes with the "Database password" feature, JET would allow only users that knew the password to open the database, but would do little to encrypt the file when a password was set.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;In Access 12 (by improving the new engine), we've combined the two features into "Encrypt with database password" for new file formats (for backwards compatibility reasons the old file formats would still support the old proprietary scheme). &lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/SPAN&gt;This feature allows users to encrypt a database using one the many Office supported algorithms, bringing encryption in Access on par with the new encryption models for other Office applications.&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Verdana"&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; VERTICAL-ALIGN: middle"&gt;&lt;B&gt;&lt;U&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Verdana"&gt;User level security&lt;/SPAN&gt;&lt;/U&gt;&lt;/B&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Verdana"&gt; &lt;/SPAN&gt;&lt;/B&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Verdana"&gt;Since JET is a file based database system where users need physical access to the file to operate on their data, the concept of user level security in Jet to assign different levels of user access to the data within the same file was not recommended. To have multiple people use the database but with different data access privileges, the recommended practice was to move this data to a centralized service like SQL server or SharePoint lists. &lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/SPAN&gt;However, Jet has had this feature for some time and it has worked OK for usability and custom navigation scenarios but isn’t recommended for actual security. &lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/SPAN&gt;To help promote using truly secure user-level security, ACE will no longer support the JET concept of user level security for new file formats (for backwards compatibility reasons ACE will continue to support JET user level security for old file formats). To help maintain the scenarios around custom navigation the Access UI (including the NavPane) will allow solution creators to completely customize the navigation experience.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Verdana"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Verdana"&gt;We believe that the security work in Access 12 will both make the product more secure through things like the improved encryption and clearer user-level security, and will make security easier to manage through the new trust model and “safe” macros.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;In the next post, I’ll start talking about the feature changes we’ve made to the product by describing how report design has changed.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=482845" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/access/archive/tags/Access+2007/default.aspx">Access 2007</category><category domain="http://blogs.msdn.com/access/archive/tags/Security/default.aspx">Security</category></item></channel></rss>