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

ASP.NET Discussion :

[VB.NET] Update base Access


Sujet :

ASP.NET

  1. #1
    Membre émérite
    Avatar de Nesmontou
    Homme Profil pro
    Architecte logiciel
    Inscrit en
    Septembre 2004
    Messages
    1 612
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Architecte logiciel
    Secteur : Finance

    Informations forums :
    Inscription : Septembre 2004
    Messages : 1 612
    Points : 2 969
    Points
    2 969
    Par défaut [VB.NET] Update base Access
    Bonjour, je suis en train de faire une base de données pour un Intranet et je n'arrive pas à la mettre à jour.
    J'ai créé une datagrid avec une liste de produits contenant référence, nom, prix h.t. , version, remarques.
    Pour mettre cette liste à jour, j'ai ajouté une colonne avec un bouton modifier et annuler la modif. Les boutons font bien appel à ma fonction de mise à jour et d'annulation de la modif.
    Mais là où je coince, c'est la mise à jour en elle-même.

    Voici la fonction qui ce situe dans la classe CatalogueProduits :
    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
        Public Sub ProduitsListeUpdate(ByVal produitID As Integer, ByVal PrixHT As Single, ByVal Remarques As String)
            Dim Cnx As OleDb.OleDbConnection
            Dim SqlCmd As String
            Try
                Cnx = New OleDb.OleDbConnection(ConnString)
                SqlCmd = "UPDATE CatalogueProduits SET prixht=@prixht, remarques=@remarques WHERE produitID=@produitID"
                Dim Cmd As New OleDb.OleDbCommand(SqlCmd, Cnx)
                Cmd.Parameters.Add("@prixht", OleDb.OleDbType.Single).Value = PrixHT
                Cmd.Parameters.Add("@remarques", OleDb.OleDbType.BSTR).Value = Remarques
                Cmd.Parameters.Add("@produitID", OleDb.OleDbType.Integer).Value = produitID
     
                Cnx.Open()
                Cmd.ExecuteNonQuery()
                Cmd.Dispose()
                Cnx.Close()
            Catch ex As Exception
                Debug.Write(ex.Message)
                Debug.Write(ex.StackTrace)
            End Try
        End Sub
    Et voici la fonction pour le bouton update :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
        Sub Grid_Update(ByVal Sender As Object, ByVal e As DataGridCommandEventArgs)
            Dim produitID As Integer
            Dim PrixHT As Single
            Dim Remarques As String
            Dim ObjDa As New AccesDonnees.CatalogueProduits
            produitID = Me.dgGrille.DataKeys(e.Item.ItemIndex)
            PrixHT = Integer.Parse(CType(e.Item.FindControl("txtPrixHT"), TextBox).Text)
            Remarques = CType(e.Item.FindControl("txtRemarques"), TextBox).Text
     
            ObjDa.ProduitsListeUpdate(produitID, PrixHT, Remarques)
     
            Me.dgGrille.EditItemIndex = -1
            Me.dgGrille.DataBind()
        End Sub
    Quelqu'un pourrait-il m'expliquer ce qui ne fonctionne pas ? Je n'ai aucun message d'erreur quand je veux faire une mise à jour mais les modif ne sont pas prises en compte

    J'ai en plus un autre problème : lorsque je quitte mon appli asp.net, ma base Access est en lecteur seule (elle ne l'était pas avant)

    Une idée please, je suis perdu

    Merci

    PS : Je suis totalement débutant en .NET et je travaille sous VS.NET
    Si vous ne pouvez expliquer un concept à un enfant de six ans, c'est que vous ne le comprenez pas complètement. Albert EINSTEIN

    F.A.Q. : Java, PHP, (X)HTML / CSS

    N'oubliez pas de cliquer sur le bouton Résolu en bas de page quand vous avez obtenu une solution à votre problème

  2. #2
    Membre émérite
    Avatar de Nesmontou
    Homme Profil pro
    Architecte logiciel
    Inscrit en
    Septembre 2004
    Messages
    1 612
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Architecte logiciel
    Secteur : Finance

    Informations forums :
    Inscription : Septembre 2004
    Messages : 1 612
    Points : 2 969
    Points
    2 969
    Par défaut
    Bon, pour la mise à jour ça ne marche toujours pas, mais pour le 2ème problème, j'ai trouvé : en fait il faut mettre le code suivant pour la 1ère fonction :

    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
        Public Sub ProduitsListeUpdate(ByVal produitID As Integer, ByVal PrixHT As Single, ByVal Remarques As String) 
            Dim Cnx As OleDb.OleDbConnection 
            Dim SqlCmd As String 
            Try 
                Cnx = New OleDb.OleDbConnection(ConnString) 
                SqlCmd = "UPDATE CatalogueProduits SET prixht=@prixht, remarques=@remarques WHERE produitID=@produitID" 
                Dim Cmd As New OleDb.OleDbCommand(SqlCmd, Cnx) 
                Cmd.Parameters.Add("@prixht", OleDb.OleDbType.Single).Value = PrixHT 
                Cmd.Parameters.Add("@remarques", OleDb.OleDbType.BSTR).Value = Remarques 
                Cmd.Parameters.Add("@produitID", OleDb.OleDbType.Integer).Value = produitID 
     
                Cnx.Open() 
                Cmd.ExecuteNonQuery() 
            Catch ex As Exception 
                Debug.Write(ex.Message) 
                Debug.Write(ex.StackTrace) 
            Finally
                Cmd.Dispose() 
                Cnx.Close() 
            End Try 
        End Sub
    Comme ça, dans tous les cas, la connexion est fermée et le fichier est "libéré"

    Mais je n'ai toujours pas la solution pour mettre à jour les champs, je n'ai aucun message d'erreur et aucune modif n'est faite.
    Si vous ne pouvez expliquer un concept à un enfant de six ans, c'est que vous ne le comprenez pas complètement. Albert EINSTEIN

    F.A.Q. : Java, PHP, (X)HTML / CSS

    N'oubliez pas de cliquer sur le bouton Résolu en bas de page quand vous avez obtenu une solution à votre problème

  3. #3
    Membre émérite
    Avatar de Nesmontou
    Homme Profil pro
    Architecte logiciel
    Inscrit en
    Septembre 2004
    Messages
    1 612
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Architecte logiciel
    Secteur : Finance

    Informations forums :
    Inscription : Septembre 2004
    Messages : 1 612
    Points : 2 969
    Points
    2 969
    Par défaut
    Bon, je suis toujours en quête de la vérité et je viens de me rendre compte d'un truc assez embêtant (pour rester poli). Toutes mes fonctions marchent comme il faut mais je n'arrive pas à récupérer les valeurs des champs que je mets à jour. Je m'explique : quand ma datagrid est un mode édition, je remplis les textbox comme il faut mais là où ça pêche c'est que quand j'appuie sur le bouton de validation, les valeurs que j'ai saisies sont remplacées par les valeurs initiales.

    Bizarre, me direz-vous, et je serai bien d'accord avec vous

    Donc si quelqu'un peut m'aider parce que là ça rentre dans le domaine du paranormal .
    Si vous ne pouvez expliquer un concept à un enfant de six ans, c'est que vous ne le comprenez pas complètement. Albert EINSTEIN

    F.A.Q. : Java, PHP, (X)HTML / CSS

    N'oubliez pas de cliquer sur le bouton Résolu en bas de page quand vous avez obtenu une solution à votre problème

  4. #4
    Expert éminent
    Avatar de Ditch
    Inscrit en
    Mars 2003
    Messages
    4 160
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Mars 2003
    Messages : 4 160
    Points : 9 634
    Points
    9 634
    Par défaut
    Ou fais tu le DataBind? Dans le Page_Load?

    Didier Danse

    Most Valuable Profesionnal SharePoint
    Microsoft Certified Application Developer
    Mes articles sur developpez.com
    Mon site perso


  5. #5
    Membre émérite
    Avatar de Nesmontou
    Homme Profil pro
    Architecte logiciel
    Inscrit en
    Septembre 2004
    Messages
    1 612
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Architecte logiciel
    Secteur : Finance

    Informations forums :
    Inscription : Septembre 2004
    Messages : 1 612
    Points : 2 969
    Points
    2 969
    Par défaut
    Merci pour la rapidité de ta réponse. Je vais te donner mes codes (ce n'est plus la même table qu'au début, mais le problème est le même) : je voudrais gérer les interlocuteurs d'une société cliente : j'ai une base Titres avec 2 colonnes (titreID et intitule) pour M., Mme, Melle ; et une table Interlocuteurs avec 3 colonnes : nom, prenom, titreID (les titreID des 2 tables sont liés)

    Interlocuteurs.vb :



    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
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    Public Class Interlocuteurs
     
        Public Function InterlocuteursListe(Optional ByVal societeID As Integer = 0) As DataTable
            Dim DataS As New DataSet
            Dim Cnx As OleDb.OleDbConnection
            Dim DataA As OleDb.OleDbDataAdapter
            Dim Rel As DataRelation
            Dim Cmd As String
            Try
                Cnx = New OleDb.OleDbConnection(ConnString)
                Cnx.Open()
     
                Cmd = "SELECT Interlocuteurs.interlocuteurID AS [interlocuteurID], Titres.titreID AS [TitreID], Titres.intitule AS [Titre], Interlocuteurs.nom AS [Nom], Interlocuteurs.prenom AS [Prenom] FROM Interlocuteurs INNER JOIN Titres ON Titres.titreID=Interlocuteurs.titreID WHERE Interlocuteurs.societeID=" & societeID & " ORDER BY Interlocuteurs.nom ASC"
                DataA = New OleDb.OleDbDataAdapter(Cmd, Cnx)
                DataA.Fill(DataS, "Interlocuteurs")
            Catch ex As Exception
                Debug.Write(ex.Message)
                Debug.Write(ex.StackTrace)
            Finally
                If Not DataA Is Nothing Then DataA.Dispose()
                Cnx.Close()
            End Try
            Return DataS.Tables("Interlocuteurs")
        End Function
     
        Public Function TitresListe() As DataTable
            Dim DataS As New DataSet
            Dim Cnx As OleDb.OleDbConnection
            Dim DataA As OleDb.OleDbDataAdapter
            Dim Rel As DataRelation
            Dim Cmd As String
            Try
                Cnx = New OleDb.OleDbConnection(ConnString)
                Cnx.Open()
     
                Cmd = "SELECT titreID AS [TitreID], intitule AS [Titre] FROM Titres ORDER BY intitule ASC"
                DataA = New OleDb.OleDbDataAdapter(Cmd, Cnx)
                DataA.Fill(DataS, "Titres")
            Catch ex As Exception
                Debug.Write(ex.Message)
                Debug.Write(ex.StackTrace)
            Finally
                If Not DataA Is Nothing Then DataA.Dispose()
                Cnx.Close()
            End Try
            Return DataS.Tables("Titres")
        End Function
     
        Public Sub InterlocuteurUpdate(ByVal InterlocuteurID As Integer, ByVal Nom As String, ByVal Prenom As String)
            Dim Cnx As OleDb.OleDbConnection
            Dim SqlCmd As String
            Dim Cmd As OleDb.OleDbCommand
            Try
                Cnx = New OleDb.OleDbConnection(ConnString)
                SqlCmd = String.Format("UPDATE Interlocuteurs SET prenom='{0}' WHERE interlocuteurID={1}", Prenom, InterlocuteurID)
                Cmd = New OleDb.OleDbCommand(SqlCmd, Cnx)
     
                Cnx.Open()
                Cmd.ExecuteNonQuery()
            Catch ex As Exception
                Debug.Write(ex.Message)
                Debug.Write(ex.StackTrace)
            Finally
                Cmd.Dispose()
                Cnx.Close()
            End Try
        End Sub
     
    End Class
    index.aspx.vb :

    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
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
        Private Sub dgInterlocuteursBind(ByVal SocieteID As Integer)
            Dim ObjDa As New AccesDonnees.Interlocuteurs
            Dim tblInterlocuteurs As DataTable
            tblInterlocuteurs = ObjDa.InterlocuteursListe(SocieteID)
            Me.dgInterlocuteurs.DataSource = tblInterlocuteurs
            Me.dgInterlocuteurs.DataBind()
        End Sub
     
        Private Sub ddlSocietesBind(ByVal ddl As DropDownList)
            Dim ObjDa As New AccesDonnees.Societes
            Dim tblProduitsTypes As DataTable
     
            tblProduitsTypes = ObjDa.SocietesListe
            ddl.DataSource = tblProduitsTypes
            ddl.DataTextField = "Nom"
            ddl.DataValueField = "SocieteID"
            ddl.DataBind()
        End Sub
     
        Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
            Dim ObjDaInter As New AccesDonnees.Interlocuteurs
            Dim tblInterlocuteurs As DataTable
            Dim tblSocietes As DataTable
     
            If Not IsPostBack Then
                ddlSocietesBind(Me.ddlSocietes)
            End If
     
            dgInterlocuteursBind(Me.ddlSocietes.SelectedValue)
        End Sub
     
        Sub Interlocuteurs_Update(ByVal Sender As Object, ByVal e As DataGridCommandEventArgs)
            Dim ObjDa As New AccesDonnees.Interlocuteurs
            Dim tblInterlocuteurs As DataTable
            Dim InterlocuteurID As Integer
            Dim TitreID As Integer
            Dim Nom As String
            Dim Prenom As String
     
            InterlocuteurID = CType(Me.dgInterlocuteurs.DataKeys(e.Item.ItemIndex), Integer)
            TitreID = CType(e.Item.FindControl("ddlTitres"), DropDownList).SelectedValue
            Nom = CType(e.Item.FindControl("txtNom"), TextBox).Text
            Prenom = CType(e.Item.FindControl("txtPrenom"), TextBox).Text
            ObjDa.InterlocuteurUpdate(InterlocuteurID, Nom, Prenom)
     
            Me.dgInterlocuteurs.EditItemIndex = -1
            dgInterlocuteursBind(Me.ddlSocietes.SelectedValue)
        End Sub
    Et pour le datagrid :

    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
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    			<asp:dropdownlist id="ddlSocietes" runat="server" AutoPostBack="True" Height="25px" Width="400px"></asp:dropdownlist>
    			<asp:datagrid id="dgInterlocuteurs" runat="server" Width="100%" OnUpdateCommand="Interlocuteurs_Update"
    				OnEditCommand="Interlocuteurs_Edit" OnCancelCommand="Interlocuteurs_Cancel" AutoGenerateColumns="False"
    				GridLines="Horizontal" BorderWidth="2px" BorderStyle="Solid" BorderColor="Black" CellPadding="5"
    				DataKeyField="interlocuteurID">
    				<AlternatingItemStyle BackColor="Transparent"></AlternatingItemStyle>
    				<ItemStyle VerticalAlign="Middle" BackColor="#DDDDDD"></ItemStyle>
    				<HeaderStyle Font-Bold="True" HorizontalAlign="Center" VerticalAlign="Middle" BackColor="#999999"></HeaderStyle>
    				<Columns>
    					<asp:EditCommandColumn ButtonType="LinkButton" UpdateText="[OK]" HeaderText="Modifier" CancelText="[Annuler]"
    						EditText="[Modifier]">
    						<ItemStyle HorizontalAlign="Center" Width="10%"></ItemStyle>
    					</asp:EditCommandColumn>
    					<asp:TemplateColumn HeaderText="Civilité">
    						<ItemStyle Width="5%"></ItemStyle>
    						<ItemTemplate>
    							<asp:Label Runat="server">
    								<%# DataBinder.Eval(Container.DataItem, "Titre") %>
    							</asp:Label>
    						</ItemTemplate>
    						<EditItemTemplate>
    							<asp:DropDownList ID="ddlTitres" Runat="server"></asp:DropDownList>
    						</EditItemTemplate>
    					</asp:TemplateColumn>
    					<asp:TemplateColumn HeaderText="Nom">
    						<ItemTemplate>
    							<asp:Label Runat="server">
    								<%# DataBinder.Eval(Container.DataItem, "Nom") %>
    							</asp:Label>
    						</ItemTemplate>
    						<EditItemTemplate>
    							<asp:TextBox ID="txtNom" Runat="server" text='<%# DataBinder.Eval(Container.DataItem, "Nom") %>'>
    							</asp:TextBox>
    						</EditItemTemplate>
    					</asp:TemplateColumn>
    					<asp:TemplateColumn HeaderText="Prénom">
    						<ItemTemplate>
    							<asp:Label Runat="server">
    								<%# DataBinder.Eval(Container.DataItem, "Prenom") %>
    							</asp:Label>
    						</ItemTemplate>
    						<EditItemTemplate>
    							<asp:TextBox ID="txtPrenom" Runat="server" text='<%# DataBinder.Eval(Container.DataItem, "Prenom") %>'>
    							</asp:TextBox>
    						</EditItemTemplate>
    					</asp:TemplateColumn>
    					<asp:TemplateColumn Visible="False">
    						<ItemTemplate>
    							<asp:TextBox Runat="server" Text='<%# DataBinder.Eval(Container.DataItem, "TitreID") %>'>
    							</asp:TextBox>
    						</ItemTemplate>
    						<EditItemTemplate>
    							<asp:TextBox Runat="server" ID="txtTitreID" Text='<%# DataBinder.Eval(Container.DataItem, "TitreID") %>'>
    							</asp:TextBox>
    						</EditItemTemplate>
    					</asp:TemplateColumn>
    				</Columns>
    			</asp:datagrid>
    Voilà, je crois que je t'ai tout mis

    Désolé pour la longueur du code, mais je voulais que tu aies le plus d'éléments possibles

    J'espère que tout est là
    Si vous ne pouvez expliquer un concept à un enfant de six ans, c'est que vous ne le comprenez pas complètement. Albert EINSTEIN

    F.A.Q. : Java, PHP, (X)HTML / CSS

    N'oubliez pas de cliquer sur le bouton Résolu en bas de page quand vous avez obtenu une solution à votre problème

  6. #6
    Membre émérite
    Avatar de Nesmontou
    Homme Profil pro
    Architecte logiciel
    Inscrit en
    Septembre 2004
    Messages
    1 612
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Architecte logiciel
    Secteur : Finance

    Informations forums :
    Inscription : Septembre 2004
    Messages : 1 612
    Points : 2 969
    Points
    2 969
    Par défaut
    Bon ça avance à petits pas. Maintenant, je peux mettre à jour les champs (un GRAND pas) mais le seul hic, c'est que ma liste déroulante ne permets plus de selectionner la société désirée, la datagrid reste toujours sur la première. Voici les modifs dans index.aspx.vb :

    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
    28
    29
        Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
            Dim ObjDaInter As New AccesDonnees.Interlocuteurs
            Dim tblInterlocuteurs As DataTable
            Dim tblSocietes As DataTable
     
            If Not IsPostBack Then
                ddlSocietesBind(Me.ddlSocietes)
                dgInterlocuteursBind(Me.ddlSocietes.SelectedValue)
            End If
        End Sub
     
        Public Sub Interlocuteurs_Update(ByVal Sender As Object, ByVal e As DataGridCommandEventArgs)
            Dim ObjDa As New AccesDonnees.Interlocuteurs
            Dim tblInterlocuteurs As DataTable
            Dim InterlocuteurID As Integer
            Dim TitreID As Integer
            Dim Nom As String
            Dim Prenom As String
     
            InterlocuteurID = CType(Me.dgInterlocuteurs.DataKeys(e.Item.ItemIndex), Integer)
            TitreID = CType(e.Item.FindControl("ddlTitres"), DropDownList).SelectedValue
            Nom = CType(e.Item.FindControl("txtNom"), TextBox).Text
            Prenom = CType(e.Item.FindControl("txtPrenom"), TextBox).Text
            Me.Label1.Text = Prenom
            ObjDa.InterlocuteurUpdate(InterlocuteurID, Nom, Prenom)
     
            Me.dgInterlocuteurs.EditItemIndex = -1
            dgInterlocuteursBind(Me.ddlSocietes.SelectedValue)
        End Sub
    Sur une idée géniale de Ditch, merci à lui

    Sinon, j'ai toujours le problème de la selection de la société, mais je continuerai jusqu'au bout
    Si vous ne pouvez expliquer un concept à un enfant de six ans, c'est que vous ne le comprenez pas complètement. Albert EINSTEIN

    F.A.Q. : Java, PHP, (X)HTML / CSS

    N'oubliez pas de cliquer sur le bouton Résolu en bas de page quand vous avez obtenu une solution à votre problème

  7. #7
    Membre émérite
    Avatar de Nesmontou
    Homme Profil pro
    Architecte logiciel
    Inscrit en
    Septembre 2004
    Messages
    1 612
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Architecte logiciel
    Secteur : Finance

    Informations forums :
    Inscription : Septembre 2004
    Messages : 1 612
    Points : 2 969
    Points
    2 969
    Par défaut
    MIRACLE !!!!
    Ca y est, j'ai enfin trouvé l'astuce : il faut faire le databind dans l'évènement prerender de la datagrid, et là c'est nickel. Je donne le code pour ceux que ça intéresse :

    index.aspx.vb
    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
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
        Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
            Dim ObjDaSoc As New AccesDonnees.Societes
            Dim ObjDaInter As New AccesDonnees.Interlocuteurs
            Dim tblInterlocuteurs As DataTable
            Dim tblSocietes As DataTable
     
            If Not IsPostBack Then
                ddlSocietesBind(Me.ddlSocietes)
            End If
        End Sub
     
        Public Sub Interlocuteurs_Edit(ByVal Sender As Object, ByVal e As DataGridCommandEventArgs)
            Me.dgInterlocuteurs.EditItemIndex = e.Item.ItemIndex
        End Sub
     
        Public Sub Interlocuteurs_Cancel(ByVal Sender As Object, ByVal e As DataGridCommandEventArgs)
            Me.dgInterlocuteurs.EditItemIndex = -1
        End Sub
     
        Public Sub Interlocuteurs_Update(ByVal Sender As Object, ByVal e As DataGridCommandEventArgs)
            Dim ObjDa As New AccesDonnees.Interlocuteurs
            Dim tblInterlocuteurs As DataTable
            Dim InterlocuteurID As Integer
            Dim TitreID As Integer
            Dim Nom As String
            Dim Prenom As String
     
            InterlocuteurID = CType(Me.dgInterlocuteurs.DataKeys(e.Item.ItemIndex), Integer)
            TitreID = CType(e.Item.FindControl("ddlTitres"), DropDownList).SelectedValue
            Nom = CType(e.Item.FindControl("txtNom"), TextBox).Text
            Prenom = CType(e.Item.FindControl("txtPrenom"), TextBox).Text
            Me.Label1.Text = Prenom
            ObjDa.InterlocuteurUpdate(InterlocuteurID, Nom, Prenom)
     
            Me.dgInterlocuteurs.EditItemIndex = -1
        End Sub
     
        Private Sub dgInterlocuteurs_ItemDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.DataGridItemEventArgs) Handles dgInterlocuteurs.ItemDataBound
            If e.Item.ItemIndex = Me.dgInterlocuteurs.EditItemIndex And Me.dgInterlocuteurs.EditItemIndex <> -1 Then
                Dim ddlTitres As DropDownList = CType(e.Item.FindControl("ddlTitres"), DropDownList)
                Dim Selected As Integer = CType(CType(e.Item.FindControl("txtTitreID"), TextBox).Text, Integer)
                ddlTitresBind(ddlTitres, Selected)
            End If
        End Sub
     
        Private Sub dgInterlocuteurs_PreRender(ByVal sender As Object, ByVal e As System.EventArgs) Handles dgInterlocuteurs.PreRender
            dgInterlocuteursBind(Me.ddlSocietes.SelectedValue)
        End Sub
    Pour les autres fichiers, rien n'a changé

    Merci encore à Ditch pour sa réponse rapide.

    Et c'est avec joie et soulagement que je clique sur [Résolu]
    Si vous ne pouvez expliquer un concept à un enfant de six ans, c'est que vous ne le comprenez pas complètement. Albert EINSTEIN

    F.A.Q. : Java, PHP, (X)HTML / CSS

    N'oubliez pas de cliquer sur le bouton Résolu en bas de page quand vous avez obtenu une solution à votre problème

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

Discussions similaires

  1. petit script chat en vb.net avec base Access
    Par Tchiii dans le forum VB.NET
    Réponses: 0
    Dernier message: 10/11/2012, 09h51
  2. Update base Access
    Par loig41 dans le forum VB.NET
    Réponses: 2
    Dernier message: 31/07/2007, 14h05
  3. requete SQL update base access
    Par samtheh dans le forum VBA Access
    Réponses: 6
    Dernier message: 01/06/2007, 13h06
  4. [c#] Update d'une base Access
    Par elendila dans le forum ASP.NET
    Réponses: 65
    Dernier message: 09/09/2005, 09h23
  5. [ADO.NET] Installation appli utilisant base access
    Par Didier69 dans le forum Accès aux données
    Réponses: 2
    Dernier message: 27/09/2004, 11h50

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