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 :

Résultat d'une requête dans fichier ini


Sujet :

VBA Access

  1. #1
    Membre actif
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    227
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 227
    Points : 222
    Points
    222
    Par défaut Résultat d'une requête dans fichier ini
    Bonjour à tous.

    J'ai un form avec un objet ListView. Cet objet peut contenir environ 30 colonnes. C'est beaucoup. Je veut que l'utilisateur choisisse les colonnes à visualiser, et l'ordre dans lequel les visualiser.
    J'ai donc un form qui enregistre dans une table les colonnes à visualiser à l'aide d'un champs 'Sélection' ( de type oui/non ) et un champs 'Tri' qui incrémente un nombre pour savoir dans quel ordre les champs sont sélectionnés

    Je voudrais à la fermeture du formulaire enregistrer quels champs ont été sélectionnés

    voici le code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
        'Récupère le chemin de la base de donnée
    Dim MaBD1
    MaBD1 = Application.CurrentProject.Path 'chemin du fichier sans nom ni extension
     
    Dim SélectionnésSélectionnés = "SELECT tblChampsAAfficher.* FROM tblChampsAAfficher WHERE (((tblChampsAAfficher.Selection) = True)) ORDER BY tblChampsAAfficher.Tri"
     
    Dim chps1, chps2   'ect...
              'Ecrit dans fichier ini les champs sélectionnés
    EcritDansFichierIni "Affichage", "aff1", "1erchamp", MaBD1 & "\configGCA.ini"
    EcritDansFichierIni "Affichage", "aff1", "2èmechamp", MaBD1 & "\configGCA.ini"
    ect.. où 1erchamp = nomtable.nomchamp pour création requête paramétrable
    je n'arrive pas à lire les enregistrements de ma table

    suis je clair?
    Salutations

    Bruno


  2. #2
    Membre expérimenté

    Homme Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 183
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 183
    Points : 1 362
    Points
    1 362
    Par défaut
    Pourquoi écrire dans un fichier ?
    Il serait plus simple d'écrire l'ordre dans une table
    IdChamp - NomChamp - blnSelectionne - IntOrdre
    [Access] Les bases du débogage => ici

  3. #3
    Membre actif
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    227
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 227
    Points : 222
    Points
    222
    Par défaut pourquoi pas
    C'est parce que j'enregistre dèjà d'autres infos.
    Mais mon problème n'est pas là. Je sais lire et écrire dans un fichier

    mon problème, c'est que
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    chps1 = "SELECT tblChampsAAfficher.[Champs a Afficher] FROM tblChampsAAfficher WHERE (((tblChampsAAfficher.Selection)=True) AND ((tblChampsAAfficher.Tri)=1))"
    'Ecrit dans fichier ini les champs sélectionnés
      EcritDansFichierIni "Affichage", "aff2", chps1, MaBD1 & "\configGCA.ini"
    chps1 a pour valeur l'instruction SQL au lieu d'avoir pour valeur le résultat de l'instruction ( en l'occurence, l'instruction n'aura obligatoirement qu'1 enregistrement, sur une seule colonne ) - > dans l'exemple, chps1 doit être égal au mot "Ville" (résultat de la requête)
    Salutations

    Bruno


  4. #4
    Membre expérimenté

    Homme Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 183
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 183
    Points : 1 362
    Points
    1 362
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    iStr_SQL = "SELECT [Champs a Afficher] " & _
    "FROM tblChampsAAfficher " & _
    "WHERE Selection " & _
    "order by Tri"
    Ca, c'est pour le SQL.
    Ensuite, il faut faire un recordset (voir l'aide) et boucler sur les résultats pour écrire dans le fichier.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    While not Rec.eof
    'Ecriture dans le fichier avec les résultats du recordset
    ....
    rec.movenext
    wend
    [Access] Les bases du débogage => ici

  5. #5
    Membre actif
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    227
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 227
    Points : 222
    Points
    222
    Par défaut
    Suis pas très fort. Je n'ai jamais utilisé ce genre de fonction
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    'déclaré en en tête
    ' Dim dbb As DAO.Database
    ' Dim Rec As DAO.Recordset
     
        Set dbb = CurrentDb()
        Set Rec = dbb.OpenRecordset("SELECT tblChampsAAfficher.* FROM tblChampsAAfficher WHERE (((tblChampsAAfficher.Selection) = True)) ORDER BY tblChampsAAfficher.Tri")
     
    While Not Rec.EOF
    'Ecriture dans le fichier avec les résultats du recordset
        EcritDansFichierIni "Affichage", "aff2", Rec, MaBD1 & "\configGCA.ini"
        Rec.MoveNext
    Wend
    ce code provoque une erreur: Erreur de compilation : Type d'argument ByRef incompatible.
    En français courant, ça donne quoi? (j'ai appuyé sur aide, mais ça m'a pas aidé.
    Salutations

    Bruno


  6. #6
    Membre expérimenté

    Homme Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 183
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 183
    Points : 1 362
    Points
    1 362
    Par défaut
    Le Rec, c'est un recordset.
    Si tu veux accéder à la valeur d'un champ d'un tuple, c'est
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    rec.fields("LeChamp").value
    [Access] Les bases du débogage => ici

  7. #7
    Membre actif
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    227
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 227
    Points : 222
    Points
    222
    Par défaut merci


    T'es un chef.

    C'est ce que je voulais

    Merci
    Salutations

    Bruno


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

Discussions similaires

  1. Passer le résultat d'une requête dans un fichier XML
    Par sugarcult88 dans le forum Développement de jobs
    Réponses: 3
    Dernier message: 03/08/2011, 11h21
  2. Réponses: 3
    Dernier message: 08/07/2011, 16h00
  3. Réponses: 2
    Dernier message: 15/11/2007, 12h07
  4. renvoi du résultat d'une requête dans un fichier
    Par vrossi59 dans le forum Oracle
    Réponses: 3
    Dernier message: 13/02/2006, 17h28
  5. Enregistrer le résultat d'une requête dans un fichier Excel
    Par Isa31 dans le forum Bases de données
    Réponses: 4
    Dernier message: 24/05/2005, 14h31

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