Microsoft KB Archive/95647

= ACC: How to Play .WAV Sounds on Events in Microsoft Access =

Article ID: 95647

Article Last Modified on 5/9/2003

-

APPLIES TO


 * Microsoft Access 1.0 Standard Edition
 * Microsoft Access 1.1 Standard Edition
 * Microsoft Access 2.0 Standard Edition

-



This article was previously published under Q95647



Advanced: Requires expert coding, interoperability, and multiuser skills.



SUMMARY
Microsoft Access does not have a built-in function to play sound files on events, such as when a form is opened or closed. However, you can use the Microsoft Windows 3.1 application program interface (API) through Access Basic code to create a user-defined function to play sound files.

This article assumes you are familiar with Access Basic and Windows APIs. In this article, the use of error trapping has been omitted to keep the information as clear and concise as possible.

For additional information about how to record and play sounds in Access 95, Access 97, or Access 2000, click the article numbers below to view the articles in the Microsoft Knowledge Base:

149119 How to Record and Play Sounds from MS Access (95/97)

210067 ACC2000: How to Record and Play Sounds from Microsoft Access



MORE INFORMATION
Follow these steps to create a user-defined function to play sound files:

  Create a new module with a single function named PlaySound.

NOTE: In the following sample code, an underscore (_) is used as a line-continuation character. Remove the underscore from the end of the line when re-creating this code in Access Basic.

 '*****************************************************************   'Declarations section of the module. '*****************************************************************

Option Explicit

Declare Function sndplaysound% Lib &quot;mmsystem&quot; (ByVal filename$, _                                                    ByVal snd_async%)

'================================================================   ' The following function PlaySound calls the Windows API function '================================================================

Function PlaySound (msound) Dim XX% XX% = sndplaysound(msound, 1)' play mmwave sound If XX% = 0 Then MsgBox &quot;The Sound Did Not Play!&quot; End Function  Save the module as Play It Sam.

The following steps use a command button to trigger the sound, but you can use other events to trigger the sound.  Add a command button to a form that you want to play the sound from:

     Object: Command Button ---     Name: Push_Button_1 Caption: Play Chimes On Click: =PlaySound(&quot;C:\WINDOWS\CHIMES.WAV&quot;)

(Where C:\WINDOWS\ is the location of the sound file and CHIMES.WAV     is the sound file.) 

NOTE: The Name property is called the ControlName property and the OnClick property is called the OnPush property in Microsoft Access 1.x.

When the form is open in Form view, you can play the sound by clicking the command button. You can assign this function to the form's OnOpen property if you want chimes to play when you open a form.

NOTE: This example does not have error trapping. Unexpected results may occur if the sound file is not in the location specified or does not exist.

If the sound (.WAV file) is in the table as an OLE field, the sound can be added to the form out of the field list. You can then use a macro that does a GoToControl [olefield], DoMenuItem form-edit-object-. You can run this from a button on the form. It will go to the OLE field and edit the object (the default edit is play for a sound).

