Private Const SND_APPLICATION = &H80         '  look for application specific association
Private Const SND_ALIAS = &H10000     '  name is a WIN.INI [sounds] entry
Private Const SND_ALIAS_ID = &H110000    '  name is a WIN.INI [sounds] entry identifier
Private Const SND_ASYNC = &H1         '  play asynchronously
Private Const SND_FILENAME = &H20000     '  name is a file name
Private Const SND_LOOP = &H8         '  loop the sound until nextsndPlaySound

Private Const SND_MEMORY = &H4         '  lpszSoundName points to a memory file

Private Const SND_NODEFAULT = &H2         '  silence not default, if sound not found

Private Const SND_NOSTOP = &H10        '  don't stop any currently playing sound

Private Const SND_NOWAIT = &H2000      '  don't wait if the driver is busy

Private Const SND_PURGE = &H40               '  purge non-static events for task

Private Const SND_RESOURCE = &H40004     '  name is a resource name or atom

Private Const SND_SYNC = &H0         '  play synchronously (default)

Private Declare Function PlaySound Lib "winmm.dll" Alias "PlaySoundA" (ByVal lpszName As String, ByVal hModule As Long, ByVal dwFlags As Long) As Long



Private Reproduce(Ruta As String)
  'Ruta contiene la tuta + nombre fichero.
  'Si en tu caso es un campo de una tabla con una ruta y un fichero, bastara
  'que pases como parametro, de la forma Reproduce(Me.CampoSonido)
  'ya que me.Camposonido= "C:\Loquesea\Mas\sonido.mid"
  
    'URL: http://www.allapi.net/
    
    PlaySound Ruta, ByVal 0&, SND_FILENAME Or SND_ASYNC
End Sub

Así

    Source: geocities.com/es/ensolva/Descargas/Documentos

               ( geocities.com/es/ensolva/Descargas)                   ( geocities.com/es/ensolva)                   ( geocities.com/es)