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

Runtime Discussion :

Problème d'exportation sous XP avec le runtime [AC-2007]


Sujet :

Runtime

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 21
    Points : 11
    Points
    11
    Par défaut Problème d'exportation sous XP avec le runtime
    Bonjour a tous.

    Je suis confronté a un nouveau problème qui se passe... sous XP !

    voila, j'ai besoin de faire une exportation via VB, j'utilise donc le code suivant :

    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
    Private Sub Panique_Click()
    ' Arret des message system
    DoCmd.SetWarnings False
     
    ' lancement de la requete de création de la table
        stDocName = "R_Export"
    DoCmd.OpenQuery stDocName, acNormal, acEdit
     
    ' nom du fichier :
    Dim fichier As Variant
     
     
    date_aujourdhui = Format(Date, "yyyy-mm-dd")
     
    fichier = Environ("USERPROFILE") & "\desktop\" & Application.TempVars("REF_SITE").Value & "_" & date_aujourdhui & "_Assistance.txt"
     
    ' Exportation
    DoCmd.TransferText acExportDelim, "export", "T_Export", fichier
     
    ' Lance la macro
        stDocName = "M_Export"
        DoCmd.RunMacro stDocName
     
    ' relance des messages system
    DoCmd.SetWarnings True
     
     
    End Sub
    quand je suis dans ma base, tout fonctionne correctement sous access pro, et sous vista.
    Dès que je crée mon package avec le runtime pour l'installé sur XP, ma base fonctionne correctement a l'exclusion de cette fonction.
    j'ai le message suivant : "Cette application a été arretée a cause d'une erreur d'execution.
    Elle ne peut pas continuer et va etre fermée"

    mais je ne vois vraiment pas pourquoi j'ai ce message pouisque tout fonctionne sous vista !

    Merci par avance pour votre aide

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    710
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 710
    Points : 847
    Points
    847
    Par défaut
    Salut,

    Je pencherai pour Environ ou Application.TempVars (que je ne connais pas d'ailleur)

    mets ça dans ton code pour vois quelle ligne provoque l'erreur :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Debug.Print Environ("USERPROFILE")
    MsgBox "Environ OK"
    Debug.Print Application.TempVars("REF_SITE").Value
    MsgBox "TempVars OK"

  3. #3
    Rédacteur/Modérateur
    Avatar de argyronet
    Homme Profil pro
    Panseur de bobos en solutions ETL
    Inscrit en
    Mai 2004
    Messages
    5 128
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Panseur de bobos en solutions ETL
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2004
    Messages : 5 128
    Points : 12 185
    Points
    12 185
    Billets dans le blog
    5
    Par défaut
    Bonjour,

    Qu'est censé faire la macro M_Export ?

    Argy

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 21
    Points : 11
    Points
    11
    Par défaut
    Bonjour,

    M_Export ne fait qu'afficher une msgbox de façon un peu plus evolué grâce au @ entre les phrases...

    par contre, j'ai trouvé un bon début... le problème vient de l'appelation du desktop pour le bureau. En effet, pour vista, c'est bien desktop, mais pour XP c'est bureau !

    donc, il me reste a trouver le moyen de faire la distinction entre ces deux OS pour savoir quand utiliser desktop et quand utiliser bureau.

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 21
    Points : 11
    Points
    11
    Par défaut
    la fonction VarTemps ne fait que rappeler une variable temporaire.

    voici la fonction (issue du tutoriel sur les variable temporaire)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Function RetourTempVar(strTempVar As String) As Variant
        RetourTempVar = Application.TempVars(strTempVar)
    End Function

  6. #6
    Rédacteur/Modérateur
    Avatar de argyronet
    Homme Profil pro
    Panseur de bobos en solutions ETL
    Inscrit en
    Mai 2004
    Messages
    5 128
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Panseur de bobos en solutions ETL
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2004
    Messages : 5 128
    Points : 12 185
    Points
    12 185
    Billets dans le blog
    5
    Par défaut
    Citation Envoyé par beloteux Voir le message
    donc, il me reste a trouver le moyen de faire la distinction entre ces deux OS pour savoir quand utiliser desktop et quand utiliser bureau.
    Eh bien voilà comment...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Private Declare Function SHGetFolderPath Lib "shfolder" Alias "SHGetFolderPathA" (ByVal hwndOwner As Long, ByVal nFolder As Long, ByVal hToken As Long, ByVal dwFlags As Long, ByVal pszPath As String) As Long
     
    Public Function GetDesktopFolderName() As String
    Dim strBuffer                                          As String
    Dim strDesktopFolder                                   As String
    Dim lngReturn                                          As Long
    Dim lngCSIDL                                           As Long
        lngCSIDL = &H19
        strBuffer = String(260, 0)
        lngReturn = SHGetFolderPath(0, lngCSIDL, 0, &H0, strBuffer)
        strDesktopFolder = Left$(strBuffer, InStr(1, strBuffer, Chr(0)) - 1)
        GetDesktopFolderName = Mid$(strDesktopFolder, InStrRev(strDesktopFolder, "\") + 1)
    End Function
    Argy

  7. #7
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    710
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 710
    Points : 847
    Points
    847
    Par défaut
    Ou en plus simple (mais bcp moins propre) tu peux tester l'existance des 2 répertoires.

  8. #8
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 21
    Points : 11
    Points
    11
    Par défaut
    merci a vous deux, je vais essayer...

    j'ai bien essayé en vitesse la solution de argyronet mais ca me ressort une erreur... je vais etudier la question.

    merci a vous

  9. #9
    Rédacteur/Modérateur
    Avatar de argyronet
    Homme Profil pro
    Panseur de bobos en solutions ETL
    Inscrit en
    Mai 2004
    Messages
    5 128
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Panseur de bobos en solutions ETL
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2004
    Messages : 5 128
    Points : 12 185
    Points
    12 185
    Billets dans le blog
    5
    Par défaut
    Citation Envoyé par beloteux Voir le message
    j'ai bien essayé en vitesse la solution de argyronet mais ca me ressort une erreur...
    Laquelle ?

    Argy

  10. #10
    Expert éminent sénior

    Avatar de Tofalu
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Octobre 2004
    Messages
    9 501
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Octobre 2004
    Messages : 9 501
    Points : 32 311
    Points
    32 311
    Par défaut
    Au passage, il sera peut être même préférable de remplacer l'utiliser de l'environ USERPROFILE par une seule fonction dérivée de celle d'argy

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Public Function GetDesktopFolderPath() As String
    Dim strBuffer                                          As String
    Dim strDesktopFolder                                   As String
    Dim lngReturn                                          As Long
    Dim lngCSIDL                                           As Long
        lngCSIDL = &H19
        strBuffer = String(260, 0)
        lngReturn = SHGetFolderPath(0, lngCSIDL, 0, &H0, strBuffer)
        GetDesktopFolderPath = Left$(strBuffer, InStr(1, strBuffer, Chr(0)) - 1)
     
    End Function

  11. #11
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 21
    Points : 11
    Points
    11
    Par défaut
    ben, en fait, j'ai trouvé un truc tout simple...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Dim oWsh As New WshShell
    chemin = oWsh.SpecialFolders("Desktop")

  12. #12
    Expert éminent sénior

    Avatar de Tofalu
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Octobre 2004
    Messages
    9 501
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Octobre 2004
    Messages : 9 501
    Points : 32 311
    Points
    32 311
    Par défaut
    Qui nécessite l'activation d'une référence supplémentaire alors que l'api non

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Problème d'affichage sous IE avec margin auto
    Par programmeur400 dans le forum Mise en page CSS
    Réponses: 1
    Dernier message: 15/11/2011, 19h29
  2. Réponses: 2
    Dernier message: 11/01/2011, 16h12
  3. Réponses: 0
    Dernier message: 14/10/2008, 11h40
  4. [SQL]Problème requete sql sous access avec vba
    Par aaliyan dans le forum Requêtes et SQL.
    Réponses: 8
    Dernier message: 13/04/2007, 18h53
  5. Problème d'export sous 9i
    Par Khalzaam dans le forum Oracle
    Réponses: 2
    Dernier message: 03/11/2006, 10h59

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