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 :

update de certains champs d'un dataGrid vers BDD Oracle


Sujet :

VB 6 et antérieur

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Juin 2006
    Messages
    79
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 79
    Par défaut update de certains champs d'un dataGrid vers BDD Oracle
    Bonjour,

    je bidouille un peu de VB en ce moment, couplée a une BDD Orcale.

    Voici ma BDD (simplifiée):
    DNIS_________ NUMERO_COMPOSE_______Couleur
    7500___________ 0 810 000 001__________Bleu
    7501___________ 0 810 000 002__________Vert
    7502___________ 0 810 000 003__________Bleu
    4000___________ 0 810 000 001__________Vert
    4001___________ 0 810 000 002__________Bleu
    4002___________ 0 810 000 003__________Vert
    2500___________ 0 810 000 001__________Bleu
    2501___________ 0 810 000 002__________Bleu
    2502___________ 0 810 000 003__________Vert

    En gros, à un numéro composé corresondent 3 DNIS loués chez FT (commence par 7), WC(commence par 4), et autres (commence par 2),

    quand j'update ma vue dans mon formulaire (ma datagrid) j'obtiens:
    NUMERO_COMPOSE_____DNIS_FT______DNIS_WC_____DNIS_Autres________Couleur
    0 810 000 001__________7500__________4000__________2500_________Bleu
    0 810 000 002__________7501__________4001__________2501__________Vert
    0 810 000 003__________7502__________4002__________2502__________Bleu

    pour cela j'utilise le code suivant:
    Adodc1.RecordSource = "SELECT t1.numero_compose, t1.dnis as dnis_ft, t2.dnis as dnis_wc, t3.dnis as dnis_autre FROM DIA_DNIS t1, DIA_DNIS t2, DIA_DNIS t3 WHERE t1.dnis LIKE '7%' AND t2.dnis LIKE '4%'AND t3.dnis LIKE '2%' AND t1.numero_compose = t2.numero_compose AND t1.numero_compose = t3.numero_compose"


    LE PROBLEME:
    Quand je vais modifier la valeur du champ couleur pour le numero 0 810 000 001 par exemple dans ma vue (datagrid) et que je vais sauvegarder par un " Adodc1.Recordset.Update"
    alors, seule la couleur du DNIS 7500 dans ma table d'origine va être modifiée.

    Je souhaiterai que ca modifie aussi les DNIS associés: 4000 et 2500

    Comment faire?

    (ne pas passer par un update de toute la table? mais un update en requete SQL selon les champs modifiés?)

    (bon ok j'avoue la table d'origine est vraiment faite n'importe comment...le probleme je ne peux y toucher)


    j'espere avoir ete clair.

    Merci de votre aide.

  2. #2
    Membre chevronné Avatar de La Praline
    Inscrit en
    Mars 2007
    Messages
    592
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Mars 2007
    Messages : 592
    Par défaut
    Bonjour,


    Je pense que ton problème vient du fait que ton code fait un premier update et s'arrête ensuite. De fait tu ne changes que le premier que tu croises.
    Un peu de code nous aiderait à t'aider si tu vois où je veux en venir



    Cordialement

  3. #3
    Membre confirmé
    Inscrit en
    Juin 2006
    Messages
    79
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 79
    Par défaut
    un peu de code...hum:

    Alors pour rexpliquer, je modifie les valeurs des champs de ma datagrid via des textbox
    (couplage Datagrid <--> textbox via la fonction MiseAJourDetail)

    Une fois que je modifie dans ma textebox et que je clique sur mon bouton sauvegarder j'utilise le code tout con:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Private Sub SauveGardeDonnee()
             DataGrid1.Columns.Item(0).Text = txtNumeroCompose
             DataGrid1.Columns.Item(1).Text = txtDNISFT
             DataGrid1.Columns.Item(2).Text = txtDNISAUTRE
             DataGrid1.Columns.Item(3).Text = txtDNISWC
             DataGrid1.Columns.Item(4).Text = txtCouleur
     
        On Local Error Resume Next
        Adodc1.Recordset.Update
        MiseAJourDetail ''<-- fonction mettant a jour la vue de ma datagrid et les données de mes textbox)
    End Sub"
    Mais ca change que ma couleur correspondant au DNISFT dans ma BDD.

    bon si besoin de plus de code...je peux en rajouter

    Je te remercie beacoup de bien vouloir te plonger la dedans...c'est bien gentil... car ca peut sembler repoussant comme ca!

Discussions similaires

  1. copier certains champs d une requete vers une table vierge
    Par sunwind dans le forum VBA Access
    Réponses: 1
    Dernier message: 16/11/2007, 10h26
  2. copier certains champs d une requete vers une table vierge
    Par sunwind dans le forum VBA Access
    Réponses: 1
    Dernier message: 15/11/2007, 00h09
  3. copier certains champs d une requete vers une table vierge
    Par sunwind dans le forum VBA Access
    Réponses: 1
    Dernier message: 14/11/2007, 21h24
  4. Réponses: 4
    Dernier message: 06/03/2007, 12h00
  5. Commande Update... vider certains champ dans table.
    Par angelevil dans le forum ASP
    Réponses: 3
    Dernier message: 04/05/2005, 21h08

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