begin process at 2012 02 15 22:11:21
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive Visual Basic & VB.NET

 > 

Archives Visual Basic

 > 

J'AI BESOIN D'AIDE !!!! :)

 > 

[vb.net] Modifier un enregistrement dans un dataGrid


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

[vb.net] Modifier un enregistrement dans un dataGrid

jeudi 12 janvier 2006 à 10:29:41 | [vb.net] Modifier un enregistrement dans un dataGrid

mik67

Bonjour à tous,

Je développe en vb.net dans le cadre de mon stage
Je liste des clients dans un datagrid de ma Form4. Pour ajouter des enregistrements dans mon datagrid aucun problème...
Par contre je voudrais pouvoir modifier les données de mes clients (mail, tel....)
Pour cela je clique sur un élément de mon datagrid puis sur un bouton de commande 'Modifier' . Je récupère alors toutes mes données dans les textbox d'une autre form (Form5)
Je voudrais alors qu'en modifiant une donnée elle se mette à jour dans mon datagrid.

Le problème c'est que je met toujours à jour le premier quelque soit l'élément que je sélectionne dans mon datagrid ...


Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
        'Initialisation de la chaîne de paramètres pour la connexion
        strConn = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
                "Data Source= " & Application.StartupPath & "\" & "chequeAlsace.mdb;"

        'Initialisation de la chaîne contenant l'instruction SQL
        strsql = "SELECT Particulier.* FROM Particulier"


        'Instanciation d'un Objet Connexion
        Connection = New OleDbConnection

        'Donner à la propriété ConnectionString les paramètres de connexion
        Connection.ConnectionString = strConn

        'Ouvrir la connexion
        Connection.Open()

        'Instancier un objet Commande
        ObjetCommand = New OleDbCommand(strsql)

        'Instancier un objet Adapter
        MonAdapter = New OleDbDataAdapter(ObjetCommand)

        'initialiser l'objet Command
        ObjetCommand.Connection() = Connection

        'Avec l'aide de la propriété Fill du DataAdapter charger le DataSet
        MonAdapter.Fill(MonDataSet, "Particulier")

        'Mettre dans un Objet DataTable une table du DataSet
        ObjetDataTable = MonDataSet.Tables("Particulier")

        RowNumber = Form4.DataGrid1.CurrentRowIndex + 1
        ' Extraire l'enregistrement courant
        ObjetDataRow = MonDataSet.Tables("Particulier").Rows(RowNumber)

        'Modifier les valeurs des champs en récupérant le contenu des TextBox
        'ObjetDataRow("NumCientP") = Form4.DataGrid1.CurrentRowIndex + 1
        ObjetDataRow("CivilCliP") = cbCivil.Text
        ObjetDataRow("NomCliP") = txtNomCli.Text
        ObjetDataRow("PrenomCliP") = txtPrenomCli.Text
        ObjetDataRow("AdrCliP") = txtAdrCli.Text
        ObjetDataRow("CompAdrCliP") = txtCompAdrCli.Text
        ObjetDataRow("CPCliP") = txtCPCli.Text
        ObjetDataRow("VilleCliP") = txtVilleCli.Text
        ObjetDataRow("TelCliP") = txtTelCli.Text
        ObjetDataRow("FaxCliP") = txtFaxCli.Text
        ObjetDataRow("MailCliP") = txtMailCli.Text


        'Pour modifier les valeurs changées dans le DataAdapter
        ObjetCommandBuilder = New OleDbCommandBuilder(MonAdapter)

        'Mise à jour
        MonAdapter.UpdateCommand = ObjetCommandBuilder.GetUpdateCommand
        MonAdapter.Update(MonDataSet, "Particulier")

        'On vide le DataSet et on le 'recharge' de nouveau.
        MonDataSet.Clear()
        MonAdapter.Fill(MonDataSet, "Particulier")
        ObjetDataTable = MonDataSet.Tables("Particulier")

        Me.Hide()
        Form4.Show()
    End Sub


Merci d'avance ...
jeudi 12 janvier 2006 à 12:22:17 | Re : [vb.net] Modifier un enregistrement dans un dataGrid

fduchamp

Bonjour,

