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

Langage SQL Discussion :

Update d'un champs d'une table


Sujet :

Langage SQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    80
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 80
    Par défaut Update d'un champs d'une table
    Bonsoir le forum,

    Je développe sous vb6 et access et utilise l' sql...
    Voici mon probleme :

    J'ai une table "client" qui a comme champs cliRappel,
    par ex idClient 1 a le champs cliRappel a "1er rappel", idClient 2 a le champs cliRappel a 2ème rappel.
    Ce que je souhaite faire c'est faire un update du champs cliRappel du client idClient 1 qui passe a "2eme Rappel", le champs cliRappel du client idClient2 qui passe a "3ème Rappel" et ainsi de suite ...

    Avez vous une idée ?

    Merci d'avance!

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    48
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 48
    Par défaut
    Bonjour,

    A priori, tu es obligé de le faire en plusieurs requêtes, a moins que tu passes cliRappel en un champ de type id numérique.

    Par exemple:
    1er rappel =1
    2ieme rappel =2
    3ième rappel =3
    Alors là, tu pourras faire:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    update client set idCliRappel=idCliRappel+1 where IdClient IN(1,2)

    A+

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    80
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 80
    Par défaut
    Bonsoir le forum, LoveBuzz

    Merci pour la réponse, j'ai fait comme tu as dis.
    Voici le code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    UPDATE  client INNER JOIN commande ON commande.idClient=client.idClient SET client.idRappel=client.idRappel + 1
    WHERE  commande.commLivre='Non' AND commType <> 'Devis' AND commDateEch <#" & Auj & "#"
    Le probleme que j'ai maintenant, c'est que quand j'ai plusieur record pour le meme client (avec mes selections), client.idRappel passe a 3 si il était à 1 et qu'il y a 2 records pour ce client.

    Comment faire un update disctinct comme un peu un select distinct pour ne prendre qu'un record par client

    Je ne sais pas si je suis clair

    D'avance merci

  4. #4
    Rédactrice

    Avatar de Fleur-Anne.Blain
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    2 636
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 2 636
    Par défaut
    Bonsoir,

    ou tu supprimes les anciens appels je pense ou bien il doit y a voir un moyen de prendre le dernier tuple créé pour un client je pense (il y a peut-être une date de création)...mais je ne saurais pas te dire comment faire si c'est possible.

    @+
    la culture c'est comme la confiture moins on en a plus on l'étale.

    Mes tutos

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    80
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 80
    Par défaut
    Bojour trinityDev, le forum,

    J'ai pas bien compris ce que tu veux dire...

  6. #6
    Rédactrice

    Avatar de Fleur-Anne.Blain
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    2 636
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 2 636
    Par défaut
    LU,

    Et bien si tu peux le faire, tu supprimes ton tuple pour un client exemple, 1 georges 1er appel, afin de garder le 1 geaorges 3eme appel...si j'ai bien compris ton problème. Si tu n'as pas le droit de les supprimer de la base, il doit y avoir un moyen d'afficher uniquement les clients, avec leurs derniers appel en utilisant la date de création du tuple...mais je ne sais pas si c'est possible, il faudrait te renseigné, à savoir si lorsqu'on créer un enregistrement, une date ( cachée surement) est associée un peu comme la date de dernière modification d'un client..
    la culture c'est comme la confiture moins on en a plus on l'étale.

    Mes tutos

Discussions similaires

  1. Réponses: 1
    Dernier message: 08/12/2010, 12h04
  2. Réponses: 3
    Dernier message: 13/01/2009, 16h55
  3. update champ d'une table a partir d'une autre table
    Par tifsa dans le forum Requêtes
    Réponses: 6
    Dernier message: 25/09/2008, 16h38
  4. Problème d'UPDATE sur un champ d'une table MyISAM
    Par alouette dans le forum Requêtes
    Réponses: 6
    Dernier message: 13/07/2006, 20h17
  5. UPDATER le champ d'une table 1 avec le champ d'une table 2
    Par alain.dissoir dans le forum Oracle
    Réponses: 2
    Dernier message: 08/06/2005, 13h07

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