Code pour modifier et pour supprimer des données

Signaler
-
 mohalesage2013 -
Bonjour,
J'ai commencé un petit projet, mais je me suis trouvé bloqué lorsque je voulais écrire le code de modification et de suppression des données déjà saisies.
Mon petit projet est conçu sous VB6, Base de donnée est établie en access 2003,

Merci pour votre aide.

4 réponses

Messages postés
14823
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
9 octobre 2021
156
Bonjour,

As-tu testé quelque chose ?
Quand vous postez un code, merci d'utiliser la coloration syntaxique (3ième icône en partant de la droite : ).

v----Signature--------v----------------------------------------------
[list=ordered][*]Pour poser correctement une question et optimiser vos chances d'obtenir des réponses, pensez à lire le règlement CS, celui-ci pour bien poser votre question ou encore celui-ci pour les PFE et autres exercices.[*]Quand vous postez un code, merci d'utiliser la coloration syntaxique (3ième icône en partant de la droite : ).[*]En VB.NET pensez à activer Option Explicit et Option Strict (propriété du projet) et à retirer l'import automatique de l'espace de nom Microsoft.VisualBasic (onglet Références dans les propriétés du projet).[*]Si votre problème est résolu (et uniquement si c'est le cas), pensez à mettre "Réponse acceptée" sur le ou les messages qui vous ont aidés/list
---
Mon site
bonjour,
je me suis trouvé bloqué lorsque je voulais écrire le code de modification et de suppression des données déjà saisies.
Mon petit projet est conçu sous VB6, Base de donnée est établie en access 2003


sois courageux de montrer la méthode que tu utilise (codes sources)

Soyons Toujours à la disposition des autres

Bonjour les amis,

Mon projet d'apprentissage se constitue de :

1= Feuille principale ( d’accueil )MDIForm
2= Feuille de saisie avec 4 zones de texte et 2 boutons de commande ( Ajouter
et Quitter )
3= Feuille pour recherche avec 4 zones de texte, une DataGrid, et un adodc
4= Feuille pour modification, avec 4 zones de texte, 3 boutons de commande
( Modifier, Supprimer et Quitter )
5= Un module
6= Une base de données avec un tableau établis sur access 2003,


Sur mon module, j'ai écris les codes suivants :

Public DB As New ADODB.Connection
   Public RS As New ADODB.Recordset
   Public Rss As New ADODB.Recordset


   Public SQLs As String




   Sub PoolConnection()

If DB.State = adStateOpen Then DB.Close
DB.Provider = "Microsoft.Jet.OLEDB.4.0"
DB.Open "Data Source =" & App.Path & "\BDCompagnie.mdb"

End Sub




Quant je lance la recherche sur la feuille de recherche, le résultat apparaît sur la DATAGRID, avec un pointeur.
En cliquant sur ce pointeur il me renvoie directement à la feuille de modification .
Sur cette feuille, j'ai écris les codes suivants :

Private Sub cmdModifier_Click()
         Dim Reponse As String


If TNom = "" Then
 MsgBox "Veuillez saisir le Nom", vbCritical + vbMsgBoxRight, "Erreur de   saisie"
Exit Sub
End If

If TPrenom = "" Then
MsgBox "Veuillez saisir le Prénom", vbCritical + vbMsgBoxRight, "Erreur de saisie"
Exit Sub
End If


If TCin = "" Then
MsgBox "Veuillez saisir le numéro de la C.I.N", vbCritical + vbMsgBoxRight, "Erreur de saisie"
Exit Sub
End If


If TCnss = "" Then
MsgBox "Veuillez saisir le numéro de la C.N.S.S", vbCritical + vbMsgBoxRight, "Erreur de saisie"
Exit Sub
End If




TNom.Text = RS![NOM]
TPrenom = RS![PRENOM]
TCin = RS![CIN]
TCnss = RS![CNSS]



If RS![CIN] = TCin Then
     GoTo Dont_Check:

End If




SQLs = "Select * from TableauInfo where CIN=' " & TCin & " '"



If Rss.State = adStateOpen Then Rss.Close
Rss.Open SQLs, DB, adOpenKeyset, adLockPessimistic

If Rss.EOF Then
      GoTo OkAddNew:

Else

MsgBox "Attention ce numéro existe déjà", vbCritical + vbMsgBoxRight, "Erreur de saisie"

Exit Sub
End If

OkAddNew:
'---------------------------
Dont_Check:

Reponse = MsgBox("Etes vous sûr de vouloir enregistrer les modifications faites ?", vbQuestion + vbYesNo + vbMsgBoxRight, "Alors, quoi faire ?")

If Reponse = vbYes Then


RS.AddNew

If Not TNom "" Then RS![NOM] TNom.Text
If Not TPrenom "" Then RS![PRENOM] TPrenom.Text
If Not TCin "" Then RS![CIN] TCin.Text
If Not TCnss "" Then RS![CNSS] TCnss.Text


RS.Update


MsgBox "Les modifications sont enregsitrées", vbInformation + vbMsgBoxRight, "Données enregistrées"

End If

TNom.Text = ""
TPrenom.Text = ""
TCin.Text = ""
TCnss.Text = ""




End Sub

Private Sub cmdSortir_Click()
'Pour quitter cette fenêtre

Unload Me

End Sub

Private Sub Form_Load()


PoolConnection

If RS.State = adStateOpen Then RS.Close
RS.Open SQLs, DB, adOpenKeyset, adLockPessimistic



End Sub




Je tiens à réponde à cet ami, qui me défie si j'étais courageux...
Je lui avoue que je ne suis qu'un apprenti, et je compte beaucoup sur son aide, d'ailleurs, je compte sur toutes les bonnes volontés pour m'aider à comprendre le peu qu'elles veulent du VB6

Bonjour,
Enfin, j'ai trouvé où se bloque. J'ai mal indexé ma DataGrid. J'ai corrigé
l'indexation de ma DataGrid, et j'ai désactivé RS.AddNew

Les corrections apportées :

FModification.TCin = FRecherche.DataGrid1.Columns.Item(0)
FModification.TNom = FRecherche.DataGrid1.Columns.Item(1)
FModification.TPrenom = FRecherche.DataGrid1.Columns.Item(2)
FModification.TCnss = FRecherche.DataGrid1.Columns.Item(3)


'RS.AddNew

If Not TNom "" Then RS![NOM] TNom
If Not TPrenom "" Then RS![PRENOM] TPrenom
If Not TCin "" Then RS![CIN] TCin
If Not TCnss "" Then RS![CNSS] TCnss


RS.Update




Merci pour votre attention

Je cherche encore le code me permettant de supprimer une ligne de ma DataGrid