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 :

export des tables vides acess vba


Sujet :

VBA Access

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Ingénieur commercial
    Inscrit en
    Septembre 2016
    Messages
    67
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur commercial

    Informations forums :
    Inscription : Septembre 2016
    Messages : 67
    Par défaut export des tables vides acess vba
    Bonjour,
    Je possède un nombre de table par classe d’école (cm1,cp,…),mon besoin est de faire l’export des infos de ces tables et les stockées dans un fichier texte sur mon bureau.
    Mon problème je souhaite que si une table est vide de ne pas me générer le fichier correspondant .
    Je n’arrive pas à faire cela avec une boucle if .Si vous avez des idées merci ;
    voici le code ( pour ce cas la table cm2 est vide maisle programme beug à la ligne If rs.Fields("nom")<>0 then
    Il me dit objet manquant ) :
    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
    Function Export_txt()
      Dim rs As DAO.Recordset
       Set rs = CurrentDb.OpenRecordset("Requête cm1")
     
     
    Open "C:\BUREAU \CLASSES\CM1.txt" For Output As #1
     
      Print #1, ("classe cm1")
      Do While Not rs.EOF
        Print #1, " < & rs.Fields("nom")& rs.Fields("prénom") & & rs.Fields("age") >"
        rs.MoveNext
         Print #1, (" ")
     Loop
         Set rs = CurrentDb.OpenRecordset("Requête cm2")
    If rs.Fields("nom")<>0 then 
    Open "C:\BUREAU \CLASSES\CM2.txt" For Output As #1
    Print #1, ("classe cm2")
      Do While Not rs.EOF
        Print #1, " < & rs.Fields("nom")& rs.Fields("prénom") & & rs.Fields("age") >"
        rs.MoveNext
         Print #1, (" ")
    Loop
      ELSE  
      Close #1
    END IF
    END FUNCTION
     
    Merci

  2. #2
    Expert éminent
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 961
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 961
    Par défaut
    Bonjour,
    teste les valeurs EOF et BOF avant d'ouvrir ton fichier si les 2 ont la valeur True c'est que ta table est vide :
    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
    Function Export_txt()
      Dim rs As DAO.Recordset
       Set rs = CurrentDb.OpenRecordset("Requête cm1")
     
        If Not rs.EOF And Not rs.BOF Then
            Open "C:\BUREAU \CLASSES\CM1.txt" For Output As #1
     
            Print #1, ("classe cm1")
                Do While Not rs.EOF
                    Print #1, " < " & rs.Fields("nom") & ";" & rs.Fields("prénom") & ";" & rs.Fields("age") & "; >"
                    rs.MoveNext
                    Print #1, (" ")
                Loop
            Close #1
        End If
     
        Set rs = CurrentDb.OpenRecordset("Requête cm2")
     
        If Not rs.EOF And Not rs.BOF Then
            Open "C:\BUREAU \CLASSES\CM2.txt" For Output As #1
     
            Print #1, ("classe cm2")
            Do While Not rs.EOF
                    Print #1, " < " & rs.Fields("nom") & ";" & rs.Fields("prénom") & ";" & rs.Fields("age") & "; >"
                rs.MoveNext
                Print #1, (" ")
            Loop
            Close #1
        End If
    rs.Close
    Set rs = Nothing
    End Function

  3. #3
    Membre confirmé
    Homme Profil pro
    Ingénieur commercial
    Inscrit en
    Septembre 2016
    Messages
    67
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur commercial

    Informations forums :
    Inscription : Septembre 2016
    Messages : 67
    Par défaut RE
    Hello
    Ca marche parfaitement bien merci à toi!

  4. #4
    Membre confirmé
    Homme Profil pro
    Ingénieur commercial
    Inscrit en
    Septembre 2016
    Messages
    67
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur commercial

    Informations forums :
    Inscription : Septembre 2016
    Messages : 67
    Par défaut re
    Je souhaite rajouter une variable (qui s’incrémente automatiquement à ma ligne) à la variable age
    J’ai rajouté un I mais ca ne fonctionne pas
    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
     Function Export_txt()
      Dim rs As DAO.Recordset
       Set rs = CurrentDb.OpenRecordset("Requête cm1")
     
        If Not rs.EOF And Not rs.BOF Then
            Open "C:\BUREAU \CLASSES\CM1.txt" For Output As #1
     
            Print #1, ("classe cm1")
                Do While Not rs.EOF
    DiM  I AS byt
    For I =1 to 100
                    Print #1, " < " & rs.Fields("nom") & ";" & rs.Fields("prénom") & ";" & rs.Fields("age")+I & "; >"
                    rs.MoveNext
                    Print #1, (" ")
    NEXT I
                Loop
            Close #1
        End If
     End Function
    Merci de votre aide

  5. #5
    Expert éminent
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 961
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 961
    Par défaut
    Bonjour,
    J’ai rajouté un I mais ca ne fonctionne pas
    Ce n'est pas suffisant comme indication, merci de mieux expliquer ton problème (messages d'erreur, résultat incorrect...).
    Corrige déjà ceci :
    et déplace-le hors de tes boucles.

  6. #6
    Membre confirmé
    Homme Profil pro
    Ingénieur commercial
    Inscrit en
    Septembre 2016
    Messages
    67
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur commercial

    Informations forums :
    Inscription : Septembre 2016
    Messages : 67
    Par défaut Re
    A l’extérieure de la boucle ça marche mais ça ne s’incrémente pas
    A l’intérieur message d’erreur «3021 aucun enregistrement en cours.
    Merci

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

Discussions similaires

  1. Export des tables d'une base
    Par jdiamsss dans le forum Oracle
    Réponses: 4
    Dernier message: 24/10/2006, 09h19
  2. [SQL-Server] Exporter des tables sans PHPmyAdmin ??
    Par seb92500 dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 05/07/2006, 14h30
  3. exporter des table en fichier csv
    Par kornmuse90 dans le forum Administration
    Réponses: 1
    Dernier message: 17/03/2006, 09h17
  4. Ajouter un enregitrement a une table vide en VBA avec access
    Par Mateache dans le forum VBA Access
    Réponses: 4
    Dernier message: 03/01/2006, 15h36
  5. Chemin des tables attachées en VBA
    Par stigma dans le forum Access
    Réponses: 3
    Dernier message: 17/06/2005, 09h42

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