ACC : Comment faire pour appeler un numéro de téléphone de Microsoft Access (1.x/2.0)

Traductions disponibles Traductions disponibles
Numéro d'article: 93696 - Voir les produits auxquels s'applique cet article
Cet article a été archivé. Il est proposé « en l'état » et ne sera plus mis à jour.
Agrandir tout | Réduire tout

Résumé

Options avancées : nécessite codage expert, de l'interopérabilité et de compétences multi-utilisateur.

Cet article décrit une exemple Access Basic fonction utilisateur, DialNumber(), que vous pouvez utiliser pour composer un numéro de téléphone de Microsoft Access à l'aide modem de votre ordinateur. Cette méthode utilise des appels de fonction Microsoft Windows application programmation API (interface).

Bien que cette fonction fonctionne avec Microsoft Access version 2.0, version 2.0 présente un numéroteur automatique nouvelle fonctionnalité qui peut être utilisée pour composer des numéros de téléphone. Pour plus d'informations sur la fonctionnalité Numéroteur automatique, recherchez AutoDialer à l'aide du menu Aide de Microsoft Access 2.0.

Cet article suppose que vous êtes familiarisé avec Access Basic et Création d'applications de Microsoft Access à l'aide les outils de programmation fournis avec Microsoft Access. Pour plus d'informations sur Access Basic, consultez le manuel « Introduction à Programming » dans Microsoft Access version 1.x, ou le manuel « Création applications » dans la version 2.0.

Plus d'informations

Pour composer un numéro de téléphone de Microsoft Access, vous pouvez utiliser appels API Microsoft Windows dans la bibliothèque dynamic-link USER.EXE (DLL). Il existe 17 communication API appelle disponible dans USER.EXE, mais uniquement le 3 suivants sont utilisés pour composer un numéro de téléphone : OpenComm(), CloseComm() et WriteComm().

Les étapes suivantes montrent comment créer et utiliser la fonction DialNumber().

Remarque : dans le code exemple suivant, un trait de soulignement (_) sert un caractère de suite de la ligne. Supprimez le trait de soulignement de la fin de la ligne lorsque vous recréez ce code Access Basic.
  1. Ouvrez la base de données exemple NWIND.MDB.
  2. Créer un nouveau module Access Basic avec les opérations suivantes dans les déclarations section :
          Option Explicit
    
          ' The number of seconds to wait for the modem to dial before
          ' .. resetting the modem. If the phone hangs up prematurely
          ' .. try increasing this value by small increments.
          Const WAITSECONDS = 4
    
          Declare Function OpenComm Lib "User" (ByVal lpComName$, _
             ByVal wInQueue%, ByVal wOutQueue%) As Integer
          Declare Function CloseComm Lib "User" (ByVal nCid%) As Integer
          Declare Function WriteComm Lib "User" (ByVal nCid%, _
             ByVal lpBuf$, ByVal nSize%) As Integer
    
          Const ID_CANCEL = 2
          Const MB_OKCANCEL = 1
          Const MB_ICONSTOP = 16, MB_ICONINFORMATION = 64
    						
  3. Ajoutez la fonction suivante au module de :
          ' ***********************************************************
          ' FUNCTION: DialNumber()
          '
          ' PURPOSE: To dial a telephone number using the computer's modem
          '
          ' ARGUMENTS:
          '    PhoneNumber: The telephone number to dial
          '
          '    CommPort: The communications port the modem is connected
          '              to. Typically, modems are found on COM2, however,
          '              they can be configured for any COM port.
          '
          ' EXAMPLE:
          '    Type the following in the Immediate window using a modem
          '    connected to the COM2 port:
          '
          '       ? DialNumber("555-1212", "COM2")
          '
          ' ***********************************************************
          Function DialNumber (PhoneNumber, CommPort As String)
             Dim Msg As String, MsgBoxType As Integer, MsgBoxTitle As String
             Dim ModemCommand As String
             Dim OpenPort As Integer
             Dim RetVal As Integer
             Dim StartTime
             Dim CR As String: CR = Chr$(13)
             Dim LF As String: LF = Chr$(10)
    
             ' Ask the user to pick up the phone.
             Msg = "Please pickup the phone and choose OK to dial " _
                & PhoneNumber
             MsgBoxType = MB_ICONINFORMATION + MB_OKCANCEL
             MsgBoxTitle = "Dial Number"
             If MsgBox(Msg, MsgBoxType, MsgBoxTitle) = ID_CANCEL Then
                Exit Function
             End If
    
             ' Open the communications port.
             OpenPort = OpenComm(CommPort, 1024, 128)
             If OpenPort < 0 Then
                Msg = "Unable to open communication port " & CommPort
                GoTo Err_DialNumber
             End If
    
             ' Send the telephone number to the modem.
             ModemCommand = "ATDT" & PhoneNumber & CR & LF
             If WriteComm(OpenPort, ModemCommand, Len(ModemCommand)) < 0 Then
                Msg = "Unable to dial number " & PhoneNumber
                GoTo Err_DialNumber
             End If
    
             ' Wait WAITSECONDS seconds for the phone to dial.
             StartTime = Timer
             While Timer < StartTime + WAITSECONDS
                DoEvents
             Wend
    
             ' Reset the modem and take it off line.
             ModemCommand = "ATH0" & CR & LF
             RetVal = WriteComm(OpenPort, ModemCommand, Len(ModemCommand))
    
             ' Close the communications port.
             RetVal = CloseComm(OpenPort)
    
             Exit Function
    
          Err_DialNumber:      'This is not an On Error routine.
             Msg = Msg & CR & CR & "Make sure no other devices are using _
                communication port " & CommPort
             MsgBoxType = MB_ICONSTOP
             MsgBoxTitle = "Dial Number Error"
             MsgBox Msg, MsgBoxType, MsgBoxTitle
    
          End Function
    						
  4. Ouvrez le formulaire Employés en mode Création.
  5. Ajouter un bouton de commande avec les propriétés suivantes au formulaire à côté du champ Téléphone personnel.
          Microsoft Access 1.x:
    
             ControlName: btnDialPhone
             Caption: Dial
             OnPush: =DialNumber([Home Phone], "COM2")
    
          Microsoft Access 2.0:
    
             Name: btnDialPhone
             Caption: Dial
             OnClick: =DialNumber([Home Phone], "COM2")
    						
  6. Affichez le formulaire en mode formulaire. Pour composer le numéro de téléphone personnel d'un employé, cliquez sur le bouton Numérotation.

Références

Pour obtenir un exemple de cette rubrique dans Microsoft Access pour Windows 95 version 7.0, consultez l'article suivant dans la Base de connaissances :

148857 ACC : Comment faire pour appeler un numéro de téléphone à l'aide de Microsoft Access 95/97

Propriétés

Numéro d'article: 93696 - Dernière mise à jour: vendredi 24 janvier 2014 - Version: 2.0
Les informations contenues dans cet article s'appliquent au(x) produit(s) suivant(s):
  • Microsoft Access 1.0 Standard
  • Microsoft Access 1.1 Standard
  • Microsoft Access 2.0 Standard
Mots-clés : 
kbnosurvey kbarchive kbmt kbhowto kbprogramming KB93696 KbMtfr
Traduction automatique
IMPORTANT : Cet article est issu du système de traduction automatique mis au point par Microsoft (http://support.microsoft.com/gp/mtdetails). Un certain nombre d?articles obtenus par traduction automatique sont en effet mis à votre disposition en complément des articles traduits en langue française par des traducteurs professionnels. Cela vous permet d?avoir accès, dans votre propre langue, à l?ensemble des articles de la base de connaissances rédigés originellement en langue anglaise. Les articles traduits automatiquement ne sont pas toujours parfaits et peuvent comporter des erreurs de vocabulaire, de syntaxe ou de grammaire (probablement semblables aux erreurs que ferait une personne étrangère s?exprimant dans votre langue !). Néanmoins, mis à part ces imperfections, ces articles devraient suffire à vous orienter et à vous aider à résoudre votre problème. Microsoft s?efforce aussi continuellement de faire évoluer son système de traduction automatique.
La version anglaise de cet article est la suivante: 93696
L'INFORMATION CONTENUE DANS CE DOCUMENT EST FOURNIE PAR MICROSOFT SANS GARANTIE D'AUCUNE SORTE, EXPLICITE OU IMPLICITE. L'UTILISATEUR ASSUME LE RISQUE DE L'UTILISATION DU CONTENU DE CE DOCUMENT. CE DOCUMENT NE PEUT ETRE REVENDU OU CEDE EN ECHANGE D'UN QUELCONQUE PROFIT.

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com