Carnet téléphone avec access, listview, oledb, commande sql (ajout, modif et supprimé), trie

Description

Un petit carnet d'adresse. Je sais qu'il en existe plusieur, mais celui la fait appel à des commandes SQL pour faire l'ajout, modification et suppression de ligne dans la BD Access.

Si vous avez des commantaires ou des optimisation que vous pensez qu'il pourrait être fait. Faites moi signe

Source / Exemple :


Private Sub cmdSupprime_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdSupprime.Click
        Dim SQLString As String
        Dim sNom As String, sPrenom As String, sTelephone As String

        If iListViewPosition <> AucuneSelection Then
            sNom = lvTelephone.Items(iListViewPosition).Text
            sPrenom = lvTelephone.Items(iListViewPosition).SubItems(1).Text
            sTelephone = lvTelephone.Items(iListViewPosition).SubItems(2).Text

            SQLString = "DELETE DELETE FROM T_Iden " _
                    & "WHERE Nom = " & "'" & sNom & "'" _
                    & "AND Prenom = " & "'" & sPrenom & "'" _
                    & "AND Numero = " & "'" & sTelephone & "'"

            ' On est pas obligé de définir c'est 3 variables on pourrait les mettre directement
            ' dans SQLString comme ceci, mais c'est moins lisible:
            'SQLString = "DELETE DELETE FROM T_Iden " _
            '        & "WHERE Nom = " & "'" & lvTelephone.Items(iListViewPosition).Text & "'" _
            '        & "AND Prenom = " & "'" & lvTelephone.Items(iListViewPosition).SubItems(1).Text & "'" _
            '        & "AND Numero = " & "'" & lvTelephone.Items(iListViewPosition).SubItems(2).Text & "'"

            If AjouteModifLigne(SQLString) Then
                lvTelephone.Items.RemoveAt(iListViewPosition)
            End If
        End If
    End Sub

   Private Sub cmdModif_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdModif.Click

        Dim SQLString As String = "UPDATE T_Iden SET Numero = '" _
                                & txtTelephone.Text.Trim & "' " & "WHERE Prenom = '" _
                                & txtPrenom.Text.Trim & "'"

        If AjouteModifLigne(SQLString) Then
            If AChangerValeur Then
                ' Dans ce cas ci on met juste à jours la ligne Telephone
                'lvTelephone.Items(iListViewPosition).Text = txtNom.Text
                'lvTelephone.Items(iListViewPosition).SubItems(1).Text = txtPrenom.Text
                lvTelephone.Items(iListViewPosition).SubItems(2).Text = txtTelephone.Text
            End If
            AChangerValeur = False ' La valeur ne peut plus être changé
        End If
    End Sub

    Private Sub cmdAjout_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdAjout.Click
        Dim LviItem As ListViewItem
        Dim LsiSubItem As ListViewItem.ListViewSubItem
        Dim SQLString As String

        SQLString = "INSERT into T_Iden (Nom, Prenom, Numero) Values" _
        & " ('" & txtNom.Text & "','" & txtPrenom.Text & "','" & txtTelephone.Text & "')"

        If (txtNom.Text <> "") And (txtPrenom.Text <> "") Then
            If AjouteModifLigne(SQLString) Then
                LviItem = lvTelephone.Items.Add(txtNom.Text)
                LsiSubItem = LviItem.SubItems.Add(txtPrenom.Text)
                LsiSubItem = LviItem.SubItems.Add(txtTelephone.Text)
            End If
        End If
    End Sub

    Private Function AjouteModifLigne(ByVal SQLString As String) As Boolean
        Dim objConnection As New OleDb.OleDbConnection(ConnString)

        Try
            objConnection.Open()
            Dim objCommand As New OleDbCommand(SQLString, objConnection)
            objCommand.ExecuteNonQuery()
            objConnection.Close()
            AjouteModifLigne = True
        Catch ex As Exception
            MsgBox(ex.ToString)
            AjouteModifLigne = False
        End Try
    End Function

Codes Sources

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.