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

VB 6 et antérieur Discussion :

pb sql en vb6


Sujet :

VB 6 et antérieur

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Avril 2009
    Messages
    28
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 28
    Par défaut pb sql en vb6
    vb 6
    access

    bonjour..
    j'ai 03 tables :
    1. entrees, contient les champs suivant : id, qte
    2. sorties, contient les champs suivant : id, qts
    3. etat, contient les champs suivant : id, qte, qts, ecart (la colone qte et qts sont vide)

    je voudrais importer la colone " qte" de la table etat par le contenu de la colone "qte" de la table entrees.
    et remplir la colone " qts" de la table etat par le contenu de la colone "qts" de la table sorties.

    qlq 1 peut m'aider a trouver le sql qui regle ce pb...

    merci d'avance

  2. #2
    Membre confirmé Avatar de jfdmagic
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    181
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 181
    Par défaut
    tes tables sont-elles liées par une relation One to Many (un à plusieurs) ?

    Y a t-il intégrité référentielle entre les deux tables ?

  3. #3
    Membre expérimenté
    Profil pro
    Développeur informatique
    Inscrit en
    Mars 2008
    Messages
    155
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2008
    Messages : 155
    Par défaut
    Dans le cas où tu as une relation 1-1 càd Id est unique dans chaque table, tu peux utiliser ce SQL:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    INSERT INTO etat SELECT 
    id = t1.id,
    qte = t1.qte,
    qts = t2.qts,
    ecart = 0  // tu peux mettre aussi un truc du genre t2.qte - t1.qts
    FROM entrees t1 INNER JOIN sorties t2 on t1.id = t2.id

  4. #4
    Membre averti
    Inscrit en
    Avril 2009
    Messages
    28
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 28
    Par défaut
    merci de m'avoir repondu....

    1. la table entrees : id : clé primaire
    2. sorties : id : clé primaire
    3. etat : id : clé primaire

    j'ai met ce
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Dim ecart As Recordset
    Set ecart = Base.OpenRecordset("INSERT INTO ecart SELECT id= t1.id, qte = t1.qte,qts = t2.qts,ecart = 0  FROM entrees t1 INNER JOIN sorties t2 on t1.id= t2.id")
    mais ca n'a pas marché....
    erreur d'execution 3352 il n ya pas de nom de champ dans l'instruction insert into (id=t1.id)

  5. #5
    Membre confirmé Avatar de jfdmagic
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    181
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 181
    Par défaut
    tu n'es pas clair(e) dans tes propos.

    est-ce le même id dans les 3 tables ? comment tes tables sont-elles reliées ?

    si tes champs reprennent la même chose et que ce sont les mêmes id, il n'est peut-être pas nécessaire de séparer les tables (tu compliques inutilement) car, ce qui t'intéresse, c'est bien la table état ? ....

    Etat : id, qte, qts , ecart avec id : clé primaire

    lors du remplissage, il suffit de dire que ecart = qts - qte

    tu as ainsi une table unique et des requêtes beaucoup plus simples.

  6. #6
    Membre averti
    Inscrit en
    Avril 2009
    Messages
    28
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 28
    Par défaut
    je travail dans une application de gestion de stock...c'est a dire une application qui marche deja...sur cette application l'option etat de stock n'existe pas..
    alors j'ai procédé comme suivant : j'ai créé les tables : entrées, sorties et etat.
    pour les deux tables entrées et sorties, j'ai pu les remplire via ma base de données...
    il me rest maintenant la table "etat". je voudrais la remplir via ces deux table...voila
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Dim ecart As Recordset
    Set ecart = Base.OpenRecordset("INSERT INTO ecart SELECT id = t1.id , qte = t1.qte,qts = t2.qts,ecart = 0  FROM entrees t1 INNER JOIN sorties t2 on t1.id = t2.id ")

Discussions similaires

  1. Petit problème avec une requête SQL en VB6
    Par muzele dans le forum VB 6 et antérieur
    Réponses: 7
    Dernier message: 15/11/2007, 20h51
  2. Problème d'update d'une table sql en vb6
    Par cfelicien dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 30/08/2007, 20h24
  3. Insérer une BDD SQL dans VB6?
    Par Whinespirit dans le forum VB 6 et antérieur
    Réponses: 12
    Dernier message: 24/07/2007, 16h10
  4. executer un fichier sql depuis VB6
    Par aymenagrebi dans le forum VB 6 et antérieur
    Réponses: 7
    Dernier message: 18/04/2007, 22h07
  5. Requete SQL sur base SQL Server VB6
    Par Yanmeunier dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 25/11/2005, 12h30

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