** NORMAS DEL FORO **
Inicio del foro Inicio del foro > Access y VBA > Tus Funciones Favoritas & Aportaciones & Artí­culos
  Mensajes nuevos Mensajes nuevos RSS - Tip sobre Autodial de Access
  Preguntas frecuentes Preguntas frecuentes  Buscar en el foro   Eventos   Registro Registro  Iniciar sesion Iniciar sesion

Tema cerradoTip sobre Autodial de Access

 Responder Responder
Autor
Mensaje
buho Ver desplegable
Administrador
Administrador
Avatar
Abuelo FELIZ

Unido: 10/Abril/2004
Localización: Valladolid
Estado: Sin conexión
Puntos: 11317
Enlace directo a este mensaje Tema: Tip sobre Autodial de Access
    Enviado: 09/Agosto/2013 a las 20:47

Cuando nosotros colocamos en Access el codigo:


Application.Run "utility.wlib_AutoDial", "983222222"


realmente lo que estás cargando es un formulario del complemento de Access llamado Utility.mda
Este fichero le podrás buscar en tu disco duro, pues es uno de los varios MDA que acompañan al producto de Access.

En realidad, la llamada anterior, se hace a través de una funcion
(«wlib_autodial») que está dentro de ese completo, en el modulo de clase «utils».
Esa función abre el formulario «acr_frmautodial» que es en realidad el
formulario que se te muestra en pantalla cuando pones:
Application.Run "utility.wlib_AutoDial", "983222222"

¿Y que hace este formulario?
Pues nada mas que llamar a la API y marcar el numero de telefono que
escribas en la caja de texto, y que dicho formulario recibe como parametro desde Application.Run "utility.wlib_AutoDial", "983222222"
(En este caso 983222222)
En resumen...y yendo a las tripas de todo esto, ese complmento, en esa parte, lo unico que hace es llamar a la api de esta forma:

Declare Function TAPI_Make_Call Lib "tapi32.dll" _Alias

 "tapiRequestMakeCall" _

(ByVal stNumber As String, _ByVal

 stDummy1 As String, _ByVal

 stDummy2 As String, _ByVal

 stDummy3 As String) As Long


y ejecuta esta funcion, así de simple.

Por lo tanto, podemos pasar de poner ese código  Application.Run "utility.wlib_AutoDial", "983222222" y construirnos un marcador telefónico al margen del complemento de access y del formulario mencionado. La función, todo junto ya, puesto en un módulo, podría quedar:

Option Explicit

Declare Function TAPI_Make_Call Lib "tapi32.dll" _
Alias "tapiRequestMakeCall" _
(ByVal stNumber As String, _
ByVal stDummy1 As String, _
ByVal stDummy2 As String, _
ByVal stDummy3 As String) As Long

 Function MarcaTelefono(Numero As String)
  Dim VarRet As Long
  If IsNumeric(Numero) = True Then
    VarRet = TAPI_Make_Call(Numero, "", "", "")
  End If
End Function


Y obtendrías el mismo resultado, pero sin el formulario de DAR conformidad para marcar el numero de TF.

Desde cualquier formulario, que tenga un campo de texto con un número de teléfono, bastaría que asociaras a un boton de comando este codigo:

MarcaTelefono Me.TxtTelefono

donde TxtTelefono es una caja / campo de texto con el numero de telefono a marcar

Saludos del Búho Smile

Expulsado de la cárcel por robar los barrotes
Arriba
 Responder Responder
  Compartir tema   

Ir al foro Permisos de foro Ver desplegable