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 :

ajout enregistrement sur table liée en DAO


Sujet :

VBA Access

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Août 2008
    Messages
    32
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 32
    Points : 26
    Points
    26
    Par défaut ajout enregistrement sur table liée en DAO
    Access version 2003 SP1

    J'utilise deux fichiers access, un pour le programme (requetes, formulaires et autres) et un contenant uniquement les tables. A part quelques tables contenant des données d'archives, les tables actives sont donc liées.

    Jai trouvé sur le site une procédure dans le cours de manipulation de données sous DAO au 5.4.3 mais, comme il est dit au 5.2 dans la description des types de recordset,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    oDb.Openrecordset([Table],dbopentable)
    ne fonctionne pas avec des tables liées. Comment faire?

    En fait le but est d'ouvrir dans une table T1 au moins autant d'enregistrements qu'il en figure dans une table T2 périodiquement importée depuis un fichier Excel : la mise a jour des divers champs par des requetes mise à jour ne pose alors plus problème. J'ai donc besoin de tester le nombre d'enregistrement dans chaque table sous VBA puis créer si nécessaire les manquants.

    Merci d'avance pour les conseils

  2. #2
    Rédacteur/Modérateur

    Avatar de Heureux-oli
    Homme Profil pro
    Contrôleur d'industrie
    Inscrit en
    Février 2006
    Messages
    21 087
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Belgique

    Informations professionnelles :
    Activité : Contrôleur d'industrie
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 21 087
    Points : 42 926
    Points
    42 926
    Par défaut
    Salut,

    Avec une table liée, on n'y arrive pas, mais on peut y arriver autrement.

    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
    Sub AjoutDonnees()
    Dim db As DAO.Database
    Dim rs As DAO.Recordset
    Dim sql As String
     
    sql = "Select * from T1"
     
     
    Set db = CurrentDb
    Set rs = db.OpenRecordset(sql)
     
    Debug.Print rs.RecordCount
    rs.Edit
     
    rs.AddNew
    rs.Fields("Nom") = "Heureux-oli"
    rs.Update
     
     
     
    rs.Close
    Set rs = Nothing
    Set db = Nothing
     
    End Sub
    La différence est que je passe par une clause SQL pour ouvrir le jeu d'enregistrements.

  3. #3
    Expert confirmé
    Avatar de vodiem
    Homme Profil pro
    Vivre
    Inscrit en
    Avril 2006
    Messages
    2 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Vivre
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2006
    Messages : 2 895
    Points : 4 325
    Points
    4 325
    Par défaut
    salut Heureux-oli et bienvenu pedro91,

    sinon tu peux aussi ouvrir en dbOpenDYNASET,
    tu n'as plus droit à Seek mais il y a FindFirst je t'ai trouvé un exemple ici

  4. #4
    Rédacteur/Modérateur

    Avatar de Heureux-oli
    Homme Profil pro
    Contrôleur d'industrie
    Inscrit en
    Février 2006
    Messages
    21 087
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Belgique

    Informations professionnelles :
    Activité : Contrôleur d'industrie
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 21 087
    Points : 42 926
    Points
    42 926
    Par défaut
    Sinon, il y a un tuto sur le DAO ici http://warin.developpez.com/access/dao/

Discussions similaires

  1. [AC-2007] Création automatique d'enregistrement sur tables liées (en cascade)
    Par LordPatate6969 dans le forum Access
    Réponses: 4
    Dernier message: 04/08/2014, 14h05
  2. [AC-2007] Requête ajout sur tables liées à partir de tables liées
    Par pierrequimousse dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 10/03/2010, 16h36
  3. [Requête][07] Requête ajout dans la table liée des contacts outlook
    Par vianneyfournel dans le forum Requêtes et SQL.
    Réponses: 4
    Dernier message: 22/12/2008, 09h34
  4. [Formulaire] recherche sur tables liées
    Par djudju2000 dans le forum IHM
    Réponses: 2
    Dernier message: 13/02/2007, 10h38
  5. Query sur table liée
    Par pierrot67 dans le forum Bases de données
    Réponses: 9
    Dernier message: 25/10/2006, 09h45

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