Professional Documents
Culture Documents
SET FOCUS OF FIRST FIELD........................................3 LOCK DATABASE..........................................................3 UNLOCK DATABASE.....................................................3 CLOSE A WINDOW:........................................................6 OPEN WINDOWS MEDIA PLAYER WITH A SONG:....6 HOW TO TURN MUSIC ON OR OFF..............................7 INSERT FLASH IN A WEB PAGE..................................8 REDIRECT A WEB PAGE.............................................10 GET USER LOGIN NAME.............................................11 SERIOUS ERROR ACROBAT PDFMAKER ADDIN 12 VERIFY THAT RECORDS DONT ALREADY EXIST..13 SEND EMAIL FROM ACCESS.....................................15 PROGRESS METER AND CHECK BOXES - DATAPIG .........................................................................................21
/var/www/apps/conversion/current/tmp/scratch5735/103941692.doc
Page 1
STOP USER FROM CLOSING APP - DATAPIG.........25 ROTATE PICTURES OR TEXT.....................................26 OPEN INTERNET EXPLORER WINDOW WITH NO MENUS...........................................................................28 CHECK TO SEE IF TABLE EXISTS.............................29 UPDATE IMPORT WITH CURRENT DATE.................30 CALL THE STANDARD WINDOWS FILE OPEN/SAVE DIALOG BOX.................................................................31 HIGHLIGHTING SEARCH MATCHES IN ACCESS 2007................................................................................38 FIND CHARACTER INSTRING..................................40 ADD FIELD TO TABLE.................................................40 CONVERT TO SENTENCE CASE................................41 CODE TO SPECIFY REPORT VIA MSGBOX..............41 DATEDIFF SOLUTIONS................................................42
/var/www/apps/conversion/current/tmp/scratch5735/103941692.doc
Page 2
>
LOCK DATABASE
ChangePropertyDdl "AllowBypassKey", dbBoolean, True
UNLOCK DATABASE
/var/www/apps/conversion/current/tmp/scratch5735/103941692.doc
Page 3
The shift bypass key works in all versions of Access that I can remember (which is back to Access 95), so if it's not currently working, then someone has disabled it. Unless that someone also implemented User-Level Security, then you can re-enable the shift bypass key by opening the Immediate Window and typing the following: CurrentDb.Properties.Delete "AllowBypassKey" . . . and then pressing the <ENTER> key. Close the database and reopen it again by holding the <SHIFT> key down until the database is completely open. All of the startup options will be ignored and your tables will be visible in the Database Window. EXPLANATION: See: http://www.mvps.org/access/general/gen0040.htm
Select the Macro tab on the database window. If there is a macro named AutoKeys click on it and then click on Design, otherwise click New (and save it with the name AutoKeys). Under the Macro Name column, enter the key code combination that you want to use for the backdoor, select RunCode in the Action column and the name of your VBA function procedure in the property in the lower part of the window. For more details see AutoKeys in Help. Don't worry about becoming faniliar with macros. I use only one or two macros, AutoKeys and sometimes AutoExec. -Marsh MVP [MS Access] XP wrote: >I like your idea; can you help me out with how to set up and trap the key combination and fire the code? - I've never worked with Access Macros, but I have coded a lot. Thanks. >"Marshall Barton" wrote: >> XP wrote: >> >In Office 2003, I have noticed through examination of the [Tools] [Startup] >> >dialog box that many of the basic controls can be turned off; I like the flexibility of being able to control the interface, but is there a list of keyboard shortcuts or other info for regaining these controls? I don't want to lock myself out of my own DB by disabling all the standard GUIs, but at some point you want to test your DBs appearance and then get back in to tweak it. How do the pro's handle this? >> >> >> I kind of bail out on this by just creating a VBA procedure that turns thing on (show db window, unhide tool/menu bars, ?). Then use an AutoKey macro on an obscure key combination (Ctrl+shift+F7) to run the procedure. >> >> Don't forget that changing the AllowBypassKey (shift key) option won't take effect until the next time the db is opened.
Second Thread:
Put the code in the Load event of the form that opens when you open the app. -Dave Hargis, Microsoft Access MVP "Fuad" wrote: > OK, Dave. So then where did you place your code to activate it after the user > logged in by his own ID (or password). And you seem to have used CurrenUser > property to identify the logged user... > > --
/var/www/apps/conversion/current/tmp/scratch5735/103941692.doc
Page 4
> Regards, > Fuad > > > "Klatuu" wrote: > > > I did this once by indentifying a specific user in the code. If that user > > logged in, the code would unlock the bypass key. That is the ony thing I > > used that user ID for. >> > > So to get into the app, log on as the secret user, close the app, then open > > it again with the shift key down. >> > > -> > Dave Hargis, Microsoft Access MVP >> >> > > "Fuad" wrote: >> > > > Thank you very much, Rick. I really misunderstood the usage of this code. And > > > last one: does running of the enhanced code that Alex recommended mean that > > > only admin will be able to re-enable the by pass key by the method of running > > > code "from obscure location in the app" as you stated, i.e. application can > > > be considered to be fully "locked" for other users. And could you please just > > > shortly describe the way of the running this code from obscure location. > > > Sorry for annoying you with details, it's first time I do these security > > > things and am absolutely weak on that. >>> > > > Thanks. >>> >>> > > > -> > > Regards, > > > Fuad >>> >>> > > > "Rick Brandt" wrote: >>> > > > > Fuad wrote: > > > > > Hello Guys, >>>>> > > > > > Could anyone help me with the following issue: > > > > > I've created a database and secured it thru the user-level security > > > > > wizard by creating a updates group with password. And certainly > > > > > myself is in admin group. > > > > > I need a code or autoexec file which would enable/disable > > > > > AllowByPassKey property of the database so that only admin group can > > > > > ignore the startup setting by pressing Shift+Enter, but no updates > > > > > group users. And could you please also advise where should I place > > > > > this code if available. >>>>> > > > > > Thanks. >>>> > > > > You misunderstand how that code works. You need to run it exactly once and it > > > > takes effect the NEXT time you open the file (and every time after that). There > > > > is no need to run it every time and there is no way to make it "kick-in" for the > > > > current session. >>>> > > > > So... you leave the bypass key enabled on your development copy of the file and > > > > you run the code once on the distribution copy just before sending it out to > > > > your users. >>>> > > > > If you want to occassionally gain full access to a distributed copy then you can > > > > run code from some obscure location in the app that re-enables the bypass key. >>>> > > > > -> > > > Rick Brandt, Microsoft Access MVP > > > > Email (as appropriate) to... > > > > RBrandt at Hunter dot com
/var/www/apps/conversion/current/tmp/scratch5735/103941692.doc
Page 5
CLOSE A WINDOW:
<a href="javascript:window.close();">Close Window</a>
/var/www/apps/conversion/current/tmp/scratch5735/103941692.doc
Page 6
/var/www/apps/conversion/current/tmp/scratch5735/103941692.doc
Page 7
/var/www/apps/conversion/current/tmp/scratch5735/103941692.doc
Page 8
TYPE="application/x-shockwave-flash" PLUGINSPAGE="http://www.macromedia.com/go/getflashplayer"></EMBED> </OBJECT> <!-- Bookmarks used in the movie--> </BODY> </HTML>
/var/www/apps/conversion/current/tmp/scratch5735/103941692.doc
Page 9
REFRESH.
x; URL=http://xyz.com
Where x equals the number of seconds before the redirection takes place, and xyz.com equals the page to which you want to redirect the current page.
7.
Click OK .
/var/www/apps/conversion/current/tmp/scratch5735/103941692.doc
Page 10
'******************** Code Start ************************** ' This code was originally written by Dev Ashish. ' It is not to be altered or distributed, ' except as part of an application. ' You are free to use it in any application, ' provided the copyright notice is left unchanged. ' ' Code Courtesy of ' Dev Ashish ' Private Declare Function apiGetUserName Lib "advapi32.dll" Alias _ "GetUserNameA" (ByVal lpBuffer As String, nSize As Long) As Long Function fOSUserName() As String ' Returns the network login name Dim lngLen As Long, lngX As Long Dim strUserName As String strUserName = String$(254, 0) lngLen = 255 lngX = apiGetUserName(strUserName, lngLen) If ( lngX > 0 ) Then fOSUserName = Left$(strUserName, lngLen - 1) Else fOSUserName = vbNullString End If End Function '******************** Code End **************************
/var/www/apps/conversion/current/tmp/scratch5735/103941692.doc
Page 11
/var/www/apps/conversion/current/tmp/scratch5735/103941692.doc
Page 12
/var/www/apps/conversion/current/tmp/scratch5735/103941692.doc
Page 13
/var/www/apps/conversion/current/tmp/scratch5735/103941692.doc
Page 14
Create a form that calls the macro on the event: on click. Saved as Form2
/var/www/apps/conversion/current/tmp/scratch5735/103941692.doc
Page 15
Macro will associate with mail program (Outlook) will ask for permission
Select YES, and it outputs email to the two addresses entered in the macro.
/var/www/apps/conversion/current/tmp/scratch5735/103941692.doc
Page 16
/var/www/apps/conversion/current/tmp/scratch5735/103941692.doc
Page 17
Go to SendMyEmail Macro: The email addresses are hard coded and we want to replace them with CODE for each email in the Email Address table:
/var/www/apps/conversion/current/tmp/scratch5735/103941692.doc
Page 18
Replace hard coded email from the text box on the form that has the email addresses, Form 2
Change query that is called by the form so it only brings up the orders for the employee that is on the form2 text box
Outlook will ask for your permission to send EACH RECORD. Express Click YES from Contest Magic will automatically enter YES for each record.
/var/www/apps/conversion/current/tmp/scratch5735/103941692.doc
Page 19
/var/www/apps/conversion/current/tmp/scratch5735/103941692.doc
Page 20
/var/www/apps/conversion/current/tmp/scratch5735/103941692.doc
Page 21
/var/www/apps/conversion/current/tmp/scratch5735/103941692.doc
Page 22
/var/www/apps/conversion/current/tmp/scratch5735/103941692.doc
Page 23
/var/www/apps/conversion/current/tmp/scratch5735/103941692.doc
Page 24
/var/www/apps/conversion/current/tmp/scratch5735/103941692.doc
Page 25
/var/www/apps/conversion/current/tmp/scratch5735/103941692.doc
Page 26
Copy and place the following texts into the BODY tags:
<layer id="layer1" left="210" top="250" ></layer> <div id="div1" style="position:absolute;left:210;top:250"> </div>
/var/www/apps/conversion/current/tmp/scratch5735/103941692.doc
Page 27
In the place on the page where you want the link insert: <a href="javascript:NewWindow('http://mymetro/its/newits/page/9210Management_Org_Chart.html','9210OrgWin','800','278', 'center','front');">Business Systems Organization Chart</a>
/var/www/apps/conversion/current/tmp/scratch5735/103941692.doc
Page 28
/var/www/apps/conversion/current/tmp/scratch5735/103941692.doc
Page 29
/var/www/apps/conversion/current/tmp/scratch5735/103941692.doc
Page 30
Author(s)
Ken Getz
This can be done by either using the Common Dialog Control in Access 97 or by using the APIs defined for this purpose. To call the actual dialog from your code, see the included function TestIt() within the module or use the following example as a guideline and
Dim strFilter As String Dim strInputFileName as string strFilter = ahtAddFilterItem(strFilter, "Excel Files (*.XLS)", "*.XLS") strInputFileName = ahtCommonFileOpenSave( _ Filter:=strFilter, OpenFile:=True, _ DialogTitle:="Please select an input file...", _ Flags:=ahtOFN_HIDEREADONLY)
Note that in order to call the Save As dialog box, you can use the same wrapper function by just setting the OpenFile option as False. For example,
'Ask for SaveFileName strFilter = ahtAddFilterItem(myStrFilter, "Excel Files (*.xls)", "*.xls") strSaveFileName = ahtCommonFileOpenSave( _ OpenFile:=False, _ Filter:=strFilter, _ Flags:=ahtOFN_OVERWRITEPROMPT Or ahtOFN_READONLY)
'***************** Code Start ************** ' This code was originally written by Ken Getz. ' It is not to be altered or distributed, 'except as part of an application. ' You are free to use it in any application, ' provided the copyright notice is left unchanged. ' ' Code originally courtesy of: ' Microsoft Access 95 How-To ' Ken Getz and Paul Litwin ' Waite Group Press, 1996 ' Revised to support multiple files: ' 28 December 2007 Type tagOPENFILENAME lStructSize As Long hwndOwner As Long hInstance As Long strFilter As String strCustomFilter As String nMaxCustFilter As Long nFilterIndex As Long strFile As String nMaxFile As Long strFileTitle As String
/var/www/apps/conversion/current/tmp/scratch5735/103941692.doc
Page 31
nMaxFileTitle As Long strInitialDir As String strTitle As String Flags As Long nFileOffset As Integer nFileExtension As Integer strDefExt As String lCustData As Long lpfnHook As Long lpTemplateName As String End Type Declare Function aht_apiGetOpenFileName Lib "comdlg32.dll" _ Alias "GetOpenFileNameA" (OFN As tagOPENFILENAME) As Boolean Declare Function aht_apiGetSaveFileName Lib "comdlg32.dll" _ Alias "GetSaveFileNameA" (OFN As tagOPENFILENAME) As Boolean Declare Function CommDlgExtendedError Lib "comdlg32.dll" () As Long Global Const ahtOFN_READONLY = &H1 Global Const ahtOFN_OVERWRITEPROMPT = &H2 Global Const ahtOFN_HIDEREADONLY = &H4 Global Const ahtOFN_NOCHANGEDIR = &H8 Global Const ahtOFN_SHOWHELP = &H10 ' You won't use these. 'Global Const ahtOFN_ENABLEHOOK = &H20 'Global Const ahtOFN_ENABLETEMPLATE = &H40 'Global Const ahtOFN_ENABLETEMPLATEHANDLE = &H80 Global Const ahtOFN_NOVALIDATE = &H100 Global Const ahtOFN_ALLOWMULTISELECT = &H200 Global Const ahtOFN_EXTENSIONDIFFERENT = &H400 Global Const ahtOFN_PATHMUSTEXIST = &H800 Global Const ahtOFN_FILEMUSTEXIST = &H1000 Global Const ahtOFN_CREATEPROMPT = &H2000 Global Const ahtOFN_SHAREAWARE = &H4000 Global Const ahtOFN_NOREADONLYRETURN = &H8000 Global Const ahtOFN_NOTESTFILECREATE = &H10000 Global Const ahtOFN_NONETWORKBUTTON = &H20000 Global Const ahtOFN_NOLONGNAMES = &H40000 ' New for Windows 95 Global Const ahtOFN_EXPLORER = &H80000 Global Const ahtOFN_NODEREFERENCELINKS = &H100000 Global Const ahtOFN_LONGNAMES = &H200000 Function TestIt() Dim strFilter As String Dim lngFlags As Long strFilter = ahtAddFilterItem(strFilter, "*.MDA;*.MDB") strFilter = ahtAddFilterItem(strFilter, strFilter = ahtAddFilterItem(strFilter, strFilter = ahtAddFilterItem(strFilter,
"Access Files (*.mda, *.mdb)", _ "dBASE Files (*.dbf)", "*.DBF") "Text Files (*.txt)", "*.TXT") "All Files (*.*)", "*.*")
/var/www/apps/conversion/current/tmp/scratch5735/103941692.doc
Page 32
' Uncomment this line to try the example ' allowing multiple file names: ' lngFlags = ahtOFN_ALLOWMULTISELECT Or ahtOFN_EXPLORER Dim result As Variant result = ahtCommonFileOpenSave(InitialDir:="C:\", _ Filter:=strFilter, FilterIndex:=3, Flags:=lngFlags, _ DialogTitle:="Hello! Open Me!") If lngFlags And ahtOFN_ALLOWMULTISELECT Then If IsArray(result) Then Dim i As Integer For i = 0 To UBound(result) MsgBox result(i) Next i Else MsgBox result End If Else MsgBox result End If ' Since you passed in a variable for lngFlags, ' the function places the output flags value in the variable. Debug.Print Hex(lngFlags) End Function Function GetOpenFile(Optional varDirectory As Variant, _ Optional varTitleForDialog As Variant) As Variant ' Here's an example that gets an Access database name. Dim strFilter As String Dim lngFlags As Long Dim varFileName As Variant ' Specify that the chosen file must already exist, ' don't change directories when you're done ' Also, don't bother displaying ' the read-only box. It'll only confuse people. lngFlags = ahtOFN_FILEMUSTEXIST Or _ ahtOFN_HIDEREADONLY Or ahtOFN_NOCHANGEDIR If IsMissing(varDirectory) Then varDirectory = "" End If If IsMissing(varTitleForDialog) Then varTitleForDialog = "" End If ' Define the filter string and allocate space in the "c" ' string Duplicate this line with changes as necessary for ' more file templates. strFilter = ahtAddFilterItem(strFilter, _
/var/www/apps/conversion/current/tmp/scratch5735/103941692.doc
Page 33
"Access (*.mdb)", "*.MDB;*.MDA") ' Now actually call to get the file name. varFileName = ahtCommonFileOpenSave( _ OpenFile:=True, _ InitialDir:=varDirectory, _ Filter:=strFilter, _ Flags:=lngFlags, _ DialogTitle:=varTitleForDialog) If Not IsNull(varFileName) Then varFileName = TrimNull(varFileName) End If GetOpenFile = varFileName End Function Function ahtCommonFileOpenSave( _ Optional ByRef Flags As Variant, _ Optional ByVal InitialDir As Variant, _ Optional ByVal Filter As Variant, _ Optional ByVal FilterIndex As Variant, _ Optional ByVal DefaultExt As Variant, _ Optional ByVal FileName As Variant, _ Optional ByVal DialogTitle As Variant, _ Optional ByVal hwnd As Variant, _ Optional ByVal OpenFile As Variant) As Variant ' This is the entry point you'll use to call the common ' file open/save dialog. The parameters are listed ' below, and all are optional. ' ' In: ' Flags: one or more of the ahtOFN_* constants, OR'd together. ' InitialDir: the directory in which to first look ' Filter: a set of file filters, set up by calling ' AddFilterItem. See examples. ' FilterIndex: 1-based integer indicating which filter ' set to use, by default (1 if unspecified) ' DefaultExt: Extension to use if the user doesn't enter one. ' Only useful on file saves. ' FileName: Default value for the file name text box. ' DialogTitle: Title for the dialog. ' hWnd: parent window handle ' OpenFile: Boolean(True=Open File/False=Save As) ' Out: ' Return Value: Either Null or the selected filename Dim OFN As tagOPENFILENAME Dim strFileName As String Dim strFileTitle As String Dim fResult As Boolean ' Give the dialog a caption title. If IsMissing(InitialDir) Then InitialDir = CurDir If IsMissing(Filter) Then Filter = ""
/var/www/apps/conversion/current/tmp/scratch5735/103941692.doc
Page 34
If IsMissing(FilterIndex) Then FilterIndex = 1 If IsMissing(Flags) Then Flags = 0& If IsMissing(DefaultExt) Then DefaultExt = "" If IsMissing(FileName) Then FileName = "" If IsMissing(DialogTitle) Then DialogTitle = "" If IsMissing(hwnd) Then hwnd = Application.hWndAccessApp If IsMissing(OpenFile) Then OpenFile = True ' Allocate string space for the returned strings. strFileName = Left(FileName & String(256, 0), 256) strFileTitle = String(256, 0) ' Set up the data structure before you call the function With OFN .lStructSize = Len(OFN) .hwndOwner = hwnd .strFilter = Filter .nFilterIndex = FilterIndex .strFile = strFileName .nMaxFile = Len(strFileName) .strFileTitle = strFileTitle .nMaxFileTitle = Len(strFileTitle) .strTitle = DialogTitle .Flags = Flags .strDefExt = DefaultExt .strInitialDir = InitialDir ' Didn't think most people would want to deal with ' these options. .hInstance = 0 '.strCustomFilter = "" '.nMaxCustFilter = 0 .lpfnHook = 0 'New for NT 4.0 .strCustomFilter = String(255, 0) .nMaxCustFilter = 255 End With ' This will pass the desired data structure to the ' Windows API, which will in turn it uses to display ' the Open/Save As Dialog. If OpenFile Then fResult = aht_apiGetOpenFileName(OFN) Else fResult = aht_apiGetSaveFileName(OFN) End If ' The function call filled in the strFileTitle member ' of the structure. You'll have to write special code ' to retrieve that if you're interested. If fResult Then ' You might care to check the Flags member of the ' structure to get information about the chosen file. ' In this example, if you bothered to pass in a ' value for Flags, we'll fill it in with the outgoing ' Flags value. If Not IsMissing(Flags) Then Flags = OFN.Flags
/var/www/apps/conversion/current/tmp/scratch5735/103941692.doc
Page 35
If Flags And ahtOFN_ALLOWMULTISELECT Then ' Return the full array. Dim items As Variant Dim value As String value = OFN.strFile ' Get rid of empty items: Dim i As Integer For i = Len(value) To 1 Step -1 If Mid$(value, i, 1) <> Chr$(0) Then Exit For End If Next i value = Mid(value, 1, i) ' Break the list up at null characters: items = Split(value, Chr(0)) ' Loop through the items in the "array", ' and build full file names: Dim numItems As Integer Dim result() As String numItems = UBound(items) + 1 If numItems > 1 Then ReDim result(0 To numItems - 2) For i = 1 To numItems - 1 result(i - 1) = FixPath(items(0)) & items(i) Next i ahtCommonFileOpenSave = result Else ' If you only select a single item, ' Windows just places it in item 0. ahtCommonFileOpenSave = items(0) End If Else ahtCommonFileOpenSave = TrimNull(OFN.strFile) End If Else ahtCommonFileOpenSave = vbNullString End If End Function Function ahtAddFilterItem(strFilter As String, _ strDescription As String, Optional varItem As Variant) As String ' ' ' ' Tack a new chunk onto the file filter. That is, take the old value, stick onto it the description, (like "Databases"), a null character, the skeleton (like "*.mdb;*.mda") and a final null character.
If IsMissing(varItem) Then varItem = "*.*" ahtAddFilterItem = strFilter & _ strDescription & vbNullChar & _
/var/www/apps/conversion/current/tmp/scratch5735/103941692.doc
Page 36
varItem & vbNullChar End Function Private Function TrimNull(ByVal strItem As String) As String Dim intPos As Integer intPos = InStr(strItem, vbNullChar) If intPos > 0 Then TrimNull = Left(strItem, intPos - 1) Else TrimNull = strItem End If End Function Private Function FixPath(ByVal path As String) As String If Right$(path, 1) <> "\" Then FixPath = path & "\" Else FixPath = path End If End Function '************** Code End *****************
/var/www/apps/conversion/current/tmp/scratch5735/103941692.doc
Page 37
Highlight matches
Can you create a form where search results are highlighted within the text box? You can in Access 2007, as text boxes can display rich text. Download the sample database (ACCDB, 41kb zipped.) To use it: 1. 2. Select a field in the combo. Type the characters to match in the text box.
When you press Enter, the form filters to those records where the characters are found in the field, and displays a text box showing the matching characters in red.
Limitations
The sample database is concept-only. You will need to develop it further to use it with:
Multi-valued fields, Attachments, or OLE Objects (error); Combos where the display value is not the bound column (doesn't match); Memo fields where rich text is stored (tags may clash);
/var/www/apps/conversion/current/tmp/scratch5735/103941692.doc
Page 38
Non-numeric characters (dollar sign, date-separator, etc) in formatted fields (Date, Number, Currency, Yes/No.)
How it works
As well as the usual controls bound to fields, the continuous form shown above has:
cboField: an unbound yellow combo in the Form Header, where you select a field from a value list. (The code assumes the controls and fields have the same name.) txtSearchText: a unbound yellow text box in the Form Header, where you enter some characters to match. txtSearchDisplay: a gray text box in the Detail section, to display highlighted matches.
The idea is to include an HTML tag in set the ControlSource of txtSearchDisplay to highlight the search characters. Since its TextFormat property is Rich Text, Access 2007 knows what to do with the HTML tag. For the example above where we searched the CompanyName field for the characters "AR", the ControlSource will become:
Please Note: This is a cached tutorial (reproduced with permission). To view the tutorial at its original location click here.
/var/www/apps/conversion/current/tmp/scratch5735/103941692.doc
Page 39
/var/www/apps/conversion/current/tmp/scratch5735/103941692.doc
Page 40
/var/www/apps/conversion/current/tmp/scratch5735/103941692.doc
Page 41
DateDiff Solutions
Calculate dates across midnight: THIS DOESNT WORK: =(DateDiff("n",[TueStartW1],[TueEndW1])-30)/60 THIS DOES: =((DateDiff("n",[TueStartW1],[TueEndW1])+1440-30) Mod 1440)/60 1440 = minutes in 24 hour period
Source: http://www.pcreview.co.uk/forums/calculate-time-difference-t4025488.html On Sep 27, 11:38*am, John Spencer <JSPEN...@Hilltop.umbc> wrote: > The following expression can be used to calculate elapsed time when thereis > no date component and times may be over two days. *For example, 11:49 PM to > 1:00 AM > > Number of Minutes: > * * (DateDiff("n",Starttime,Endtime) + 1440) Mod 1440 > > Number of Seconds: > * * (DateDiff("s",Starttime,Endtime) + 86400) Mod 86400 > > You can round (up or down) the number of minutes to the nearest 15 with an > expression like > > Round(N/15,0) * 15 > > John Spencer > Access MVP 2002-2005, 2007-2010 > The Hilltop Institute > University of Maryland Baltimore County
/var/www/apps/conversion/current/tmp/scratch5735/103941692.doc
Page 42