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

Requêtes et SQL. Discussion :

Insert et delete en une requête


Sujet :

Requêtes et SQL.

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Inscrit en
    Février 2010
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Février 2010
    Messages : 2
    Par défaut Insert et delete en une requête
    Bonjour,
    A partir d'une table T1, je souhaite extraire des données dans une table T2 en fonction de critères.
    Donc j'aimerais savoir s'il est possible de réaliser en une requête :
    - l'insert des données dans T1
    - le delete des données dans T2
    D'avance merci.

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    14
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2010
    Messages : 14
    Par défaut
    Bonjour Zborg,

    Pour exécuter tes deux requêtes SQL en même temps, il faut que tu les mettes dans une transaction. Voici un exemple, pour que cela fonction, tu dois ajouter la librairie Microsoft DAO 3.6 (ou autre) Object Library:

    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
    Public Sub deleteEtInsertAlaFois()
     
     
    Dim wSp As DAO.Workspace
    Dim db As DAO.Database
    Set wSp = DBEngine(0)
    Set dbC = CurrentDb
     
     
    On Error GoTo trans_Err
     
    'Démarre la transaction
    wSp.BeginTrans
     
    exécuter les commandes SQL
    'Les commandes sont exécutées mais gardées en cache
    db.Execute "INSERT INTO T2.....WHERE.....", dbFailOnError
    'deuxième commande SQL, d'autre commandes SQL peuvent-être 'ajoutées
    db.Execute "DELETE FROM T1..... WHERE.....", dbFailOnError
     
    'les changements sont répercutés sur les tables
    wSp.CommitTrans dbFlushOSCacheWrites
     
     
    trans_Exit:
    wSp.Close
    Set db = Nothing
    Set wSp = Nothing
    Exit Sub
     
    trans_Err:
    'Rollback de la transaction dans le cas ou quelque chose se passe mal
    wSp.Rollback
    Resume trans_Exit
    End Sub
    Voila plus ou moins comment doit se présenter le code. J'espère que ca te servira.

    A++

    ----------------------------------------
    http://www.doyoubuzz.com/etienne-dandrea

Discussions similaires

  1. Insertion et modification dans une requête
    Par wiski08000 dans le forum Développement
    Réponses: 4
    Dernier message: 04/02/2014, 14h09
  2. Evenement Insert,Update,Delete sur une table
    Par olibara dans le forum Développement
    Réponses: 7
    Dernier message: 20/11/2013, 16h28
  3. Réponses: 2
    Dernier message: 13/06/2007, 17h42
  4. Réponses: 4
    Dernier message: 05/04/2005, 18h28

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