RECHERCHER :
COMMUNAUTE MP
Identifiez vous ...
Devenir Membre
J'ai oublié mon MDP
DOMAINE MP
Bavardages
Langages Généraux
Langages Web
Langages DotNet
Autres langages
Dev. Jeux Video
Sécurité
Sys. Exploitation
Graphismes
Logiciels
Réseaux
Bases de données
Méthodologies
Emplois High-tech
Aide juridique
Articles juridiques
FORUM
Index des forums
Ajouter un sujet
Rechercher sujet
Contact Responsable
Devenir modérateur
CHAT MP IRC
Votre pseudo ...
Srv: irc.moteurprog.com
Chan: #MoteurProg
PARTICIPER
Plus de 3500 emplois.
Rechercher un job
Déposez votre CV
Emplois High-tech

Visiteur MP

 Qu'un champs mis à jour

Forum : VB .NET
Sous Catégorie : Aucune
Type du sujet : Sujet Normale
FAQ : FAQ VB .NET

SUIVI DES SUJETS PAR MAIL

SUIVI PAR MAIL INACTIF

RESOLUTION DU SUJET SUJET RESOLU
BLOQUAGE DU SUJET SUJET ACTIF
APPARTENANCE A LA FAQ N'APPARTIENT PAS A LA FAQ


PAGE : [1]

POSTER UN NOUVEAU SUJET REPONDRE A CE SUJET

FORUM VB .NET

PREMIERE PAGE

PAGE PRECEDENTE

Page précedente

Page suivante

PAGE SUIVANTE

DERNIERE PAGE
Visiteur MP
Membre du club
Inscrit :
Messages : 1250
Message
#149813
Posté le 27/02/08 à 18:35
Bonjour,

Je continue ma découverte de VB, donc je risque de vous embêter avec des choses qui vous paraissent évidentes ... Je tiens à préciser que j'ai fais une recherche sur le forum et je n'ai rien trouvé pour mon problème...

Avant d'expliquer la chose je vous joins un screenshot qui est beaucoup plus explicite.

Image

Maintenant je vous explique. Grâce à ma listbox je récupère le champ "nom" d'une base de données Access, grâce à ce champs qui est la clé primaire de la table je récupère les autres champs dans des textbox afin de pouvoir les modifier. Sur le clic du bouton valider il n'y a modification que du champs "Nom"...
Mais pourquoi ? Les deux autres champs dans la table se nomme bien "Prenom" et "Datenaissance"

Je vous joins le code de mon bouton "valider"

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As _ System.EventArgs) Handles Button1.Click 'Si on est en ajout If Button3.Enabled = False Then 'Divers contrôls d'erreurs If Me.TextBox1.Text = "" Then MsgBox("Veuillez saisir le nom.", MsgBoxStyle.OkOnly Or _ MsgBoxStyle.Information, "Erreur") Exit Sub End If If Me.TextBox2.Text = "" Then MsgBox("Veuillez saisir le prénom.", MsgBoxStyle.OkOnly Or _ MsgBoxStyle.Information, "Erreur") Exit Sub End If If Not MaskedTextBox1.MaskFull Then MsgBox("Date incorrecte. Vérifier la date", _ MsgBoxStyle.OkOnly Or MsgBoxStyle.Information, "Erreur") Exit Sub End If dtr = ObjetDataSet.Tables("Personne").NewRow() dtr("Nom") = Me.TextBox1.Text dtr("Prenom") = Me.TextBox2.Text dtr("Datenaissance") = Me.MaskedTextBox1.Text ObjetDataSet.Tables("Personne").Rows.Add(dtr) 'Pour modifier les valeurs changées dans le DataAdapter cmdb = New OleDbCommandBuilder(ObjetDataAdapter) 'Mise à jour ObjetDataAdapter.Update(ObjetDataSet, "Personne") 'On vide le DataSet et on le 'recharge' de nouveau. ObjetDataSet.Clear() ObjetDataAdapter.Fill(ObjetDataSet, "Personne") ObjetDataTable = ObjetDataSet.Tables("Personne") Button3.Enabled = True Button4.Visible = True End If 'si on est en Modification If Button4.Enabled = False And Button3.Visible = False Then Dim choix As String choix = ListBox1.Text rownum = ListBox1.SelectedIndex MessageBox.Show(rownum) If MsgBox("Confirmer la modification de la personne " & choix _ & " ?", MsgBoxStyle.YesNo Or MsgBoxStyle.DefaultButton1 Or _ MsgBoxStyle.Question, "Confirmation") = MsgBoxResult.Yes Then 'Divers contrôls d'erreurs If Me.TextBox1.Text = "" Then MsgBox("Veuillez saisir le nom.", MsgBoxStyle.OkOnly Or _ MsgBoxStyle.Information, "Erreur") Exit Sub End If If Me.TextBox2.Text = "" Then MsgBox("Veuillez saisir le prénom.", MsgBoxStyle.OkOnly _ Or MsgBoxStyle.Information, "Erreur") Exit Sub End If If Not MaskedTextBox1.MaskFull Then MsgBox("Date incorrecte. Vérifier la date", _ MsgBoxStyle.OkOnly Or MsgBoxStyle.Information, "Erreur") Exit Sub End If ' Extraire l'enregistrement courant dtr = ObjetDataSet.Tables("Personne").Rows(rownum) 'Modifier les valeurs des champs en récupérant le contenu des _ TextBox dtr("Nom") = Me.TextBox1.Text dtr("Prenom") = Me.TextBox2.Text dtr("Datenaissance") = Me.MaskedTextBox1.Text 'Pour modifier les valeurs changées dans le DataAdapter cmdb = New OleDbCommandBuilder(ObjetDataAdapter) 'Mise à jour ObjetDataAdapter.Update(ObjetDataSet, "Personne") 'On vide le DataSet et on le 'recharge' de nouveau. ObjetDataSet.Clear() ObjetDataAdapter.Fill(ObjetDataSet, "Personne") ObjetDataTable = ObjetDataSet.Tables("Personne") 'ObjetConnection.Close() Button3.Visible = True Button4.Enabled = True TextBox1.Enabled = False TextBox2.Enabled = False MaskedTextBox1.Enabled = False End If End If End Sub


