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 :

copier certains champs d une requete vers une table vierge


Sujet :

VBA Access

  1. #1
    Nouveau membre du Club
    Inscrit en
    Octobre 2006
    Messages
    67
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 67
    Points : 35
    Points
    35
    Par défaut copier certains champs d une requete vers une table vierge
    Bonsoir à tous j ai enfin réussi à remplir ma table à partir de ma requete via le 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
    Dim rs01 As DAO.Recordset
    Dim rs02 As DAO.Recordset
    Dim SQL01 As String
    Dim DB As DAO.Database
     
    Set DB = CurrentDb
    Set rs01 = DB.OpenRecordset("select * from selection")
    rs01.MoveFirst
     
     
    Set rs02 = DB.OpenRecordset("select * from graph1")
    rs02.AddNew
    rs02.Fields(1) = rs01.Fields(16)
    rs02.Fields(2) = rs01.Fields(20)
    rs02.Fields(3) = rs01.Fields(21)
    rs02.Update
     
    rs02.AddNew
    rs02.Fields(1) = rs01.Fields(17)
    rs02.Fields(2) = rs01.Fields(18)
    rs02.Fields(3) = rs01.Fields(19)
    rs02.Update
     
    rs01.Close
    rs02.Close
    DB.Close
    Set rs01 = Nothing
    Set rs02 = Nothing
    Set DB = Nothing
    End Sub
    Tout est OK c'està dire les changements se font bien dynamiquement mais il me reste un souci. En effet quand je rempli une première fois ca marche bien mais quand je m amuse à supprimer les 3 champs de mon première enregistrement il me met :

    " le champ graph_loc1.ad ne peut contenir une valeur null car la valeur de la propriété Required pour ce champ est true"

    En fait j ai l impression que comme le 1 er enregtriment est null alors il n arrive pas mettre à jour un enregistrement null quand je lui dit "rs02.Update"

    Si quelqu un à des idées.
    Merci

  2. #2
    Membre chevronné
    Avatar de Demco
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    1 396
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 1 396
    Points : 2 228
    Points
    2 228
    Par défaut
    Si tu supprimes les champs je ne comprends pas pourquoi ils sont représentés sous forme de champs nulls quand tu fais la requête :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Set rs02 = DB.OpenRecordset("select * from graph1")
    Ils ne devraient pas du tout être retournée ... comment effectues-tu cette suppression ? La ligne dans la table doit toujours apparaitre ce n'est pas normal.

    Au pir une solution sale est de vérifier la non nullité avant de faire le .add, mais je te conseille plutôt de revoir ta méthode de suppression.

    En espérant t'aider.

Discussions similaires

  1. Dupliquer une requete d une base vers une autre
    Par adelsunwind dans le forum Requêtes et SQL.
    Réponses: 6
    Dernier message: 15/07/2010, 13h09
  2. copier certains champs d une requete vers une table vierge
    Par sunwind dans le forum VBA Access
    Réponses: 1
    Dernier message: 15/11/2007, 00h09
  3. copier certains champs d une requete vers une table vierge
    Par sunwind dans le forum VBA Access
    Réponses: 1
    Dernier message: 14/11/2007, 21h24
  4. Réponses: 4
    Dernier message: 14/03/2007, 08h57
  5. copier une partie d'une image vers une autre
    Par gregcat dans le forum Langage
    Réponses: 1
    Dernier message: 14/04/2006, 13h39

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