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.NET Discussion :

calculer la somme du montant dans un textbox


Sujet :

VB.NET

  1. #1
    Membre averti
    Inscrit en
    Octobre 2009
    Messages
    36
    Détails du profil
    Informations forums :
    Inscription : Octobre 2009
    Messages : 36
    Par défaut calculer la somme du montant dans un textbox
    Bonjour,

    J'ai un datagridview qui contient des données où une colonne du montant et je veux afficher la somme du montant dans un textbox à chaque ajout d'une nouvelle ligne à la base SqlServer

    Une idée comment réaliser cela ?

    Merci.

  2. #2
    Modérateur
    Avatar de Sankasssss
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2006
    Messages
    1 842
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 842
    Par défaut
    Bonjour,
    une requête genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select sum(maColonne) from maTable
    après l'insertion en base de donnée?

  3. #3
    Membre averti
    Inscrit en
    Octobre 2009
    Messages
    36
    Détails du profil
    Informations forums :
    Inscription : Octobre 2009
    Messages : 36
    Par défaut
    bonsoir,
    oui la somme après l'insertion à la base de données
    est ce que c'est la bonne requete et comment je peux le maitre !!!

  4. #4
    Membre éprouvé
    Homme Profil pro
    Inscrit en
    Mars 2008
    Messages
    161
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Mars 2008
    Messages : 161
    Par défaut
    salut

    Tu peux mettre le code d'insertion dans le texbox juste après le code d'affichage dans le GridView.

    Tu peux aussi mettre le code d'insertion dans le texbox dans une fonction que tu pourra appeller juste après le code d'affichage dans le GridView.

    Voici un bout de code qui pourra t'aider

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Dim command As New OleDb.OleDbCommand("select sum(MntCalcule) as MaSomme from MaTable", ConnectStr)
                Dim LeReader As OleDb.OleDbDataReader = command.ExecuteReader
                If LeReader.Read Then
                    TextBox3.Text = LeReader!MaSomme
                End If

  5. #5
    Modérateur
    Avatar de Sankasssss
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2006
    Messages
    1 842
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 842
    Par défaut
    Citation Envoyé par peregna2007 Voir le message
    Voici un bout de code qui pourra t'aider

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Dim command As New OleDb.OleDbCommand("select sum(MntCalcule) as MaSomme from MaTable", ConnectStr)
                Dim LeReader As OleDb.OleDbDataReader = command.ExecuteReader
                If LeReader.Read Then
                    TextBox3.Text = LeReader!MaSomme
                End If
    C'est presque ca
    Quand le requête ne retourne qu'un résultat, qu'on appel fonction d'agrégation :
    Une fonction d'agrégation est un résultat unique à partir de multiples entrées-lignes. Par exemple les agrégats pour calculer les count, sum, avg (moyenne), max (maximum) et min (minimum) sur un ensemble de lignes.
    On utilise la fonction ExecuteScalar :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Dim command As New OleDb.OleDbCommand("select sum(MntCalcule) as MaSomme from MaTable", ConnectStr)
    TextBox3.Text = command.ExecuteScalar
    Et en plus c'est plus simple et propre

  6. #6
    Membre averti
    Inscrit en
    Octobre 2009
    Messages
    36
    Détails du profil
    Informations forums :
    Inscription : Octobre 2009
    Messages : 36
    Par défaut
    salut
    j'ai mis le code après le remplissage du datagridview mais il n'a pas affiché le resultat :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
            Try
                da.Fill(ds, "reglement")
                DataGridView1.DataSource = ds.Tables("reglement")
                Dim command As New SqlCommand("SELECT SUM(montant) AS Somme FROM reglement", cs)
                TextBox1.Text = command.ExecuteScalar
            Catch ex As Exception
            End Try
        End Sub
    qui peut m'aider

  7. #7
    Modérateur
    Avatar de Sankasssss
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2006
    Messages
    1 842
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 842
    Par défaut
    Citation Envoyé par nadou89 Voir le message
    salut
    j'ai mis le code après le remplissage du datagridview mais il n'a pas affiché le resultat :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
            Try
                da.Fill(ds, "reglement")
                DataGridView1.DataSource = ds.Tables("reglement")
                Dim command As New SqlCommand("SELECT SUM(montant) AS Somme FROM reglement", cs)
                TextBox1.Text = command.ExecuteScalar
            Catch ex As Exception
            End Try
        End Sub
    qui peut m'aider
    On ne met JAMAIS un code dans un try / catch qui ne gère pas les exceptions !!!

    au pire tu fais un :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
            Try
                da.Fill(ds, "reglement")
                DataGridView1.DataSource = ds.Tables("reglement")
                Dim command As New SqlCommand("SELECT SUM(montant) AS Somme FROM reglement", cs)
                TextBox1.Text = command.ExecuteScalar
            Catch ex As Exception
                msgbox(ex.toString)
            End Try
        End Sub
    Peux tu nous dire ce qu'affiche l'erreur avec ce code modifié?

  8. #8
    Membre averti
    Inscrit en
    Octobre 2009
    Messages
    36
    Détails du profil
    Informations forums :
    Inscription : Octobre 2009
    Messages : 36
    Par défaut
    voici le message d'exception qui s'affiche : fichier attaché
    le message s'affiche puis je clique sur ok mais il n'affiche pas la somme du montant
    Images attachées Images attachées  

  9. #9
    Modérateur
    Avatar de Sankasssss
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2006
    Messages
    1 842
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 842
    Par défaut
    Le message
    ExecuteScalar nécessite une connexion ouverte et disponible.
    La connexion est actuellement fermée.
    me parait claire
    Il te faut ouvrir la connexion :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
            Try
                da.Fill(ds, "reglement")
                DataGridView1.DataSource = ds.Tables("reglement")
                Dim command As New SqlCommand("SELECT SUM(montant) AS Somme FROM reglement", cs)
                cs.open
                TextBox1.Text = command.ExecuteScalar
                cs.close
            Catch ex As Exception
                msgbox(ex.toString)
            End Try
    End Sub

Discussions similaires

  1. calculer la somme des heures dans un état
    Par fahdmounkaila dans le forum WinDev
    Réponses: 3
    Dernier message: 10/08/2011, 15h53
  2. [AC-2007] calcul de somme et filtre dans un état
    Par guillaume2vo dans le forum IHM
    Réponses: 1
    Dernier message: 04/11/2009, 08h47
  3. Réponses: 0
    Dernier message: 04/10/2009, 20h08
  4. Sommes des valeurs dans un textbox multiligne
    Par Namson dans le forum VB.NET
    Réponses: 1
    Dernier message: 02/03/2009, 00h29
  5. calculer la somme des elements dans un panier
    Par Akramweb dans le forum Langage
    Réponses: 2
    Dernier message: 08/01/2009, 15h21

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