begin process at 2010 02 10 17:08:34
  Trouver un code source :
 
dans
 
Accueil > Forum > 

VB.NET et VB 2005

 > 

Divers

 > 

General

 > 

Ajout puis modification


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Ajout puis modification

mercredi 17 juin 2009 à 13:00:39 | Ajout puis modification

rudybiss

Bonjour!
Je vous explique mon problème.Je voudrais faire un ajout dans une table donnée puis en même temps la modification d'un champ dans une autre table.
Ceci dit: j'ai un allotment qui contient plusieurs stickers,à la création de l'allotment il y a un montant initial et lors de la création d'un stickers,son montant ne doit pas être supérieur à celui de l'allotment et aussi à chaque création d'un stickers(puisque le stickers a aussi un montant),le montant de l'allotment doit diminuer c'est-à-dire (montant allotment - montant stickers).
Donc dans le formulaire de saisie des stickers,j'ai une combobox pour selectionner le numéro de l'allotment,une fois selectionné le numéro de l'allotment,automatique est recupéré le montant de l'allotment et son id. Donc à la création du stickers,je dois modifier dans la table allotment le montant correspondant à l'id.Mais pour l'instant,ca ne marche pas j'ai cette erreur:
 
L'index se trouve en dehors des limites du tableau. Voici le code complet:

  Private Sub Btn_enrgistrer_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Btn_enregistrer.Click
        If txt_stick_num.Text = "" Or txt_montant.Text = "" Or cmb_allot_num.Text = "Choisir..." Or cmb_allot_num.Text = "" Then
            MsgBox("Tous les champs doivent être renseignés", MsgBoxStyle.Information, "Vérification des champs")
        ElseIf (Val(txt_montant.Text) > Val(txt_montant_allot.Text)) Then
            MsgBox("Le montant du stickers est supérieur à celui de son allotment", MsgBoxStyle.Information, "Vérification des montants")
        Else
            txt_solde.Text = Val(txt_montant_allot.Text) - Val(txt_montant.Text)

            Dim NewLigne As DataRow
            With DtSet
                ' Création de la nouvelle ligne
                NewLigne = DtSet.Tables("stickers").NewRow
                'affectation des valeurs

                NewLigne(1) = txt_stick_num.Text
                NewLigne(0) = DtSet.Tables.Item(0).Rows.Count + 1
                NewLigne(2) = cmb_allot_num.Text
                NewLigne(3) = txt_montant.Text

                ' Ajout de la ligne à la table
                .Tables("stickers").Rows.Add(NewLigne)

                Connection.Open()
                ' Création CommandBuilder
                '(genere automatiquement l'update entre le dataSet et la base de donnée
                Dim CmdBuild As OleDbCommandBuilder
                CmdBuild = New OleDb.OleDbCommandBuilder(AdapTstickers)
                AdapTstickers.UpdateCommand = CmdBuild.GetUpdateCommand()
                AdapTstickers.Update(DtSet, "stickers")

                'recupere la clé de la ligne sélectionné
                Dim idallotment As String
                idallotment = txt_solde.Text
                'definition de notre table
                Dim Matable As DataTable
                Matable = DtSet.Tables("allotment")
                'recherche la ligne a modifier dans notre table
                Dim LaLigne As DataRow()
                LaLigne = Matable.Select("id_allotment = " & idallotment)
                'affecte les modifications
                LaLigne(0)(3) = txt_solde.Text
                Connection.Close()


            End With

        End If

        'manipulation sur les boutons et controles

        Btn_nouveau.Visible = True
        Btn_enregistrer.Visible = False
        Vide_champ()
        bloque_ctrls()
    End Sub
Je me demande si cette méthode est bonne car j'ai juste fait une adaptation!

Merci pour votre aide.
jeudi 18 juin 2009 à 12:18:20 | Re : Ajout puis modification

Mayzz

Membre Club
Bonjour,

A quoi correspond cette table ???

DtSet.Tables.Item(0).Rows.Count + 1

Ce ne serait pas plutot :

DtSet.Tables.Item(1).Rows.Count + 1 ou DtSet.Tables("stickers").Rows.Count ?

Apparemment c'est l'incrémentation de la clé primaire ?


                                                                              
Si le déboguage est l'art d'enlever les bogues, la programmation doit être l'art de les créer.
<

vendredi 19 juin 2009 à 14:01:46 | Re : Ajout puis modification

rudybiss

Bonjour!
Problème résolu,en fait je me trompait de textbox où il fallait récupérer l'id.Donc je prenais un id très grand(qui n'etait que le montant),du coup il ne trouvais pas dans la table.
Merci encore!


Cette discussion est classée dans : text, txt, montant, allotment, stickers


Répondre à ce message

Sujets en rapport avec ce message

automatic save a txt [ par Le_Roux ] J'aimerais avoir un code asser simple pour sauvegarder des Text Box a des txt. Queleu chose dans ce style:form_highscores.et_name1.Text.FileSave , App lire une ligne précise dans un txt et un text box [ par LeRoux ] pour le txt, j'ai une manière mais j'aimerais savoir si sa ce fait + court:Hasard = 5 'ExampleOpen AP & "gameplay\n1\cn1.qdh" For Input As #1i = 0Do U ouvir un .txt dans un text box et avoir un scolbar verticale [ par taglli ] j'aimereai faire ouvir un .txt dans un text box et avoir un scolbar verticalemerci Probleme de fichiers texte [ par szteam ] SalutVoila quand j'écrit dans un fichier txt (via le prog), il y a 4 ligne et il me saute la 3 emesi les infos sontJoueur 1Ordi510il affiche :Joueur 1 combobox et fichier text [ par titi57000 ] bonjoursje debute et je voudrais afficher dans un combo une liste de noms contenue dans un fichier txt , pour permettre a l'utilisateur de selectionne Calcul dans un flexgrid. -> URGENT [ par Sadnotrue ] Salut !!Je cherche à multiplier des cellules positionnées sur la même ligne mais sur des colonnes différentes. Voici un extrait de mon code : I Ultra DÉbutant : Pourquoi sa affiche pas! [ par luke44 ] Voici mon Code :eti_dpa.Caption = ""Dim StrDN As StringDim StrEN As StringDim StrLand As StringDim StrEDV As StringDim StrDPA As StringStrDN = txt_dpa mettre le text d'une textbox dans un fichier txt [ par milo2009 ] milo2009salut je voudrais savoir comment mettre le texte d'une textbox dans un fichier txtmerci chaine vide ... [ par HomerJay ] voilà, mon problème est très idiot mais bon, comme je n'arrive pas à trouver la solution ... je sollicite votre aide.dans le cas présent :Me.Txt_Date_ Access et moi ;-) [ par Adagyo ] Au secour !!!Voilà, je m'arrache les cheveux sur une P..... d'erreur bizarre que je comprend pas... Voilà mon code:Option explicitDim database_FIS As


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,546 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales