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

Bases de données Delphi Discussion :

Mettre à jour certaines tables d'un base access


Sujet :

Bases de données Delphi

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    63
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 63
    Points : 40
    Points
    40
    Par défaut Mettre à jour certaines tables d'un base access
    Bonjour à tous,

    Voi j'ai un base access que j'attaque en delphi avec ODBC et les compo AccèsBD standard de delphi.

    Je veux dans cette base supprimer certaines tables et les remplacer par des tables provenant d'une autre bases plus à jour. Comment puis faire pour automatiser cette procèdure avec delphi. En fait les utilisateurs de mon logiciel ont la même base que moi. Quand je mets à jours la mienne je voudrais répercuter cette miseà jour sur leur base en remplacant juste les tables que j'ai modifier par les miennes.

    Auriez-vous une idée...

    The Jos

  2. #2
    Membre émérite
    Homme Profil pro
    Directeur technique
    Inscrit en
    Mai 2008
    Messages
    2 401
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2008
    Messages : 2 401
    Points : 2 304
    Points
    2 304
    Par défaut
    Salut;
    je vais tenter d'y répondre même si j'ai pas bien compris. S'il s'agit de remplacer toute la table, simple suppression et copie suffisent . si tu dois mettre à jour la table, tu as la commande UPDATE du langage SQL très pratique.
    Bon courage ou Bonne Chance (selon le contexte)
    Mon blog sur WordPress

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    63
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 63
    Points : 40
    Points
    40
    Par défaut
    Bonsoir tout le monde,

    Excusez moi pour le retard mais un autre projet est passé prioritaire. Je reprends donc mon post.

    En fait voila j'ai développé un logiciel avec delphi et les compo AccèsBD standard.

    Ce logiciel attaque une base mdb (access) contenant 4 tables (je rapelle qu'access encapsule toutes ces tables dans un seul fichier mdb).

    Les tables 1 et 2 sont des tables que l'utilisateur renseigne (je n'y touche pas) les tables 3 et 4 sont des tables informatives (établissements scolaires).

    Cest 2 dernieres tables, je dois les mettre à jour chaque année (nouveau responsable d'établissement, email d'établissement différent...). J'ai un double de la base de données chez moi. Je mets à jour les tables 3 et 4 (je change les données obsolètes à l'aide du logiciel access pour plus de facilité...)

    Voila j'aimerai donc pour chaque utilisateur de mon logiciel ne remplacer que les tables 3 et 4 par celle de la base que j'ai mise a jour chez moi. Je ne peux pas écraser la base entière puisque les tables 1 et 2 sont personnelles et contiennent des données propres a chaque utilisateur.

    Donc au final je veux integrer un menu ou un boutons "import" dans mon logiciel pour ne remplacer que les tables 3 et 4.

    Voila si vous avez une piste je suis preneur.

  4. #4
    Membre émérite
    Homme Profil pro
    Directeur technique
    Inscrit en
    Mai 2008
    Messages
    2 401
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2008
    Messages : 2 401
    Points : 2 304
    Points
    2 304
    Par défaut
    Salut;

    Puisque chaque table a un nom un simple Update suffit. Car la commande SQL Update est censée manipuler des enregistrements d'une table donc les tables 1 et 2 ne seront pas touchées.
    un tour dans les cours SQL te permettra de voir de quoi il s'agit.
    Bon courage ou Bonne Chance (selon le contexte)
    Mon blog sur WordPress

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Août 2006
    Messages
    106
    Détails du profil
    Informations personnelles :
    Localisation : Algérie

    Informations forums :
    Inscription : Août 2006
    Messages : 106
    Points : 55
    Points
    55
    Par défaut
    Il te faut une requête SQL qui supprime les anciennes données et puis insère les nouvelles :

    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
    procedure TForm_Main.Button1Click(Sender: TObject);
    begin
    With Query1 Do
       begin
          //Suppression des anciennes données
          SQL.Clear;
          SQL.Text:='DELETE Table3.* FROM Table3;';
          ExecSQL;
          //Insertion des nouvelles données
          SQL.Clear;    
          SQL.Text:='INSERT INTO Table3 ( Champ3_1, Champ3_2,Champ3_3)SELECT Table3_Ajour.Champ3_1, Table3_Ajour.Champ3_2, Table3_Ajour.Champ3_3 FROM Table3_Ajour;';
          ExecSQL;
       end;
    //Réinitialiser la table après la mise à jour
    Table3.Close;
    Table3.Open;
    end;

Discussions similaires

  1. [AC-2010] Mettre à disposition un table d'une base access
    Par Nelson77 dans le forum Macros Access
    Réponses: 1
    Dernier message: 27/09/2013, 06h15
  2. [AC-2010] Mettre à disposition une table d'une base access
    Par Nelson77 dans le forum VBA Access
    Réponses: 5
    Dernier message: 25/09/2013, 19h59
  3. [Débutant] Mettre à jour une table dans une base de données crée par code.(access)
    Par sidisadmir dans le forum ADO.NET
    Réponses: 1
    Dernier message: 31/08/2013, 09h54
  4. Réponses: 2
    Dernier message: 11/01/2010, 15h04
  5. [Access][Formulaire] Mettre à jour une table tierce
    Par Longrais dans le forum Access
    Réponses: 7
    Dernier message: 21/10/2007, 19h42

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