Quiero hacer un botón en un formulario que me habra una ventana de dialogo para poder indertar archivos de cualquier formato de sonido. Una vez seleccionado el archivo, en un campo de la tabla llamado HIMNO se guardaria la ruta en la que se encuentra dicho archivo y así no inflo la base. Esta parte la tengo mas o menos solucionada, aunque solo consigo que se vean los archivos midi al abrirse el cuadro de dialogo para insertar, pero bueno me funciona. El problema viene ahora cuando desde otro botón llamado PLAY quiero que al pulsarlo busque la ruta que ahi en el campo HIMNO y suene el sonido. ¿ Como puedo hacer esta ultima parte? Hola: Sobre la segunda parte... incluye el siguiente código (todo en la misma línea) en cualquier módulo de tu base de datos: Public Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hWnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirecory As String, ByVal nShowCmd As Long) As Long Y ahora en el botón: Private Sub Boton_Click() Dim Resp As Long If IsNull(Me.Himno) Or Me.Himno = "" Then MsgBox "No tiene introducido un archivo.", vbExclamation Exit Sub End If If Len(Dir(Me.Himno)) = 0 Then MsgBox "No existe el archivo en la ruta esperada: " & RutaDoc, vbExclamation Exit Sub End If Resp = ShellExecute(Me.hWnd, "open", Me.Himno, "", "", 3) If Resp < 32 Then Select Case Resp Case 0 MsgBox "El sistema operativo no tiene recursos", vbCritical, "ERROR" Case 5 ''SE_ERR_ACCESSDENIED MsgBox "El sistema operativo ha denegado el acceso. Inténtelo más tarde", vbExclamation, "Advertencia" Case 27 ''SE_ERR_ASSOCINCOMPLETE MsgBox "La asociación del fichero es inválida o incompleta", vbCritical, "ERROR" Case 31 ''SE_ERR_NOASSOC MsgBox "No hay aplicación asociada a este tipo de ficheros. Deberá instalarla si quiere abrirlos", vbCritical, "ERROR" Case Else MsgBox "Se ha detectado un error no clasificado. Imposible abrir el fichero", vbCritical, "ERROR" End Select Exit Sub End If End Sub La "madre del cordero" es la definición de librería "shell32.dll" y la instrucción: Resp = ShellExecute(Me.hWnd, "open", Me.Himno, "", "", 3) El "3" del final indica cómo se abre la aplicación: maximizada, minimizada, no sé los valores, ve probando con 0, 1, 2, etc. hasta dar con la opción más adecuada. El código anterior sirve para ejecutar cualquier tipo de aplicación registrada, si lo que hay en "Himno" es un .doc te abrirá el Word, si lo que hay es un .xls te abrirá Excel y si hay un .bmp probablemente abrirá el Paint. Saludos. NOTA: Nunca la he probado con ficheros de sonido, así que no sé si funcionará, aunque espero que sí. CARCAR