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 :

modifier des enregistrements simultanément dans une base access en vb.net [Débutant]


Sujet :

VB.NET

  1. #1
    Membre du Club
    Inscrit en
    Mars 2013
    Messages
    70
    Détails du profil
    Informations forums :
    Inscription : Mars 2013
    Messages : 70
    Points : 40
    Points
    40
    Par défaut modifier des enregistrements simultanément dans une base access en vb.net
    Bonjour,
    je cherche de l'aide en vb.net.je voudrais dans une bd access donner un + 4 à tous les enregistrements d'un champ en même temps. par exemple si A est 2 ET que B est 5, je voudrais avoir A=6 et B = 9. Hélas le 1er enregistrement communique son résultat aux AUTRES.
    voici le code:

    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
    Private Sub btnOK_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnOK.Click
            Try        
                RS.Open("select * from OPB ", CN, 3, 3)
                Dim balanca As Double = RS.Fields("Balance").Value
                Dim j As Double = 3.5 / 1000
                Dim interet As Double
                Dim total As Double
     
                interet = RS.Fields("Balance").Value * j
                total = interet + balanca
                LinkLabel1.Text = interet.ToString
                cone.Open()
                Dim cmd As New OleDbCommand("update OPB set Balance =  total ", cone)
                With cmd.Parameters
                    .AddWithValue("@phone", cboCID.Text)
     
                    cmd.ExecuteNonQuery()
     
                End With
                MsgBox("intérêt ajouté avec succès", MsgBoxStyle.Information, "intérêt")
     
                cone.Close()
     
            Catch
            End Try
     
        End Sub
    merci

  2. #2
    Expert confirmé
    Avatar de Pragmateek
    Homme Profil pro
    Formateur expert .Net/C#
    Inscrit en
    Mars 2006
    Messages
    2 635
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Formateur expert .Net/C#
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 635
    Points : 4 062
    Points
    4 062
    Par défaut
    Ça ne serait pas plutôt:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    New OleDbCommand("update OPB set Balance =  " + total, cone)
    ?
    Formateur expert .Net/C#/WPF/EF Certifié MCP disponible sur Paris, province et pays limitrophes (enseignement en français uniquement).
    Mon blog : pragmateek.com

  3. #3
    Modérateur

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    1 722
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 722
    Points : 5 100
    Points
    5 100
    Par défaut
    Bonjour,
    Citation Envoyé par keunene Voir le message
    Bonjour,
    je cherche de l'aide en vb.net.je voudrais dans une bd access donner un + 4 à tous les enregistrements d'un champ en même temps. par exemple si A est 2 ET que B est 5, je voudrais avoir A=6 et B = 9.
    Pour ajouter un entier à toutes les lignes d'une colonne numérique
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
        Sub Ajoute(valeur As Integer)
            Try
                Dim MaRequete As String = "update OPB set balance = balance + ?"
                Using cn As New OleDbConnection("PROVIDER=Microsoft.ACE.OLEDB.12.0;Data Source =d:\TonChemin\TaBDD.accdb"), cmd As New OleDbCommand(MaRequete, cn)
                    cmd.Parameters.Add(New OleDb.OleDbParameter("?", OleDbType.Integer)).Value = valeur
                    cn.Open()
                    cmd.ExecuteNonQuery()
                End Using
            Catch ex As Exception
                MessageBox.show(ex.ToString)
            End Try
        End Sub
    Appel

    Citation Envoyé par keunene Voir le message
    Hélas le 1er enregistrement communique son résultat aux AUTRES.
    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
    Private Sub btnOK_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnOK.Click
            Try        
                RS.Open("select * from OPB ", CN, 3, 3)
                Dim balanca As Double = RS.Fields("Balance").Value
                Dim j As Double = 3.5 / 1000
                Dim interet As Double
                Dim total As Double
     
                interet = RS.Fields("Balance").Value * j
                total = interet + balanca
                LinkLabel1.Text = interet.ToString
                cone.Open()
                Dim cmd As New OleDbCommand("update OPB set Balance =  total ", cone)
                With cmd.Parameters
                    .AddWithValue("@phone", cboCID.Text)
     
                    cmd.ExecuteNonQuery()
     
                End With
                MsgBox("intérêt ajouté avec succès", MsgBoxStyle.Information, "intérêt")
     
                cone.Close()
     
            Catch
            End Try
     
        End Sub
    Pour un nombre à virgule représentant un poucentage
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
        Sub aj(valeur As Double)
            Try
                Dim MaRequete As String = "update OPB set balance = balance + (balance * ?)"
                Using cn As New OleDbConnection("PROVIDER=Microsoft.ACE.OLEDB.12.0;Data Source =d:\TonChemin\TaBDD.accdb"), cmd As New OleDbCommand(MaRequete, cn)
                    cmd.Parameters.Add("?", OleDbType.Double, 8, "balance").Value = Double.Parse(valeur)
                    cn.Open()
                    cmd.ExecuteNonQuery()
                End Using
            Catch ex As Exception
                MessageBox.show(ex.ToString)
            End Try
        End Sub
    Appel
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
            Dim valeur As Double = 3.5 / 100
            aj(valeur)
    Avec balance défini en monétaire dans access (v 2007)
    Traductions d'articles :
    La mémoire en .NET - Qu'est-ce qui va où ?
    Architecture DAL de haute performance et DTO ; Version C# : Partie 1,Partie 2,Partie 3 — Version VB.NET : Partie 1,Partie 2,Partie 3
    N'hésitez pas à consulter la FAQ VB.NET, le cours complet de Philippe Lasserre et tous les cours, articles et tutoriels.

  4. #4
    Membre du Club
    Inscrit en
    Mars 2013
    Messages
    70
    Détails du profil
    Informations forums :
    Inscription : Mars 2013
    Messages : 70
    Points : 40
    Points
    40
    Par défaut merci
    merci infiniment à tous

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

Discussions similaires

  1. Comment importer des matrices Excel dans une base Access?
    Par BobDesign dans le forum VBA Access
    Réponses: 1
    Dernier message: 18/02/2010, 17h09
  2. Transférer des tables HyperFile dans une base Access
    Par _MattU_ dans le forum HyperFileSQL
    Réponses: 1
    Dernier message: 07/09/2009, 11h47
  3. Réponses: 1
    Dernier message: 06/11/2007, 16h43
  4. Réponses: 2
    Dernier message: 06/04/2007, 11h48
  5. Insérer des données Excel dans une base Access ?
    Par MaTHieU_ dans le forum Access
    Réponses: 3
    Dernier message: 22/06/2005, 15h11

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