je récapitule :
- lorsque j'ajoute une nouvelle personne tout est ok
- lorsque je modifie, je me retrouve donc avec un seul champs mis à jour, "nom".
- Si j'inverse et met par exemple le prénom en premier alors celui ci sera modifié et plus le nom ... Vous me suivez ? pourquoi ? :(


Question bonus :D
si je veux trier ma liste par ordre ma technique ne fonctionne plus une autre méthode à me suggérer sans pour autant modifier tout le formulaire ... Enfin cela n'est pas mon principal problème
Merci


PS : Je vous ai tout fournis à part les boutons ajout modif et quitter qui ne présentent pas selon moi grand intérêt. Veuillez m'excuser pour la longueur du post et s'il s'agit d'erreurs grotesques, je débute soyez indulgents merci

HAUT DE PAGE

PROFIL MEMBRE LUI ECRIRE ALLER VOIR SON SITE

Publicité
Inscrit : X
Messages : X
Message
#Aucun

HAUT DE PAGE

  

Visiteur MP
Membre du club
Inscrit :
Messages : 1250
Message
#149818
Posté le 27/02/08 à 20:35
J'ai tenté de faire une requête update pour la modification et là tout est pris en compte, mais je n'arrive pas à actualiser ma listbox :(

Personne n'a de solution ? Smiley

HAUT DE PAGE

PROFIL MEMBRE LUI ECRIRE ALLER VOIR SON SITE

Visiteur MP
Membre du club
Inscrit :
Messages : 1250
Message
#149824
Posté le 27/02/08 à 21:43
Bon bah après un gros monologue de ma part, et une bonne journée de recherche, j'ai testé un truc tout bête ...
dim nom, prenom, naissanceas string
nom = Textbox1.text
prenom = Textbox2.text
naissance = MaskedTextbox1.text
....
....
dtr("Nom") = nom
dtr("Prenom") = prenom
dtr("Datenaissance") = naissance

Et maintenant ca marche ...
S'agit il d'un bug ? ou est-ce moi qui ai mal fait precedement en affectant directement sans passer par une variable ?
Parfois c'est quand même bete vb ! Smiley

HAUT DE PAGE

PROFIL MEMBRE LUI ECRIRE ALLER VOIR SON SITE

Czayfaboo
Co-Administrateur
Superviseur :
- Langages Dot.
Modérateur :
- CSharp (C#)
Chef de projet(s) :
- ID3.NET Library
- MoteurProg Work.

Avatar de Czayfaboo
Inscrit : 05/01/2005
Messages : 2883
Message
#149896
Posté le 29/02/08 à 16:35
Ca m'a tout l'air d'être un bug... je vois pas la différence que çà fait... Smiley Soit c'est un truc propre à VB... et du coup je connais pas (fais du C# moi Smiley), soit c'est un bug.

Tu as fait la modif où ? dans le If Button3 ? dans le If Button4 ? Les deux ?

Enfin bon, si çà marche, tant mieux. Smiley
__________________________
Sujet résolu ? Pensez à mettre le tag Image
Un problème en C# ? Vérifiez celui-ci n'est pas déjà résolu dans la FAQ et que le sujet n'est pas traité parmis les tutoriaux ou les articles avant de poster dans le forum C#.

HAUT DE PAGE

PROFIL MEMBRE LUI ECRIRE 
POSTER UN NOUVEAU SUJET REPONDRE A CE SUJET

PREMIERE PAGE

PAGE PRECEDENTE Page précédente

Page suivante

PAGE SUIVANTE DERNIERE PAGE

FORUM VB .NET



    PAGE : [1]



.: Site Web développé par Julien Pichot et l'équipe MPWG avec www.evolvia-web.com :.