Commit b5296416 by O'Reilly Media, Inc.

Initial commit

parents
function SwitchPlayer( elementId, styleId, VideoHeight, PIPAndVideoWidth, MediaDirectory, ConfigMediaDirectory, FlashController, FlashConfig, FlashQuality, SWFMinPlayerVersion, SWFBGColor, SWFLoadingMovURL, SWFMatchPreloadMovieSize )
{
var MediaDirAndController = MediaDirectory + FlashController;
var MedaiDirAndConfig = ConfigMediaDirectory + FlashConfig;
var BGColor = "#" + SWFBGColor;
var fo = new SWFObject( MediaDirAndController, FlashController, PIPAndVideoWidth, VideoHeight, SWFMinPlayerVersion, BGColor, false, FlashQuality );
fo.addVariable( "csConfigFile", MedaiDirAndConfig );
fo.addVariable( "csColor" , SWFBGColor );
if( SWFLoadingMovURL != "" && SWFLoadingMovURL != null )
{
fo.addVariable( "csPreloader" , SWFLoadingMovURL );
}
if( SWFMatchPreloadMovieSize != "" && SWFMatchPreloadMovieSize != null )
{
fo.addVariable( "csScaleLoadingMov" , SWFMatchPreloadMovieSize );
}
if( args.movie )
{
fo.addVariable( "csFilesetBookmark", args.movie );
}
if( fo.write( elementId ) == false )
{
var node = '<div id="cs_noexpressUpdate">'
+ '<p align="center">The Camtasia Studio video content presented here </p><p align="center"> requires JavaScript to be enabled and the latest version </p><p align="center">of the Macromedia Flash Player. If you are you using </p><p align="center">a browser with JavaScript disabled please enable it now.</p><p align="center"> Otherwise, please update your version of the </p><p align="center">free Flash Player by <a href="http://www.macromedia.com/go/getflashplayer">downloading here</a>. </p>'
+ '</div>'
var n = (typeof elementId == 'string') ? document.getElementById( elementId ) : elementId;
n.innerHTML = node;
}
return true;
}
\ No newline at end of file
body {
margin-left: 0px;
margin-top: 0px;
margin-right: 0px;
margin-bottom: 0px;
font-size: small;
}
img {
border:none;
}
ul,ol {
list-style:none;
}
a {
text-decoration: none;
cursor: pointer;
}
.note {
font-size: 50%;
color: #CCC;
}
div#csCenter{
margin: 20px auto 0;
font-family:Arial, Helvetica, sans-serif;
width: 708px;
}
#video1 {
width: 100%;
height: 559px;
background: #000 url(images/curain_bkgd.gif) repeat-x top;
cursor: pointer;
}
#video2 {
width: 100%;
height: 559px;
background-color:#ffffff;
padding: 0px;
margin: 0px;
background-image: none;
}
div#vidspacefix {
height: 11em;
}
div#playbutton {
margin: 0px auto 0;
width: 95%;
border: 2px solid #000000;
background: #c6c8ca url(images/play_bttn_bkgd.gif) repeat-x top;
height: 1.5em;
color: #000000;
font-size: 300%;
padding-top: 0.15em;
padding-bottom: 0.15em;
}
div#playtext {
background: url(images/play_icon.gif) no-repeat 10px;
width: 450px;
padding-left: 65px;
margin-right: auto;
margin-left: auto;
padding-top: 2px;
margin-top: 0.22em;
}
div#vidinfo {
color: #FFFFFF;
text-align:center;
margin-top: 3em;
font-size: 150%;
}
div#downloads
{
background: #c7c9cb url(images/dl_row_bkgd.gif) repeat-x top;
border: 1px solid #B3B3B3;
visibility: visible;
width: 100%;
margin: 5px 0px 0px;
float: left;
white-space:nowrap;
}
div#downloads div#dltitle {
width:25%;
color: #333;
font-size:150%;
float: left;
padding-left: 10px;
padding-top: .4em;
margin:0;
display:inline;
}
#dlfiles {
width:70%;
float:right;
margin:0;
padding: 0px;
display:inline;
}
div#downloads #dlfiles li {
font-family:Arial, Helvetica, sans-serif;
float:right;
font-size: 95%;
margin-top: 5px;
margin-bottom: 5px;
}
div#downloads #dlfiles a {
text-decoration: none;
display:block;
padding:5px 10px 5px 30px;
color: #666;
width: 10em;
margin-right: 0.5em;
border: 1px solid #bbb;
background: #f8f8f9 url(images/dl_icon_bkgd.gif) repeat-x left top;
}
div#downloads #dlfiles a:hover {
color: #000;
border: 1px solid #000;
background: #fff url(images/dl_icon_bkgd_over.gif) repeat-x left top;
}
/* CSS Document */
#cs_flashBody
{
background-color: #ffffff;
font: .8em/1.3em verdana,arial,helvetica,sans-serif;
text-align: center;
}
#cs_noexpressUpdate
{
margin: 0 auto;
font-family:Arial, Helvetica, sans-serif;
font-size: x-small;
color: #003300;
text-align: left;
background-image: url(Untitled_nofp_bg.gif);
background-repeat: no-repeat;
width: 210px;
height: 200px;
padding: 40px;
}
Before running the TransferNames query in the Marketing.accdb database, open the query in design view (right-click it and choose Design) and click the Query Tools | Design --> Query Type --> Append button. Click the Browse button, and browse to (and select) the Sales.accdb database, wherever you've placed it on your computer.
\ No newline at end of file
Using the AdventureWorks.accdb database, open the OrderedItems query and Switch to PivotTable View to see the pivot table.
\ No newline at end of file
When you first open some of the more complex databases in later chapters, you might not see all the database objects in the navigation pane at first. Some groups might be collapsed to draw your attention to specific objects that are important for the given example. Read Chapter 14 for complete information about how the navigation pane works, and how to show or hide just what you want.
\ No newline at end of file
/* CSS Document */
#cs_flashBody
{
background-color: #ffffff;
font: .8em/1.3em verdana,arial,helvetica,sans-serif;
text-align: center;
}
#cs_noexpressUpdate
{
margin: 0 auto;
font-family:Arial, Helvetica, sans-serif;
font-size: x-small;
color: #003300;
text-align: left;
background-image: url(Untitled_nofp_bg.gif);
background-repeat: no-repeat;
width: 210px;
height: 200px;
padding: 40px;
}
## Example files for the title:
# Access 2007: The Missing Manual, by Matthew MacDonald
[![Access 2007: The Missing Manual, by Matthew MacDonald](http://akamaicovers.oreilly.com/images/9780596527600/cat.gif)](https://www.safaribooksonline.com/library/view/title/0596527608//)
The following applies to example files from material published by O’Reilly Media, Inc. Content from other publishers may include different rules of usage. Please refer to any additional usage rights explained in the actual example files or refer to the publisher’s website.
O'Reilly books are here to help you get your job done. In general, you may use the code in O'Reilly books in your programs and documentation. You do not need to contact us for permission unless you're reproducing a significant portion of the code. For example, writing a program that uses several chunks of code from our books does not require permission. Answering a question by citing our books and quoting example code does not require permission. On the other hand, selling or distributing a CD-ROM of examples from O'Reilly books does require permission. Incorporating a significant amount of example code from our books into your product's documentation does require permission.
We appreciate, but do not require, attribution. An attribution usually includes the title, author, publisher, and ISBN.
If you think your use of code examples falls outside fair use or the permission given here, feel free to contact us at <permissions@oreilly.com>.
Please note that the examples are not production code and have not been carefully testing. They are provided "as-is" and come with no warranty of any kind.
File added
<?xml version="1.0" encoding="UTF-8"?>
<main>
<config>
<hasPipVideo type="Boolean">0</hasPipVideo>
<hasPipOverlay type="Boolean">0</hasPipOverlay>
<hasToc type="Boolean">0</hasToc>
<hasAudio type="Boolean">1</hasAudio>
<mainVidIsFlv type="Boolean">0</mainVidIsFlv>
<skinTheme>goog</skinTheme>
<autoStart type="Boolean">1</autoStart>
<backgroundColor>FFFFFF</backgroundColor>
<showLoadingMov type="Boolean">1</showLoadingMov>
<loadingMovPercentToLoad type="Number">10</loadingMovPercentToLoad>
<loadingMovMinDuration type="Number">3</loadingMovMinDuration>
<controllerColor type="Number"></controllerColor>
<showAbout type="Boolean">1</showAbout>
<aboutBoxText></aboutBoxText>
<timeDisplayFormat>MM:SS</timeDisplayFormat>
<showDuration type="Boolean">1</showDuration>
<showElapsedTime type="Boolean">1</showElapsedTime>
<timeDisplayFont>Arial</timeDisplayFont>
<timeDisplayFontColor type="Number">0x000000</timeDisplayFontColor>
<okLabel>OK</okLabel>
<localSecurityWarningTitle>Important</localSecurityWarningTitle>
<localSecurityWarning>This action is not allowed by the default Flash Player security settings when the content is played from a hard drive or CD. Once the content is moved to a web server, it should function as expected, and you should not see this message.
For other distribution methods, or to understand how the Flash Player security settings affect this content, please see the &quot;Flash Player Security&quot; topic in the Camtasia Studio help file.
</localSecurityWarning>
<includeScoreInEmail type="Boolean">0</includeScoreInEmail>
<rememberQuizAnswers type="Number">0</rememberQuizAnswers>
<endAction>Stop</endAction>
<endActionParam></endActionParam>
<controlsWidth type="Number">708</controlsWidth>
<controlsHeight type="Number">504</controlsHeight>
<volume type="Number">100</volume>
<hasCaptions type="Boolean">0</hasCaptions>
<captionsVisible type="Boolean">0</captionsVisible>
<caption>
<font>
<type type="String">Microsoft Sans Serif</type>
<size type="Number">23</size>
<weight type="Boolean">0</weight>
<color type="Number">0xFFFFFF</color>
<cpl type="Number">32</cpl>
</font>
<panel>
<background>
<color type="Number">0x000000</color>
<alpha type="Number">50</alpha>
</background>
<animation>
<speed type="Number">40</speed>
</animation>
</panel>
</caption>
<video1>
<width type="Number">708</width>
<height type="Number">504</height>
</video1>
<pip>
<width type="Number">0</width>
<height type="Number">0</height>
</pip>
<toc>
<x type="Number">0</x>
<y type="Number">0</y>
<width type="Number">0</width>
<height type="Number">0</height>
<!-- AlternatingRowColors takes precedence over BackgroundColor and RowDepthColors takes precedence over both AlternatingRowColors and BackgroundColor -->
<backgroundColor type="Number"></backgroundColor>
<!-- accepts a hex value -->
<alternatingRowColors>
<!-- row alternate color based on the array of color values (row 1 = the value of the first color, row 2 = the value of the second color, row 3 equals the value of the first color, etc. -->
<array>
<!-- accepts two or more hex colors ( add additional Colors tags if more are needed ) -->
<colors type="Number"></colors>
<colors type="Number"></colors>
</array>
</alternatingRowColors>
<rowDepthColors>
<!-- color is based on the rows depth in the tree hierarchy -->
<array>
<!-- accepts two or more hex colors colors in the form of 0xFFFFFF ( add additional Colors tags if more are needed ) -->
<colors type="Number"></colors>
<!-- accepts a hex value -->
<colors type="Number"></colors>
<!-- accepts a hex value -->
</array>
</rowDepthColors>
<rowRollOverColor type="Number">0xA4A4A4</rowRollOverColor>
<!-- color of the row on mouse roll over - ignored if UseRollOver is false -->
<rowSelectedColor type="Number">0xC0C0C0</rowSelectedColor>
<!-- color of the row when it is the currently active row -->
<rowIndentation>10</rowIndentation>
<!-- number of pixels each row of a tree is indented -->
<borderStyle>solid</borderStyle>
<!-- none, inset, outset, solid -->
<textColor type="Number">0x000000</textColor>
<!-- the font color of tree items -->
<fontFamily>_sans</fontFamily>
<!-- the name of the font to be used, i.e. Arial, Times New Roman, HelveticaNeueLT Std -->
<fontSize type="Number">12</fontSize>
<fontWeight>none</fontWeight>
<!-- none, bold -->
<textAlign>left</textAlign>
<!-- left, right, center -->
<textDecoration>none</textDecoration>
<!-- none, underline -->
<textIndent type="Number">0</textIndent>
<textRollOverColor type="Number">0x000000</textRollOverColor>
<!-- color of text on mouse roll over - ignored if UseRollOver is false -->
<textSelectedColor type="Number">0x000000</textSelectedColor>
<!-- color of text when row is selected -->
<useRollOver type="Boolean">0</useRollOver>
<!-- Use boolean numerical equivalents( 0 = false, 1 = true ) if set to false the rollover colors for the text and row are ignored -->
<collapsible type="Boolean">0</collapsible>
<!-- if false, the collapsible nature of the tree is disabled -->
</toc>
<quiz>
<disableFeedback type="Boolean">0</disableFeedback>
<txtQuestionOf>Question @ of @</txtQuestionOf>
<txtPrev>Prev</txtPrev>
<txtSubmit>Submit</txtSubmit>
<txtNext>Next</txtNext>
<txtDone>Done</txtDone>
<txtPreview>Preview</txtPreview>
<txtSend>Send</txtSend>
<txtMainMessage>You have reached the end of the questions and this video. Your answers are ready to be sent.</txtMainMessage>
<txtEmailContents>E-mail Contents</txtEmailContents>
<txtEmailTo>E-mail to </txtEmailTo>
<txtAnswersSent>Your answers have been sent.</txtAnswersSent>
<txtsummary>You have completed @ of @ questions.</txtsummary>
<txtScore>Score = @/@</txtScore>
<txtSummaryTitle>Answers Summary</txtSummaryTitle>
</quiz>
</config>
<playlist>
<array>
<fileset>
<video1>
<duration type="Number">332.20</duration>
<uri>Untitled.swf</uri>
<frameRate type="Number">5</frameRate>
<keyframeRate type="Number">0</keyframeRate>
<blendingMode>Normal</blendingMode>
<isFlv type="Boolean">0</isFlv>
</video1>
<pip>
<duration type="Number">332.20</duration>
<frameRate type="Number">10</frameRate>
<keyframeRate type="Number">30</keyframeRate>
<uri>Untitled_PIP.flv</uri>
</pip>
<hasPipVideo type="Boolean">0</hasPipVideo>
<hotspotInfo>
</hotspotInfo>
<quizInfo>
</quizInfo>
<captionInfo>
</captionInfo>
</fileset>
</array>
</playlist>
<tocInfo>
</tocInfo>
</main>
\ No newline at end of file
var args = new Object();
var query = location.search.substring(1);
// Get query string
var pairs = query.split( "," );
// Break at comma
for ( var i = 0; i < pairs.length; i++ )
{
var pos = pairs[i].indexOf('=');
if( pos == -1 )
{
continue; // Look for "name=value"
}
var argname = pairs[i].substring( 0, pos ); // If not found, skip
var value = pairs[i].substring( pos + 1 ); // Extract the name
args[argname] = unescape( value ); // Extract the value
}
function OnLoad()
{
vid = document.getElementById( "video1" );
addEvent( vid, "click", divClickHandler );
}
var toc1 = null;
var toc2 = null;
var vid = null;
//adds and event listener across major browser versions
function addEvent( obj, type, fn )
{
if ( obj.addEventListener )
{
obj.addEventListener( type, fn, true );
}
else if ( obj.attachEvent )
{
obj.attachEvent( "on" + type, fn );
}
else
{
obj["on" + type] = fn;
}
}
//removes event listeners across major browser versions
function removeEvent( obj, type, fn )
{
if ( obj.removeEventListener )
{
obj.removeEventListener( type, fn, true );
}
else if ( obj.detachEvent )
{
obj.detachEvent( "on" + type, fn );
}
else
{
delete obj["on" + type];
}
}
function divClickHandler()
{
SwitchPlayer( 'video1', 'video2', '559', '708', '', '', 'Untitled_controller.swf', 'Untitled_config.xml', 'best', '7', 'FFFFFF', 'Untitled_preload.swf', '' );
removeEvent( vid, 'click', divClickHandler );
}
function SwitchPlayer( elementId, styleId, VideoHeight, PIPAndVideoWidth, MediaDirectory, ConfigMediaDirectory, FlashController, FlashConfig, FlashQuality, SWFMinPlayerVersion, SWFBGColor, SWFLoadingMovURL, SWFMatchPreloadMovieSize )
{
var MediaDirAndController = MediaDirectory + FlashController;
var MedaiDirAndConfig = ConfigMediaDirectory + FlashConfig;
var BGColor = "#" + SWFBGColor;
var fo = new SWFObject( MediaDirAndController, FlashController, PIPAndVideoWidth, VideoHeight, SWFMinPlayerVersion, BGColor, false, FlashQuality );
fo.addVariable( "csConfigFile", MedaiDirAndConfig );
fo.addVariable( "csColor" , SWFBGColor );
if( SWFLoadingMovURL != "" && SWFLoadingMovURL != null )
{
fo.addVariable( "csPreloader" , SWFLoadingMovURL );
}
if( SWFMatchPreloadMovieSize != "" && SWFMatchPreloadMovieSize != null )
{
fo.addVariable( "csScaleLoadingMov" , SWFMatchPreloadMovieSize );
}
if( args.movie )
{
fo.addVariable( "csFilesetBookmark", args.movie );
}
if( fo.write( elementId ) == false )
{
var node = '<div id="cs_noexpressUpdate">'
+ '<p align="center">The Camtasia Studio video content presented here </p><p align="center"> requires JavaScript to be enabled and the latest version </p><p align="center">of the Macromedia Flash Player. If you are you using </p><p align="center">a browser with JavaScript disabled please enable it now.</p><p align="center"> Otherwise, please update your version of the </p><p align="center">free Flash Player by <a href="http://www.macromedia.com/go/getflashplayer">downloading here</a>. </p>'
+ '</div>'
var n = (typeof elementId == 'string') ? document.getElementById( elementId ) : elementId;
n.innerHTML = node;
}
return true;
}
\ No newline at end of file
body {
margin-left: 0px;
margin-top: 0px;
margin-right: 0px;
margin-bottom: 0px;
font-size: small;
}
img {
border:none;
}
ul,ol {
list-style:none;
}
a {
text-decoration: none;
cursor: pointer;
}
.note {
font-size: 50%;
color: #CCC;
}
div#csCenter{
margin: 20px auto 0;
font-family:Arial, Helvetica, sans-serif;
width: 692px;
}
#video1 {
width: 100%;
height: 555px;
background: #000 url(images/curain_bkgd.gif) repeat-x top;
cursor: pointer;
}
#video2 {
width: 100%;
height: 555px;
background-color:#ffffff;
padding: 0px;
margin: 0px;
background-image: none;
}
div#vidspacefix {
height: 11em;
}
div#playbutton {
margin: 0px auto 0;
width: 95%;
border: 2px solid #000000;
background: #c6c8ca url(images/play_bttn_bkgd.gif) repeat-x top;
height: 1.5em;
color: #000000;
font-size: 300%;
padding-top: 0.15em;
padding-bottom: 0.15em;
}
div#playtext {
background: url(images/play_icon.gif) no-repeat 10px;
width: 450px;
padding-left: 65px;
margin-right: auto;
margin-left: auto;
padding-top: 2px;
margin-top: 0.22em;
}
div#vidinfo {
color: #FFFFFF;
text-align:center;
margin-top: 3em;
font-size: 150%;
}
div#downloads
{
background: #c7c9cb url(images/dl_row_bkgd.gif) repeat-x top;
border: 1px solid #B3B3B3;
visibility: visible;
width: 100%;
margin: 5px 0px 0px;
float: left;
white-space:nowrap;
}
div#downloads div#dltitle {
width:25%;
color: #333;
font-size:150%;
float: left;
padding-left: 10px;
padding-top: .4em;
margin:0;
display:inline;
}
#dlfiles {
width:70%;
float:right;
margin:0;
padding: 0px;
display:inline;
}
div#downloads #dlfiles li {
font-family:Arial, Helvetica, sans-serif;
float:right;
font-size: 95%;
margin-top: 5px;
margin-bottom: 5px;
}
div#downloads #dlfiles a {
text-decoration: none;