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 :

Array a mettre dans une requete [AC-2007]


Sujet :

VBA Access

  1. #1
    Débutant  
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    745
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Avril 2007
    Messages : 745
    Points : 202
    Points
    202
    Par défaut Array a mettre dans une requete
    bonjour,

    je souhaiterai remplace ceci "[Forms]![Reunion de chantier]![CHEMIN] " qui est dans ma requete par l équivalant de ceci Array(GetDbPathOfLinkedTable("tblAdmin") & "DOC\" & NUM_OPERATION & "\REUNION_CHANTIER\" & "Réunion chantier n " & NUM_REUNION & ".pdf")


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     DoCmd.RunSQL "UPDATE OPERATION_ARCHIVAGE SET OPERATION_ARCHIVAGE.CHEMIN_PDF_REUNION = [Forms]![Reunion de chantier]![CHEMIN] WHERE (((OPERATION_ARCHIVAGE.DATE_REUNION)=[Forms]![Reunion de chantier]![DATE_REUNION0]) AND ((OPERATION_ARCHIVAGE.NUM_REUNION)=[Forms]![Reunion de chantier]![NUM_REUNION0]) AND ((OPERATION_ARCHIVAGE.TYPE_REUNION)='REUNIONCHANTIER') AND ((OPERATION_ARCHIVAGE.NUM_OPERATION)=[Forms]![Reunion de chantier]![NUM_OPERATION0]));"

    il y a une solution?

    Merci a vous

  2. #2
    Rédacteur/Modérateur
    Avatar de Jeannot45
    Homme Profil pro
    Retraité
    Inscrit en
    Octobre 2004
    Messages
    3 871
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2004
    Messages : 3 871
    Points : 8 489
    Points
    8 489
    Par défaut


    Je t'avoue ne pas comprendre ta démarche, pourquoi remplacer la valeur qui se trouve dans ton champ de formulaire
    1. Pourquoi remplacer la valeur qui se trouve dans ton champ de formulaire
    2. A quoi correspond la valeur Array(GetDbPathOfLinkedTable("tblAdmin")
    Jeannot

    Liens Office indispensables à visiter: Cours (Tutos), F.A.Q., Sources VBA

    Ne posez pas de questions par MP, je n'ai pas le temps d'y répondre

  3. #3
    Débutant  
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    745
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Avril 2007
    Messages : 745
    Points : 202
    Points
    202
    Par défaut
    salut

    sur un bouton

    j'ai mis ce code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
        ' Nom de base du fichier PDF à crée
     strFichier = Array(GetDbPathOfLinkedTable("tblAdmin") & "DOC\" & rst("NUM_OPERATION") & "\REUNION_CHANTIER\" & "Réunion chantier n " & rst("NUM_REUNION") & ".pdf")
     CHEMIN = strFichier
    strFchier me sert a crée un pdf et CHEMIN est une zone de texte que je cache sur mon formulaire qui me pert de stock la valeur de strFichier pour ensuite l'envoyé dans ma requete suivante avant de stocké le nom de l'adresse ou touvé le fichier
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     DoCmd.RunSQL "UPDATE OPERATION_ARCHIVAGE SET OPERATION_ARCHIVAGE.CHEMIN_PDF_REUNION = [Forms]![Reunion de chantier]![CHEMIN] WHERE (((OPERATION_ARCHIVAGE.DATE_REUNION)=[Forms]![Reunion de chantier]![DATE_REUNION0]) AND ((OPERATION_ARCHIVAGE.NUM_REUNION)=[Forms]![Reunion de chantier]![NUM_REUNION0]) AND ((OPERATION_ARCHIVAGE.TYPE_REUNION)='REUNIONCHANTIER') AND ((OPERATION_ARCHIVAGE.NUM_OPERATION)=[Forms]![Reunion de chantier]![NUM_OPERATION0]));"

    ceci fonctionné pendant quelque jour mais maintenant mon champ CHEMIN est bien alimenté par contre quand je fais même une requete simple pour affiche le contenu du champ il me dis qu'il est vide

    enfin pour ta question A quoi correspond la valeur Array(GetDbPathOfLinkedTable("tblAdmin") ceci me renvoié l'adresse ou ce trouve ma base "\\Serveurs8\ACCESBASE$\BASETABLE"
    donc pour mon fichier sa donnerai "\\Serveurs8\ACCESBASE$\BASETABLE\DOC\201\REUNION_CHANITER\Rèunion chantier n°10.pdf par exemple

  4. #4
    Rédacteur/Modérateur
    Avatar de Jeannot45
    Homme Profil pro
    Retraité
    Inscrit en
    Octobre 2004
    Messages
    3 871
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2004
    Messages : 3 871
    Points : 8 489
    Points
    8 489
    Par défaut


    As-tu vérifié le contenu de ta variable strFichier ?

    Ajoute l'instruction comme ci-dessous

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
        ' Nom de base du fichier PDF à crée
     strFichier = Array(GetDbPathOfLinkedTable("tblAdmin") & "DOC\" & rst("NUM_OPERATION") & "\REUNION_CHANTIER\" & "Réunion chantier n " & rst("NUM_REUNION") & ".pdf")
    Debug.Print strFichier
     CHEMIN = strFichier
    Met un point d’arrêt sur l'instruction strFichier
    Lorsque le programme stoppe sur ton instruction, affiche la fenetre d'exécution puis fais F8. Tu retrouveras la valeur de strFichier
    Tu sauras alors si ta variable est bien renseignée.
    Jeannot

    Liens Office indispensables à visiter: Cours (Tutos), F.A.Q., Sources VBA

    Ne posez pas de questions par MP, je n'ai pas le temps d'y répondre

  5. #5
    Débutant  
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    745
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Avril 2007
    Messages : 745
    Points : 202
    Points
    202
    Par défaut
    il me dis <Incompatibilité de type> j'ai mis des espion sur
    GetDbPathOfLinkedTable("tblAdmin")
    rst("NUM_OPERATION")
    rst("NUM_REUNION")
    ceci est bien renseigné mais apres il me dis <Incompatibilité de type>
    Images attachées Images attachées  

  6. #6
    Rédacteur/Modérateur
    Avatar de Jeannot45
    Homme Profil pro
    Retraité
    Inscrit en
    Octobre 2004
    Messages
    3 871
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2004
    Messages : 3 871
    Points : 8 489
    Points
    8 489
    Par défaut
    La fonction Array() définit un tableau. L'indice placé () permet de récupérer la valeur stocké dans le tableau.

    Je vois que l'instruction GetDbPathOfLinkedTable("tblAdmin") te renvoie bien le chemin

    La fonction Array est-elle nécessaire ?

    ci-dessous, le code simplifié

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
        ' Nom de base du fichier PDF à crée
     strFichier = GetDbPathOfLinkedTable("tblAdmin") & "DOC\" & rst("NUM_OPERATION") & "\REUNION_CHANTIER\" & "Réunion chantier n " & rst("NUM_REUNION") & ".pdf"
     CHEMIN = strFichier
    Jeannot

    Liens Office indispensables à visiter: Cours (Tutos), F.A.Q., Sources VBA

    Ne posez pas de questions par MP, je n'ai pas le temps d'y répondre

  7. #7
    Débutant  
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    745
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Avril 2007
    Messages : 745
    Points : 202
    Points
    202
    Par défaut
    ok super cela fonctionne

    par contre sa plante maintenant apres mais c'est du a la demandé d'un tableau je pense avoir trouvé sa ne plante plus je test

    merci encore

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

Discussions similaires

  1. [AC-2010] niveau de guillemets a mettre dans une requete
    Par comme de bien entendu dans le forum Requêtes et SQL.
    Réponses: 3
    Dernier message: 20/10/2017, 19h26
  2. découper un array pour mettre dans une requet
    Par sinifer dans le forum Langage
    Réponses: 7
    Dernier message: 30/04/2013, 13h27
  3. [VB] avec une requete SQL la mettre dans une TextBox
    Par hellreaperdd dans le forum VB.NET
    Réponses: 5
    Dernier message: 15/09/2009, 16h22
  4. Mettre une condition if dans une requete sql
    Par Sardonnen dans le forum Oracle
    Réponses: 4
    Dernier message: 24/03/2006, 11h25
  5. Mettre a jour les Parametres dans une requete SQL
    Par Tartar Ukid dans le forum C++Builder
    Réponses: 7
    Dernier message: 31/03/2004, 13h51

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