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 :

problème insertion dans nouvelle table


Sujet :

VBA Access

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    250
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 250
    Points : 93
    Points
    93
    Par défaut problème insertion dans nouvelle table
    Bonjour à tous

    Je viens vers vous car j'ai un soucis avec mon code ci-dessous :
    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
     
    'insertion dans 2 tables séparées
    Dim nb As Integer
    Dim NUM As Variant
    Dim dbs  As DAO.database
    Dim rst, rst1, rst2, rst3 As DAO.Recordset
     
    DoCmd.SetWarnings False
     
    Set dbs = CurrentDb
    Set rst = dbs.OpenRecordset("T_import")
    Set rst1 = dbs.OpenRecordset("T_contact")
    Set rst2 = dbs.OpenRecordset("T_Entreprise")
     
    Call ImportAccountingDataWeb 'importation dans la T_import ça marche bien
     
        Do Until rst.EOF
     
        With rst1
            .AddNew
            .Fields("CIVILITE").Value = rst.Fields("CIVILITE")
            .Fields("DIR_NOM").Value = rst.Fields("DIR_NOM")
            .Fields("FONCTION").Value = rst.Fields("FONCTION")
            .Update
     
          End With
     
    Set rst3 = dbs.OpenRecordset("select * from t_contact order by t_contact![N°] desc")
     
     
      NUM = rst3.Fields("N°").Value
     
     With rst2
            .AddNew
            .Fields("CA").Value = rst.Fields("CA")
            .Fields("RESULTATNET").Value = rst.Fields("RESULTATNET")
            .Fields("auto").Value = NUM
            .Update
     
             end With
     
        rst.MoveNext
       Loop
     
    DoCmd.SetWarnings True
    End Sub
    Lorsque j'ai plusieurs enregistrements dans ma table T_import : tout marche bien.
    Mon problème arrive lorsque je n'ai qu'un enregistrement dans ma table T_import ma 1ère boucle ne se fait pas.

    Je dois oublier quelque chose, mais quoi ??

    Merci d'avance
    Mamanhou

  2. #2
    Rédacteur/Modérateur

    Avatar de ClaudeLELOUP
    Homme Profil pro
    Chercheur de loisirs (ayant trouvé tous les jours !)
    Inscrit en
    Novembre 2006
    Messages
    20 594
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 78
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de loisirs (ayant trouvé tous les jours !)
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 594
    Points : 281 907
    Points
    281 907
    Par défaut
    Bonjour,

    À la ligne 18 ajoute :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    debug.print "Je passe " & rst.Fields("CIVILITE")
    Pour voir si tu passes par là.
    Sinon, c'est qu'on a atteint la fin du fichier pour une raison qui m'échappe.


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Dim rst, rst1, rst2, rst3 As DAO.Recordset
    À mon avis rst => rst2 sont définis comme Variant (tu ne spécifies pas te type) et non comme DAO.Recordset.
    Mais je ne crois pas que c'est l'origine du problème.
    SVP ne m'envoyez pas de messages privés pour poser des questions techniques, vous n'aurez pas de réponse !

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    250
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 250
    Points : 93
    Points
    93
    Par défaut
    Merci claude

    J'ai rajouté la ligne mais cela ne change rien la boucle ne se fait toujours pas.

    J'ai remplacé par bof c'est pareil (réponse vrai)

  4. #4
    Rédacteur/Modérateur

    Avatar de ClaudeLELOUP
    Homme Profil pro
    Chercheur de loisirs (ayant trouvé tous les jours !)
    Inscrit en
    Novembre 2006
    Messages
    20 594
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 78
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de loisirs (ayant trouvé tous les jours !)
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 594
    Points : 281 907
    Points
    281 907
    Par défaut
    As-tu redéfini correctement rst... ?
    SVP ne m'envoyez pas de messages privés pour poser des questions techniques, vous n'aurez pas de réponse !

  5. #5
    Expert éminent

    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    3 840
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Madagascar

    Informations forums :
    Inscription : Mai 2012
    Messages : 3 840
    Points : 7 974
    Points
    7 974
    Par défaut
    Bonsoir,

    Peut-être qu'il manque un .movefirst quelque part??
    Mandresy
    "Je ne sais qu'une chose, c'est que je ne sais rien" Socrate

    N'oublions pas de mettre quand on a trouvé notre bonheur. Soyons sympa pour les futurs heureux.

    Merci, c'est toujours sympa de recevoir des de votre part

  6. #6
    Responsable Arduino et Systèmes Embarqués


    Avatar de f-leb
    Homme Profil pro
    Enseignant
    Inscrit en
    Janvier 2009
    Messages
    12 699
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Janvier 2009
    Messages : 12 699
    Points : 57 260
    Points
    57 260
    Billets dans le blog
    41
    Par défaut
    bonsoir à tous,

    Si c'est pour copier d'une table à une autre, pourquoi ne pas lancer directement en VBA une requête "Ajout":

    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    INSERT INTO T_Contact (CIVILITE, DIR_NOM, FONCTION)
    SELECT CIVILITE, DIR_NOM, FONCTION FROM T_Import;

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    250
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 250
    Points : 93
    Points
    93
    Par défaut
    Merci à tous pour vos réponses.

    Oui Rst à rst2 sont bien définie en DAO.recordset.

    Je vais essayer de tout transformer en requête ajout...

    mamanhou

Discussions similaires

  1. JSP + JAVA problème insertion dans ma table postgresql
    Par stikmou dans le forum Servlets/JSP
    Réponses: 9
    Dernier message: 05/01/2011, 10h55
  2. problème insertion dans deux tables liées
    Par ryassinne dans le forum MySQL
    Réponses: 6
    Dernier message: 07/05/2010, 16h58
  3. [MySQL] Problème insertion dans une table
    Par Timbermatt dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 28/05/2009, 11h34
  4. Problème d'insertion dans une table MYSQL
    Par greg69 dans le forum Requêtes
    Réponses: 4
    Dernier message: 24/10/2005, 11h34
  5. [ZEOSLIB] Problème Insertion dans une table
    Par moscovisci dans le forum Bases de données
    Réponses: 1
    Dernier message: 09/06/2005, 12h05

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