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 :

Installation d'application Access sur machines vierges


Sujet :

VBA Access

  1. #1
    Membre éprouvé
    Profil pro
    Inscrit en
    Février 2010
    Messages
    136
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 136
    Par défaut Installation d'application Access sur machines vierges
    Bonjour à tous,

    C'est mon premier post sur ce forum (j'espère ne pas me tromper de section et ne pas reprendre un sujet déjà traité) !

    J'ai modifié une application sous Access (en VBA, donc), et je dois à présent la faire installer sur plusieurs machines. Pour cela, j'ai créé un Setup.exe grace à "l'assistant empaquetage" de Microsoft Office XP Developer, puis je l'ai placé sur le réseau.
    Pour tester tout ça, j'ai ensuite utilisé une machine vierge mise à disposition et j'ai lancé l'installation. Tout se passe bien, l'installation est rapidement effectuée, aucun souci.

    Le problème vient quand je lance l'application. Le message d'erreur est le suivant, dès l'ouverture :

    "Une erreur est survenue lors de la compilation de cette fonction.
    Le module Vsiual Basic comporte une erreur de syntaxe.
    Vérifiez le code puis recompilez-le."

    Suivi de :
    "Nom de la macro : AutoExec.
    Condition : Vrai
    Nom de l'action : ExecuterCode
    Argument : init()"

    Ma fonction init est la suivante :

    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
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    Public Function init() As Integer
        Dim DT_DATE, Dt_Date2 As Date, iPos   As Integer
        Dim stAction As String
        Dim strSQL As String
        Dim strBaseCn As String
        Dim strSqlServer As String
        Dim strSqlBase As String
        Dim AdoRs As ADODB.Recordset
        
    
        Dim stTitre As String, stBmp As String, stChemin As String
    
    ' Nom utilisateur
    wUser_Name = Wnd_user_name()
        wNom_Machine = Wnd_NomMachine()
        If UCase(Mid(wNom_Machine, 1, 3)) <> "WKS" Then
            wNom_Machine = Mid(wUser_Name, 1, 10)
        End If
    
        Call DisableX(False)
    
        '
        ' Issue de CNN_Application.ConnectionString
        '
        strBaseCn = "Provider=Microsoft.Access.OLEDB.10.0; " & _
                    "Persist Security Info=False;" & _
                    "Data Source=s999-sql;" & _
                    "User ID=machin;" & _
                    "Initial Catalog=machin;" & _
                    "Data Provider=SQLOLEDB.1"
        
        '
        ' Issue du Net
        '
        strBaseCn = "PROVIDER=SQLOLEDB.1;" & _
                    "Persist Security Info=False;" & _
                    "Integrated Security=SSPI;" & _
                    "DATA SOURCE=s999-sql;" & _
                    "INITIAL CATALOG=MD;"
        
        '
        ' Connexion
        '
        On Error Resume Next
        Application.CurrentProject.BaseConnectionString
     
        On Error GoTo gesterr
        Set CNN_Application = Nothing
        Set CNN_Application = New ADODB.Connection
        Set CNN_Application = Application.CurrentProject.Connection
      
    
        wnum_paye = 0
        DoCmd.SetWarnings False
        
        stAction = ""
    
    
    ' ======================================================== '
    ' lancement de l'initialisation
    ' ======================================================== '
            
        DoCmd.ShowToolbar "Base de données", acToolbarNo
        Application.CommandBars("Régie").Visible = True
        Application.SetOption ("Modification des enregistrements"), True
        Application.SetOption ("Confirmer Requêtes action"), False
        Application.CommandBars("M_Mnenu Principal").Visible = True
        
        
    
        Set Cb_Regie = CommandBars("Régie")
        Call Cb_Regie_Masque_bt(1)
        Call Cb_Regie_Affiche_bt(2)
        wdatedebut = Date
        wdatefin = Date
        
        wTel_Site = "01.01.01.01.01"
        wNom_Site = "Truc"
        wLettre_Cle = ""
        wSite = "A"
    
        '
        ' Données par Défaut
        '
    
        Set AdoRs = New ADODB.Recordset
        AdoRs.CursorLocation = adUseClient
        AdoRs.Open "R_Select_TB_CODE_Site", CNN_Application, adOpenDynamic, adLockOptimistic
        While Not AdoRs.EOF
        Select Case AdoRs![TAB_VALEUR]
        Case "TL"
            wTel_Site = AdoRs!TAB_LIBELLE
            tb_SITE(3) = AdoRs!TAB_LIBELLE
        Case "A1"
            wNom_Site = AdoRs!TAB_LIBELLE
            tb_SITE(1) = AdoRs!TAB_LIBELLE
        Case "FX"
            tb_SITE(4) = AdoRs!TAB_LIBELLE
        ' Fichier HTML    Case "FI"
            tb_SITE(5) = AdoRs!TAB_LIBELLE
        ' Image Gif
        Case "FG"
            tb_SITE(8) = Trim(AdoRs!TAB_LIBELLE)
        ' Objet du message
        Case "OB"
            tb_SITE(6) = Trim(AdoRs!TAB_LIBELLE) & " " & Trim(Nz(AdoRs![TAB_INFORMATION], ""))
        Case "ML"
            wNom_Site = AdoRs!TAB_LIBELLE
            tb_SITE(2) = AdoRs!TAB_LIBELLE
        Case "LC"
            wLettre_Cle = AdoRs!TAB_LIBELLE
        Case "FM"
            tb_SITE(9) = AdoRs!TAB_LIBELLE
          End Select
        AdoRs.MoveNext
        Wend
        AdoRs.Close
        Set AdoRs = Nothing
        '
        ' Listes Mémoires
        '
        Call CHARGE_LISTE
        ' Profil Utilisateur
        Call Active_Menu
        Call SET_SITE
        
        init = 0
    
    Exit Function
    gesterr:
        
        init = 1
        MsgBox "Problème au lancement de l'application pour " & wUser_Name & _
               " sur la station " & Wnd_NomMachine() & vbCrLf & _
               Err.Description & vbCrLf & "Erreur numéro " & _
               Err.Number
        Application.Quit
    
    
    End Function





    Evidemment, je n'ai aucune idée de l'endroit précis où l'erreur se situe, puisque l'application se ferme dès que le message d'erreur disparaît.

    Sur mon poste, tout fonctionne parfaitement. L'erreur ne vient donc pas du code, mais à mon avis soit d'une *.dll manquante, soit d'un manque quelconque au niveau du Setup.

    Si quelqu'un a une idée... Je galère là-dessus depuis une quinzaine d'heures maintenant, et je commence à être psychologiquement fatigué

  2. #2
    Membre confirmé Avatar de antoine dpt
    Inscrit en
    Juillet 2004
    Messages
    64
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 64
    Par défaut
    bon, juste au cas ou tu n'y auras pas pense: est ce que tu as installe le Runtime de Access sur ta machine vierge? ca semble evident mais ton message ne precise pas si ta machine vierge a le runtime de Access. C'est peu etre la que se situe la dll manquante .

    a plus

    desole pour les accents, je vis en angleterre sur clavier QWERTY

  3. #3
    Membre éprouvé
    Profil pro
    Inscrit en
    Février 2010
    Messages
    136
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 136
    Par défaut
    Merci pour ta réponse ^^ (et désolé pour mon propre temps de réponse... J'ai eu une réunion de 10h à midi hier, et je n'ai pas pris le temps de répondre à ton message dans l'après midi).

    Le RunTime était bien installé ! En revanche, ton message m'a inspiré ; il fallait simplement installer les versions XP de Excel et Word, puisqu'elles étaient nécessaires au lancement de l'application... Et elles n'étaient pas sur la station vierge, évidemment.

    Perdre deux jours de travail là dessus, c'est quand même un peu ridicule, je trouve.

    Merci bcp en tous cas, et à bientôt peut-être !

  4. #4
    Membre éprouvé
    Profil pro
    Inscrit en
    Février 2010
    Messages
    136
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 136
    Par défaut
    Bon désolé, je double post (je pense pas qu'il soit utile de rouvrir un topic, puisque c'est le prolongement du sujet).

    En fait, j'ai installé les versions XP de word et Excel sur la machine vierge qui me sert de "testeuse", mais ça provoque un problème.

    J'ai fait mes modifications, sur ma machine, avec les versions 2003. J'ai donc accès aux références Microsoft Excel/Word 11.0 Object Library. Sur la machine vierge, je ne peux installer que les versions XP, et je n'ai accès qu'aux références Microsoft Excel/Word 10.0 Object Library.

    Sur certaines fonctionnalités de l'application, ça crée un effet plutôt néfaste.

    Alors voilà, vous l'aurez tous compris, ma question est la suivante :
    Comment est-ce que je peux ajouter les références 11.0 sans installer les versions 2003 ?

  5. #5
    Expert confirmé
    Avatar de Domi2
    Homme Profil pro
    Gestionnaire
    Inscrit en
    Juin 2006
    Messages
    7 194
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 65
    Localisation : Suisse

    Informations professionnelles :
    Activité : Gestionnaire
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2006
    Messages : 7 194
    Par défaut
    Bonjour,

    2 solutions pour ton problème, je pense.

    La première, installer les fichiers (par exemple .olb) avec ton application. Regarde cette discussion ci dès le post no 50.

    Ou utiliser une liaison tardive (Late Binding). Des explications assez complètes dans cette discussion.

    Domi2

Discussions similaires

  1. Réponses: 2
    Dernier message: 11/07/2007, 23h24
  2. Installer une application Access
    Par Stargate SG1 dans le forum Access
    Réponses: 4
    Dernier message: 14/12/2006, 22h50
  3. installer une application struts sur le reseau
    Par zurich dans le forum Struts 1
    Réponses: 2
    Dernier message: 17/10/2006, 17h22
  4. application access sur base sql server
    Par souma dans le forum Access
    Réponses: 1
    Dernier message: 05/05/2006, 09h11
  5. D5 - installation appli avec BDE sur machine hébergeant déjà
    Par lolo le belge dans le forum Bases de données
    Réponses: 1
    Dernier message: 26/12/2004, 11h30

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