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 :

Insertion d'un champ en décalé dans une table access


Sujet :

VBA Access

  1. #1
    Nouveau membre du Club
    Inscrit en
    Mars 2009
    Messages
    27
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 27
    Points : 27
    Points
    27
    Par défaut Insertion d'un champ en décalé dans une table access
    Bonsoir,

    J'ai créé une table access contenant deux champs. le premier est déjà rempli. le second doit être rempli en exécutant une fonction sur le premier. je vais
    utiliser les recordset. voilà une partie de la sub que j'ai écrite

    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
    Sub FillTableRef(t As DAO.TableDef)
     
    Dim rst As DAO.Recordset
    Dim Ref As String
    Dim query As String
     
    query = "SELECT U FROM " & t.name
    'on va exécuter une fonction sur le premier champ pour avoir ce qu'on veut mettre dans le 2e
    Set rst = db.OpenRecordset(query, dbOpenForwardOnly, dbReadOnly)
     
            While Not rst.EOF
                Ref = get_Ref(rst.Fields(0))
                CurrentDb.Execute "INSERT INTO [" & t.name & "] (RefIndex) VALUES ('" & Ref & "')"
                rst.MoveNext
            Wend
    End Sub
    Ma fonction marche cependant, les champs sont insérés en décalé par rapport à la 1ère colonne alors que j'aimerais que ce soit en face.

    Comment faire pour avoir le champ2 en face du champ 1?

    Merci d'avance

  2. #2
    Membre chevronné
    Inscrit en
    Août 2006
    Messages
    1 588
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 1 588
    Points : 2 178
    Points
    2 178
    Par défaut
    Plutot un UPDATE qu'un INSERT

  3. #3
    Invité
    Invité(e)
    Par défaut
    Bonjour

    Si tu fais un Update n'oublie pas d'inclure une clause Where dans ta requête SQL pour le faire sur le bon enregistrement, sinon c'est l'ensemble qui sera mis à jour (à tester sur une copie, car pas de retour en arrière possible).

    Philippe

  4. #4
    Membre expérimenté
    Homme Profil pro
    Développeur VBA Access
    Inscrit en
    Avril 2006
    Messages
    1 109
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur VBA Access

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 109
    Points : 1 535
    Points
    1 535
    Par défaut
    Bonjour à tous,
    kizou, tu disposes d'un recordset il n'est pas nécessaire de passer en plus par une requête ( mise à jour ou insertion) il suffit d'utiliser les méthodes Edit et update du recordset.

    ex:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Dim rst As DAO.Recordset
     
    'on va exécuter une fonction sur le premier champ pour avoir ce qu'on veut mettre dans le 2e
    Set rst = db.OpenRecordset("SELECT U, RefIndex FROM " & t.name)
            While Not rst.EOF
                rst.edit
                 rst!RefIndex= get_Ref(rst!U)
                rst.Update
                rst.MoveNext
            Wend
    End Sub
    ou peut-être
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    CurrentDb.Execute "UPDATE [" & t.name & "] SET RefIndex=Get_Ref(U);"

  5. #5
    Nouveau membre du Club
    Inscrit en
    Mars 2009
    Messages
    27
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 27
    Points : 27
    Points
    27
    Par défaut
    merci beaucoup la méthode update a bien marché.

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

Discussions similaires

  1. [C#] Insertion dans une table Access
    Par th3r1ddl3r dans le forum Windows Forms
    Réponses: 6
    Dernier message: 02/10/2006, 13h24
  2. Problème d'insertion dans une table Access
    Par tribaleur dans le forum ASP
    Réponses: 21
    Dernier message: 27/06/2006, 08h20
  3. Réponses: 3
    Dernier message: 22/04/2006, 06h05
  4. Ajouter un champs dans une table (Access 2000)
    Par Didier100 dans le forum Bases de données
    Réponses: 2
    Dernier message: 12/10/2004, 13h02
  5. insertion d'un type date dans une table access
    Par monstour dans le forum ASP
    Réponses: 7
    Dernier message: 18/06/2004, 16h57

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