je te conseil de passer par le debugage de l application et de verifier ce que te renvois cette ligne:
RowNumber = Form4.DataGrid1.CurrentRowIndex + 1
je pense que dans RowNumber tu dois avoir 1
si c'est le cas je te conseil de memoriser dans une variable publique la valeur de Form4.DataGrid1.CurrentRowIndex + 1 au moment ou tu cliques sur la ligne a modifier ou alors sur l evenement du bouton Modifier.

jeudi 12 janvier 2006 à 12:37:19 | Re : [vb.net] Modifier un enregistrement dans un dataGrid

mik67

En fait il me renvoie '0' pour RowNumber soit -1 en fait à cause du +1 ....

jeudi 12 janvier 2006 à 12:38:42 | Re : [vb.net] Modifier un enregistrement dans un dataGrid

mik67

En fait il me renvoie '0' pour RowNumber soit -1 en fait à cause du +1 ....

jeudi 12 janvier 2006 à 13:08:47 | Re : [vb.net] Modifier un enregistrement dans un dataGrid

mik67

A priori ça fonctionne sur la même form mais pas d'une form a l'autre ..... bizarre .... Il ne retient pas la valeur de rownumber...
jeudi 12 janvier 2006 à 13:56:43 | Re : [vb.net] Modifier un enregistrement dans un dataGrid

fduchamp

Réponse acceptée !
dans ton form4 declare une variable public:
public intRowNumber as integer

et avant l ouverture de ton formulaire de modification de affecte la valeur
intRowNumber =Form4.DataGrid1.CurrentRowIndex + 1

ensuite dans ton formulaire de modif tu pourras faire
RowNumber = intRowNumber

Ca devrait fonctionner
jeudi 12 janvier 2006 à 16:10:21 | Re : [vb.net] Modifier un enregistrement dans un dataGrid

mik67

merci de ton aide fduchamp ....


Cette discussion est classée dans : text, datagrid, particulier, mondataset, objetdatarow


Répondre à ce message

Sujets en rapport avec ce message

datagrid et text box [ par method ] Bonjourj ai une bdd et un datagrid qui me donne les résultats d'une requête.J aimerais savoir s'il est possible d'appeler une requête par click d'un é Colonne DataGrid [ par polac ] Ouech,Dans un DataGrid, il y a des colonnes qui proviennent d'une base de données. J'en ai rajouté une. Je les nommé...Mais lorsque je veux lui affect datagrid [ par sisi1980 ] bonjourest il possible avec une datagrid faire une copie d'une text box dans un colonne specifique de la datagridexemple dans une text box j'ai ecrit Récupération d'un champ Datagrid [ par micaloul ] Bonjour,J'ai un datagrid qui se remplit convenablement à l'aide d'un ADODC.Je souhaite ensuite récupérer une donnée dans un textbox lorsque je clique ** DES VIRGULES ET DES POINT ** [ par Heny ] Salut a tousText1.Text = Replace(Text1.Text, ",", ".") J?utilise ce code pour remplacer des virgules par des points dans un TEXTBOX « alimenté » par u Problème de mise à jour d'un table d'un dataset [ par lordko ] Voilà je lis une table d'une base de données sans aucun soucis, mais lorsque je veux ajouter un utilisateur dans cette table j'ai le message d'erreur afficher dans un text box se qui a été séléctionné dans une datagrid [ par hy_honey ] salut a tous j'ai une datagrid ou je génére de ma base de donnée le nom , le numéro et le code postales de mes clients et enclicant sur un de mes clie text box datagrid [ par micam ] bonjour,Je voudrai remplir une textbox apartir de données d'une datagrid remplie elle-meme a partir de commandes sql.Tout fonctionne parfaitement sauf Rempli une combobox à partir d'un dataset [ par Niffec60 ] Bonjour ! Je suis sur un projet de gestion de tâche, et pour visualiser ces fameuses tâches, j'ai une ID, avec un nom de tache, et etc etc.Je voudrais Datagrid [ par ice_tea69 ] Bon j explique mon " programme "  j ai 2 feuilles Sur une j ai le bouton  Ajouter  et une datagrib relier a un ado   ( relié a une basse de donnée a


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
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,733 sec (4)

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