IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VBA Access Discussion :

Installer en local une imprimante réseau


Sujet :

VBA Access

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Août 2005
    Messages
    525
    Détails du profil
    Informations personnelles :
    Âge : 56
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Secteur : Santé

    Informations forums :
    Inscription : Août 2005
    Messages : 525
    Points : 194
    Points
    194
    Par défaut Installer en local une imprimante réseau
    Bonjour à tous

    J'ai adapté les codes de la FAQ pour sélectionner une imprimante afin d'installer un état. Ma base étant en réseau, je suis interessé pour imprimer sur une imprimante réseau choisie dans une table

    Lp_Name Lp_Port
    \\chu06bur02\H04A06B7 Ne02:
    \\chuimpmf1\H16B06PZ IP_10.61.2.77
    \\chu06bur02\H04A06BG IP_10.61.2.60
    \\chu06bur02\H16B06BF IP_10.61.2.58
    \\chu06bur02\H04A06LA IP_10.61.2.10
    \\chuimpmf1\H04A06B8 IP_10.61.2.98
    \\chu06bur02\bor1lp3 IP_10.61.2.78
    \\chuimpmf1\H04A06BL
    \\chu06bur02\H04A06B7 IP_10.61.2.90
    Mais ces imprimantes ne sont pas installées sur chaque poste. Existe-t-il un code qui permette de l'installer sur le poste puis de la choisir pour imprimer?
    Mais si quelqu'un connait un code pour imprimer sur une imprimante réseau sans l'installer, je suis preneur.
    Je pourrai créer autant d'états que d'imprimantes mais comme j'ai environ 5 états, cela fait 5x9= 45 états !
    Merci par avance pour vos précieux conseils.

  2. #2
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Inscrit en
    Juillet 2007
    Messages
    14 656
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Canada

    Informations professionnelles :
    Activité : Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 656
    Points : 34 350
    Points
    34 350
    Par défaut
    salut,

    $pour la partie "installation", une solution est donnée ici : http://www.developpez.net/forums/d85...terconnection/
    pour le choix de l'imprimante, dans la
    http://access.developpez.com/faq/?page=TAEtat#ChoixImpr

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Août 2005
    Messages
    525
    Détails du profil
    Informations personnelles :
    Âge : 56
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Secteur : Santé

    Informations forums :
    Inscription : Août 2005
    Messages : 525
    Points : 194
    Points
    194
    Par défaut
    J'avais pas trouvé ce post. Merci !
    En fait, j'ai pas mal tatonné et j'ai trouvé un code qui marche mais je dois avouer que c'est un coup de chance.
    Le voici pour ceux qui pourrait l'expliquer ou s'en servir.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
     
    Public Function SetDefaultPrinter(stNomFichier As String, stWhere As String) As Boolean
    Dim wsn As Object
        On Error GoTo Err_2
        Dim strBuffer As String
                    '====================================
                    ' Si DAO placer le 4 lignes suivantes
        Dim Rs As DAO.Recordset
        Set Rs = CurrentDb.OpenRecordset("SELECT LP_Names.* FROM LP_Names WHERE LP_Names.Lp_Default = true;")
                    '====================================
                    ' si Ado placer les 4 lignes suivantes
       ' Dim Rs As New ADODB.Recordset
       ' Rs.Open "SELECT LP_Names.* FROM LP_Names WHERE LP_Names.Lp_Name = '" _
       '      & Imprimante & "';", _
       '      CurrentProject.Connection, adOpenForwardOnly, adLockReadOnly
                    '====================================
        If Not Rs.BOF Then
        While Not Rs.EOF
     
            SetDefaultPrinter = True
      ' Ici je pense créer la connection vers les imprimantes
                    Set wsn = CreateObject("WScript.Network")
             'La ligne qui installe l'imprimante sur l'ordinateur
                    wsn.addwindowsPrinterConnection Rs("Lp_Name")
                     'La ligne qui définit l'imprimante par défaut
                        wsn.SetDefaultPrinter Rs("Lp_Name")
                            ' Impression
                            DoCmd.OpenReport stNomFichier, , , stWhere, , stWhere
                            ' Fermeture fichier
                            'DoCmd.Close acReport, stNomFichier
                    Set wsn = Nothing
                    If IsLoaded("F_wait") Then
                    DoCmd.Close acForm, "F_wait"
                    End If
        Rs.MoveNext
        Wend
        Else
            SetDefaultPrinter = False
        End If
    Err_1:
        On Error Resume Next
            Rs.Close
        Set Rs = Nothing
        Exit Function
    Err_2:
        SetDefaultPrinter = False
        Resume Err_1
    End Function
    Pour aller plus loin, il faudrait demander/supprimer l'imprimante installée, puis remettre l'imprimante par défaut du départ.
    Les critiques et corrections sont les bienvenues.

Discussions similaires

  1. Réponses: 10
    Dernier message: 14/03/2013, 17h45
  2. Envoyer une impression vers une imprimante réseau sous DOS
    Par atasekpo dans le forum Administration
    Réponses: 3
    Dernier message: 28/06/2010, 16h58
  3. Accéder à une imprimante réseau sans identification
    Par bart64 dans le forum Windows Serveur
    Réponses: 3
    Dernier message: 01/08/2006, 14h14
  4. Comment installer et partager une imprimante pdf
    Par Abdel58 dans le forum Administration système
    Réponses: 2
    Dernier message: 27/06/2006, 17h33
  5. récupérer adresse IP d'une imprimante réseau
    Par anonymkim dans le forum VBA Access
    Réponses: 5
    Dernier message: 21/06/2006, 07h55

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo