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

Windows Forms Discussion :

evenement different sur même bouton


Sujet :

Windows Forms

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Mai 2008
    Messages
    107
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 107
    Par défaut evenement different sur même bouton
    bonjour,

    j'aimerai savoir s'il est possible d'avoir des evenements differents en cliquant sur le même bouton ?
    Par exemple sur le premier clique faire un insert dans la base et sur le deuxieme clique faire un update...

    Merci.

  2. #2
    Membre éprouvé
    Développeur .NET
    Inscrit en
    Juin 2007
    Messages
    77
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Juin 2007
    Messages : 77
    Par défaut
    salut,

    Pourquoi faire deux évènements alors que tu peux tout faire dans un seul ?

    tu teste si ton enregistrement existe,
    s'il existe tu le modifies,
    sinon tu l'insères.

  3. #3
    Membre confirmé
    Inscrit en
    Mai 2008
    Messages
    107
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 107
    Par défaut
    J'ai pensé oui. Mais je me suis perdu dans l'algorithme avec la connexion à la base, la requête etc...

    Pouvez-vous m'éclairer ?

    Merci

  4. #4
    Membre confirmé
    Inscrit en
    Mai 2008
    Messages
    107
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 107
    Par défaut
    J'ai un formulaire avec des textBox: Nom & Montant.

    SI le Nom n'existe pas encore alors j'insere le nouveau Nom avec le montant, si le Nom existe j'additionne le montant precedent avec le nouveau.

    Mais pour parcourir la base il me faut une requete et un enregistrement.
    Puis un autre pour inserer.
    Puis une autre pour modifier.

    Ca m'étoufe un peu tous ca lol

  5. #5
    Membre confirmé
    Inscrit en
    Mai 2008
    Messages
    107
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 107
    Par défaut
    J'ai codé ceci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    Private Sub btn_enr_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn_enr.Click
            Dim maConnexion As OleDbConnection
            Dim maCommande, maCommande2, maCommande3 As OleDbCommand
            Dim strConnect As String
            Dim strSql, strSql2, strSql3 As String
            Dim enr1, enr2, enr3 As OleDbDataReader
     
            Dim nom, Cat As String
            Dim dat As Date
            Dim montant, regle As Double
     
            'recupération et cast des données du formulaire
            nom = txt_nom.Text
            dat = txt_date.Text
            montant = Convert.ToDouble(txt_MT.Text)
            regle = Convert.ToDouble(txt_reg.Text)
            Cat = cmb_cat.Text
     
            'mise a jour de la base de données
            Try
                'connexion a la base
                strConnect = "Provider='Microsoft.Jet.OLEDB.4.0';Data Source='C:\Documents and Settings\fdefrocourt\Bureau\Caisse\bdd_agroform.mdb';User ID=Admin;Password=;"
                maConnexion = New OleDbConnection(strConnect)
                strSql = "SELECT * FROM Encaissement"
                'Creation de l'objet contenant la req puis ouverture de la bdd
                maCommande = New OleDbCommand(strSql, maConnexion)
                maConnexion.Open()
                'execution de la requete
                enr1 = maCommande.ExecuteReader()
     
                While (enr1.Read() = True)
                    If enr1("nomSal") = "" Then
                        strSql2 = "INSERT INTO Encaissement(nomSal,DateEnc,MTEnc,Regle, RAP) VALUES('" & nom & "', '" & dat & "','" & Double.Parse(montant) & "','" & Double.Parse(regle) & "','" & montant - regle & "')"
                        'Creation de l'objet contenant la req puis ouverture de la bdd
                        maCommande2 = New OleDbCommand(strSql2, maConnexion)
                        'execution de la requete
                        enr2 = maCommande2.ExecuteReader()
                    End If
                    If enr1("nomSal") = nom Then
                        strSql3 = "UPDATE Encaissement SET DateEnc='" & dat & "', MTEnc=MTEnc" & +montant & ", Regle=Regle" & +regle
                        'Creation de l'objet contenant la req puis ouverture de la bdd
                        maCommande3 = New OleDbCommand(strSql3, maConnexion)
                        'execution de la requete
                        enr3 = maCommande3.ExecuteReader()
                    End If
                End While
     
                'fermeture de la connexion
                maConnexion.Close()
     
                MsgBox("Encaissement ajouté")
     
                txt_nom.Clear()
                txt_date.Clear()
                txt_MT.Clear()
                txt_reg.Clear()
     
            Catch err As System.Data.OleDb.OleDbException
                MessageBox.Show("ERREUR requête ACCESS:" + err.Message)
            Catch err As System.InvalidOperationException
                MessageBox.Show("ERREUR:" + err.Message)
            Catch err As Exception
                MessageBox.Show("ERREUR GRAVE:" + err.Message)
            End Try
        End Sub
     
        Private Sub btn_fermer_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn_fermer.Click
            Me.Close()
        End Sub
    Mais ni l'insert, ni l'update n'est pris en compte.
    Pourquoi?

  6. #6
    Membre éprouvé
    Développeur .NET
    Inscrit en
    Juin 2007
    Messages
    77
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Juin 2007
    Messages : 77
    Par défaut
    si ta requète est vide, aucune des deux requète n'est effectuée, à cause de while qui entoure tes requètes.

    donc peut être que ton select ne te retourne rien ?

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 9
    Dernier message: 12/04/2013, 19h01
  2. Réponses: 7
    Dernier message: 26/05/2011, 10h37
  3. Lancer plusieurs fonctions JavaScript sur même evenement
    Par davinout dans le forum Général JavaScript
    Réponses: 9
    Dernier message: 23/07/2010, 18h37
  4. Evenement assigné sur un bouton crée à la volée
    Par remibeginer dans le forum ASP.NET
    Réponses: 9
    Dernier message: 27/05/2008, 13h32
  5. Récupération d'un evenement sur un bouton
    Par mzibri dans le forum AWT/Swing
    Réponses: 2
    Dernier message: 07/06/2006, 15h19

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