Lancer deux requêtes successivement

Résolu
transfix -  
 RATCHKOV -
Bonjour,


mon besoin créer un enregistrement dans une nouvelle table suite à une sélection par critère puis tout de suite faire une mise à jour des champs dans l'enregistrement crée.
les requêtes suivantes font cela mais en deux temps est il possible de les concaténer
INSERT INTO COMIntim8 ( N°Cde )
SELECT Tresorerie.N°Cde
FROM Tresorerie
WHERE (((Tresorerie.soldereçu)>0) And ((Tresorerie.NOBord2)>0) And ((Tresorerie.SOLDé)='o'));

UPDATE COMIntim8 SET COMIntim8.MontantCalc = ((Acomptereçu+soldereçu)*0.3), COMIntim8.DateCom = "CURRENT_DATE", COMIntim8.Encaisprévu = (DateCOm+90)
WHERE (((COMIntim8.N°cde)>0));
MErci réponse (si vous me répondez macro je ne sais pas comment ça marche)

6 réponses

  1. transfix2
     
    ça marche avec la syntaxe suivante
    INSERT INTO COMIntim8 ( N°Cde, MontantCalc, datecreation, DateEncaisPrevu )
    SELECT Tresorerie.N°Cde, ((Acomptereçu+soldereçu)*0.3) AS Expr1,date() AS Expr2,date()+90 AS Expr3
    FROM Tresorerie
    WHERE (((Tresorerie.soldereçu)>0) AND ((Tresorerie.NOBord2)>0) AND ((Tresorerie.SOLDé)='o'));

    merci pour votre aide
    1
    1. RATCHKOV
       
      En fait je voudrais créer une formulaire à partir de la requête issue de deux tables : (Chercheur d'emploi) et ( Diplomes) liées par un Id de telle façon que chaque chercheur apparaisse sur une seule ligne avec les 3 diplomes affichés respectivement sur les colonnes : Diplome1- Diplome2 - Diplome3 (Chaque chercheur peut avoir plusieurs diplome). autrement dit, je veux pas que le méme chercheur se répéte trois fois. {ce que j'ai utilisé au niveau de la requête c'est le regroupement par le critére : premier dans la colonne (diplome1) et le critére dernier dans la colonne (diplome3 mais comment faire la colonne (diplome2)}?
      0
    2. RATCHKOV
       
      En fait je voudrais créer une formulaire à partir de la requête issue de deux tables : (Chercheur d'emploi) et ( Diplomes) liées par un Id de telle façon que chaque chercheur apparaisse sur une seule ligne avec les 3 diplomes affichés respectivement sur les colonnes : Diplome1- Diplome2 - Diplome3 (Chaque chercheur peut avoir plusieurs diplome). autrement dit, je veux pas que le méme chercheur se répéte trois fois. {ce que j'ai utilisé au niveau de la requête c'est le regroupement par le critére : premier dans la colonne (diplome1) et le critére dernier dans la colonne (diplome3 mais comment faire la colonne (diplome2)}?
      0
  2. moiced59 Messages postés 1161 Statut Membre 60
     
    Bonjour

    Tu travaille sous quel SGBD
    0
  3. Reivax962 Messages postés 3742 Statut Membre 1 011
     
    Bonjour,

    Je ne sais pas si ce que je vais te donner fonctionne sous Access, mais il n'ya pas de raisons...
    A priori je ferais comme ça :

    INSERT INTO COMIntim8 ( N°Cde, MontantCalc, DateCom, Encaisprévu )
    SELECT Tresorerie.N°Cde, ((Acomptereçu+soldereçu)*0.3), "CURRENT_DATE", "CURRENT_DATE"+90
    FROM Tresorerie
    WHERE (((Tresorerie.soldereçu)>0) And ((Tresorerie.NOBord2)>0) And ((Tresorerie.SOLDé)='o'));

    Un petit bémol pour le Encaisprévu, je ne sais pas si cela fonctionnera. Mais au pire elle utilise des données statiques, donc pour le coup ça ne doit pas être trop gênant de faire une deuxième requête juste pour ce champ.

    Xavier
    0
  4. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  5. moiced59 Messages postés 1161 Statut Membre 60
     
    Bonjour
    Sous access tu fais t deux requetes
    puis ensuite tu fais une macros qui execute t 2 requete l'une apres l'autre et le tour est joué
    0
  6. transfix
     
    Désolé çà marche pas
    le premier enregistrement de la base est crée mais les zones avec les dates ne sont pas mise à jour et lors d'une deuxième exécution il y a un message comme quoi il va créer un enregistrement et tout de suite derrière un message comme quoi il ne peut pas ajouter suite à une valeur nulle et violation de clé
    merci réponse
    0