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 :

retrouver stock initial à partir de la date


Sujet :

Bases de données Delphi

  1. #1
    Membre régulier
    Inscrit en
    Novembre 2006
    Messages
    249
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 249
    Points : 111
    Points
    111
    Par défaut retrouver stock initial à partir de la date
    Salut,
    Je suis en train de concevoir un logiciel de gestion de stock et je me suis planté à la recupération du stock initial.
    J'ai une table stock (id_stock, date, stock_initial, entrees, stock_final, sorties, restant) et la dedans je range des informations chaque jour. La colonne stock initial est en lecture seul par l'utilisateur, le premier jour de l'utilisation du logiciel cette cellule est mise à 0. Le second jour et pour le reste des jours suivants le stock initial est egal au stock restant le jour avant l'enregistrement qu'on est en train de faire.
    Le blème est que je ne sais pas comment faire pour recupérer ce restant à partir de la dernière date.
    Aussi, je dois aussi permettre d'initialiser le stock restant à 0 si l'utilisateur le désire par un simple click sur un bouton.

  2. #2
    Rédacteur
    Avatar de evarisnea
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Juin 2005
    Messages
    1 957
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Ingénieur intégration
    Secteur : Transports

    Informations forums :
    Inscription : Juin 2005
    Messages : 1 957
    Points : 4 384
    Points
    4 384
    Par défaut

    stock_final c'est le stock en fin de journée j'imagine, soit stock_initial + entrées - sorties. restant c'est quoi ?
    sinon, normalement une requête SQL devrait pouvoir faire l'affaire assez facilement.
    par exemple si l'on veut lire le champ stock_final pour la dernière date dans la table, il suffit de sélectionner la première ligne d'un jeu d'enregistrement ordonnés sur la date :
    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    /*syntaxe firebird*/
    SELECT FIRST 1
        stock_final
      FROM
        stock
      ORDER BY
        "date" DESC;
    pour ce qui est de l'initialisation du stock restant à zéro, vu le modèle de la table que tu as donné, la solution que je vois consiste à mettre à zéro, le champ stock_final (ou reste, selon ta conception) du dernier enregistrement en date.
    exemple :
    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    /*syntaxe firebird*/
    UPDATE
        stock
      SET
        stock_final = 0
      WHERE  
        "date" = (SELECT FIRST 1 "date" FROM stock ORDER BY "date" DESC);
    ps: éviter d'utiliser des mots clés SQL comme noms de champ, je pense dans ton cas au champ date

  3. #3
    Membre régulier
    Inscrit en
    Novembre 2006
    Messages
    249
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 249
    Points : 111
    Points
    111
    Par défaut
    merci pour ces éléments de reponse, je vais essayer et te rendre compte.
    stock_initial + entrées - sorties = restant .

  4. #4
    Rédacteur
    Avatar de evarisnea
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Juin 2005
    Messages
    1 957
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Ingénieur intégration
    Secteur : Transports

    Informations forums :
    Inscription : Juin 2005
    Messages : 1 957
    Points : 4 384
    Points
    4 384
    Par défaut
    Citation Envoyé par SOPSOU Voir le message
    stock_initial + entrées - sorties = restant .
    c'est la même formule pour le stock final alors. pourquoi dans ce cas enregistrer les deux informations ?

  5. #5
    Membre régulier
    Inscrit en
    Novembre 2006
    Messages
    249
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 249
    Points : 111
    Points
    111
    Par défaut
    en fait,
    Stock_final= stock_initial+entrees
    et maintenant
    restant=stock_final-sorties=stock_initial+entrees-restant
    .
    Excuse si j'ai pas bien documenté mes champs.

  6. #6
    Rédacteur
    Avatar de evarisnea
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Juin 2005
    Messages
    1 957
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Ingénieur intégration
    Secteur : Transports

    Informations forums :
    Inscription : Juin 2005
    Messages : 1 957
    Points : 4 384
    Points
    4 384
    Par défaut
    il ne te reste plus alors qu'à remplacer le champ stock_final par le champ restant dans les requêtes données plus haut et de les tester.

  7. #7
    Membre du Club
    Inscrit en
    Août 2002
    Messages
    65
    Détails du profil
    Informations forums :
    Inscription : Août 2002
    Messages : 65
    Points : 64
    Points
    64
    Par défaut
    Bonjour, je voudrais intervenir sur le sujet sous un autre angle. Vous n'ignorez pas tous que le developpement des logiciels suit des démarches. Les programmmes (interfaces+traitements) manipulent des données qui sont dans des bases de données.
    J'aurais bien voulu qu'on aide notre ami à concevoir un modèle de données à même de répondre à ses besoins sinon nous allons donner des propositions inutiles.
    Les questions peuvent etre par exemple :
    - Que contient le stock?
    - Y a t il plusieurs mouvements (entrées, sorties) par jours?
    - Quel est le nombre de magasin?
    - Identifiez vous les fournisseurs, les bénéficiaires des sorties?
    - ...
    Il faut developper utile.
    En espérant que ma réaction va pour la construction, je suis disposé à accompagner notre ami pour son projet.
    Les vrais informaticiens n'ont pas d'attaché-case ; leur tête suffit à transporter leurs connaissances.

  8. #8
    Membre régulier
    Inscrit en
    Novembre 2006
    Messages
    249
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 249
    Points : 111
    Points
    111
    Par défaut
    Bonjour,
    Pour la structure de ma BD, il n'y a pas de problème, la reponse de EVARISTE me satisfait surtout sa deuxième requète.
    La requète une me donne une erreure de colonne comme colonne FIRST,... non trouvée dc s'il peut m'eclairer la lanterne sur cette partie, je serai content.
    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    SELECT FIRST 1
        stock_final
      FROM
        stock
      ORDER BY
        "date" DESC;

  9. #9
    Rédacteur
    Avatar de evarisnea
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Juin 2005
    Messages
    1 957
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Ingénieur intégration
    Secteur : Transports

    Informations forums :
    Inscription : Juin 2005
    Messages : 1 957
    Points : 4 384
    Points
    4 384
    Par défaut
    bizarre, chez moi sous FB2.1 cela fonctionne.
    essaie avec ROWS comme ceci :
    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    SELECT 
        stock_final
      FROM
        stock
      ORDER BY
        "date" DESC
      ROWS 1;

  10. #10
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    135
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 135
    Points : 164
    Points
    164
    Par défaut
    Côté conception du modèle ça se discute.
    Pour la requête les mots cle ne sont pas toujours les mêmes pour tous les SGBDR.
    la requête la plus standard est celle-ci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT max(date)  FROM   stock ;
    A+

Discussions similaires

  1. Retrouver le numéro de la semaine à partir d'une date
    Par ravaid dans le forum Développement
    Réponses: 12
    Dernier message: 14/03/2009, 12h00
  2. retrouver le numéro de la semaine à partir d'une date
    Par christophe_halgand dans le forum MATLAB
    Réponses: 3
    Dernier message: 18/01/2008, 11h38
  3. Réponses: 3
    Dernier message: 25/03/2007, 18h03
  4. Réponses: 6
    Dernier message: 01/03/2007, 13h57
  5. Réponses: 2
    Dernier message: 05/12/2005, 11h53

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