Problème d'enregistrement des modifications
mohalesage
-
mohalesage -
mohalesage -
Bonjour les amis,
C'est encore moi, le débutant dans le VB. Je n'arrive pas à trouver l'astuce pour enregistrer les modifications faites.
Mon projet concu par le VB6, et Access 2003, est constitué de :
1 Une fenêtre de saisie
2 Une Fenêtre de recherche, avec une DataGrid
3 Une fenêtre de modification
4 Un module
Mes codes sont comme suit :
---------------------------------------------------------------------------------------------------------
Sur le module
Option Explicit
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 & "\BDAgafruit.mdb"
End Sub
---------------------------------------------------------------------------------------------------------
Sur la fenêtre de recherche :
Private Sub Form_Load()
On Error Resume Next
Adodc1.ConnectionString = "Provider= Microsoft.Jet.OLEDB.4.0;Data Source=" &
App.Path & "\BDCompagnie.mdb;Persist security info=False"
SQLs = " SELECT * FROM TableauInfo"
Adodc1.RecordSource = SQLs
Set DataGrid1.DataSource = Adodc1
DataGrid1.AllowAddNew = False
DataGrid1.AllowUpdate = False
LblCount.Caption = "Nombre d'enregistrement =" & " " &
Adodc1.Recordset.RecordCount & " " & "Enregistrés"
Adodc1.Refresh
DataGrid1.Columns.Item(0).Button = True
End Sub
-----------------------------------------------------------------------------------------------
Private Sub TCin_Change()
If TNom.Text = "" And TPrenom.Text = "" And TCin.Text = "" And TCnss.Text = ""
Then
SQLs = " SELECT * FROM TableauInfo"
Adodc1.RecordSource = SQLs
Adodc1.Refresh
LblCount.Caption = "Nombre des enregistrements= " & " " &
Adodc1.Recordset.RecordCount & " " & "enregistrés"
Exit Sub
End If
SQLs = "SELECT * FROM TableauInfo where NOM like'" & TNom.Text & "%'And PRENOM
like'" & TPrenom.Text & "%'And CIN like'" & TCin.Text & "%'And CNSS like'" &
TCnss.Text & "%'"
Adodc1.RecordSource = SQLs
Adodc1.Refresh
LblCount.Caption = "Nombre des enregistrements= " & " " &
Adodc1.Recordset.RecordCount & " " & "enregistrés"
DataGrid1.Columns.Item(0).Button = True
End Sub
-------------------------------------------------------------------------------------------------------------
Private Sub TCnss_Change()
If TNom.Text = "" And TPrenom.Text = "" And TCin.Text = "" And TCnss.Text = "" Then
SQLs = " SELECT * FROM TableauInfo"
Adodc1.RecordSource = SQLs
Adodc1.Refresh
LblCount.Caption = "Nombre des enregistrements= " & " " &
Adodc1.Recordset.RecordCount & " " & "enregistrés"
Exit Sub
End If
SQLs = "SELECT * FROM TableauInfo where NOM like'" & TNom.Text & "%'And
PRENOM like'" & TPrenom.Text & "%'And CIN like'" & TCin.Text & "%'And CNSS like'" &
TCnss.Text & "%'"
Adodc1.RecordSource = SQLs
Adodc1.Refresh
LblCount.Caption = "Nombre des enregistrements= " & " " &
Adodc1.Recordset.RecordCount & " " & "enregistrés"
DataGrid1.Columns.Item(0).Button = True
End Sub
----------------------------------------------------------------------------------------------------
Private Sub TNom_Change()
If TNom.Text = "" And TPrenom.Text = "" And TCin.Text = "" And TCnss.Text = "" Then
SQLs = " SELECT * FROM TableauInfo"
Adodc1.RecordSource = SQLs
Adodc1.Refresh
LblCount.Caption = "Nombre des enregistrements= " & " " &
Adodc1.Recordset.RecordCount & " " & "enregistrés"
Exit Sub
End If
SQLs = "SELECT * FROM TableauInfo where NOM like'" & TNom.Text & "%'And
PRENOM like'" & TPrenom.Text & "%'And CIN like'" & TCin.Text & "%'And CNSS like'" &
TCnss.Text & "%'"
Adodc1.RecordSource = SQLs
Adodc1.Refresh
LblCount.Caption = "Nombre des enregistrements= " & " " &
Adodc1.Recordset.RecordCount & " " & "enregistrés"
DataGrid1.Columns.Item(0).Button = True
End Sub
-----------------------------------------------------------------------------------------------------
Private Sub TPrenom_Change()
If TNom.Text = "" And TPrenom.Text = "" And TCin.Text = "" And TCnss.Text = "" Then
SQLs = " SELECT * FROM TableauInfo"
Adodc1.RecordSource = SQLs
Adodc1.Refresh
LblCount.Caption = "Nombre des enregistrements= " & " " &
Adodc1.Recordset.RecordCount & " " & "enregistrés"
Exit Sub
End If
SQLs = "SELECT * FROM TableauInfo where NOM like'" & TNom.Text & "%'And
PRENOM like'" & TPrenom.Text & "%'And CIN like'" & TCin.Text & "%'And CNSS like'" &
TCnss.Text & "%'"
Adodc1.RecordSource = SQLs
Adodc1.Refresh
LblCount.Caption = "Nombre des enregistrements= " & " " &
Adodc1.Recordset.RecordCount & " " & "enregistrés"
DataGrid1.Columns.Item(0).Button = True
End Sub
--------------------------------------------------------------------------------------------------------
Sur DataGrid1 ( Conçue sur la feuille de recherche)
Private Sub DataGrid1_ButtonClick(ByVal ColIndex As Integer)
On Error GoTo xxx
Select Case ColIndex
Case 0
SQLs = "SELECT * FROM TableauInfo where CIN='" & DataGrid1.Text & "'"
End Select
FModification.Show
FModification.TNom = FRecherche.DataGrid1.Columns.Item(0)
FModification.TPrenom = FRecherche.DataGrid1.Columns.Item(1)
FModification.TCin = FRecherche.DataGrid1.Columns.Item(2)
FModification.TCnss = FRecherche.DataGrid1.Columns.Item(3)
Unload Me
xxx:
End Sub
---------------------------------------------------------------------------------------------------------
Sur La fenêtre de modification
Option Explicit
Dim CIN As String
------------------------------------------------------------------------------------------------------
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
If CIN = TCin Then
GoTo Dont_Check:
End If
SQLs = " Select * from TableauInfo where NOM='" & TNom & "' and PRENOM= '" &
TPrenom & "' and CIN='" & TCin & "' and CNSS='" & TCnss & "'"
If Rss.State = adStateOpen Then Rss.Close
Rss.Open SQLs, DB, adOpenKeyset, adLockPessimistic
If Rss.EOF Then
GoTo OkReplace:
Else
MsgBox "Attention ce numéro existe déjà", vbCritical + vbMsgBoxRight, "Erreur
de saisie"
Exit Sub
End If
OkReplace:
'---------------------------
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.Replace
If Not TNom.Text = "" Then RS![NOM] = TNom.Text
If Not TPrenom.Text = "" Then RS![PRENOM] = TPrenom.Text
If Not TCin.Text = "" Then RS![CIN] = TCin.Text
If Not TCnss.Text = "" 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
--------------------------------------------------------------------------------------------------
Merci de m'aider pour pouvoir enregistrer mes modifications, et éventuellement de corriger mes codes.
Bonjour,
C'est encore moi, le débutant dans le VB. Je n'arrive pas à trouver l'astuce pour enregistrer les modifications faites.
Mon projet concu par le VB6, et Access 2003, est constitué de :
1 Une fenêtre de saisie
2 Une Fenêtre de recherche, avec une DataGrid
3 Une fenêtre de modification
4 Un module
Mes codes sont comme suit :
---------------------------------------------------------------------------------------------------------
Sur le module
Option Explicit
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 & "\BDAgafruit.mdb"
End Sub
---------------------------------------------------------------------------------------------------------
Sur la fenêtre de recherche :
Private Sub Form_Load()
On Error Resume Next
Adodc1.ConnectionString = "Provider= Microsoft.Jet.OLEDB.4.0;Data Source=" &
App.Path & "\BDCompagnie.mdb;Persist security info=False"
SQLs = " SELECT * FROM TableauInfo"
Adodc1.RecordSource = SQLs
Set DataGrid1.DataSource = Adodc1
DataGrid1.AllowAddNew = False
DataGrid1.AllowUpdate = False
LblCount.Caption = "Nombre d'enregistrement =" & " " &
Adodc1.Recordset.RecordCount & " " & "Enregistrés"
Adodc1.Refresh
DataGrid1.Columns.Item(0).Button = True
End Sub
-----------------------------------------------------------------------------------------------
Private Sub TCin_Change()
If TNom.Text = "" And TPrenom.Text = "" And TCin.Text = "" And TCnss.Text = ""
Then
SQLs = " SELECT * FROM TableauInfo"
Adodc1.RecordSource = SQLs
Adodc1.Refresh
LblCount.Caption = "Nombre des enregistrements= " & " " &
Adodc1.Recordset.RecordCount & " " & "enregistrés"
Exit Sub
End If
SQLs = "SELECT * FROM TableauInfo where NOM like'" & TNom.Text & "%'And PRENOM
like'" & TPrenom.Text & "%'And CIN like'" & TCin.Text & "%'And CNSS like'" &
TCnss.Text & "%'"
Adodc1.RecordSource = SQLs
Adodc1.Refresh
LblCount.Caption = "Nombre des enregistrements= " & " " &
Adodc1.Recordset.RecordCount & " " & "enregistrés"
DataGrid1.Columns.Item(0).Button = True
End Sub
-------------------------------------------------------------------------------------------------------------
Private Sub TCnss_Change()
If TNom.Text = "" And TPrenom.Text = "" And TCin.Text = "" And TCnss.Text = "" Then
SQLs = " SELECT * FROM TableauInfo"
Adodc1.RecordSource = SQLs
Adodc1.Refresh
LblCount.Caption = "Nombre des enregistrements= " & " " &
Adodc1.Recordset.RecordCount & " " & "enregistrés"
Exit Sub
End If
SQLs = "SELECT * FROM TableauInfo where NOM like'" & TNom.Text & "%'And
PRENOM like'" & TPrenom.Text & "%'And CIN like'" & TCin.Text & "%'And CNSS like'" &
TCnss.Text & "%'"
Adodc1.RecordSource = SQLs
Adodc1.Refresh
LblCount.Caption = "Nombre des enregistrements= " & " " &
Adodc1.Recordset.RecordCount & " " & "enregistrés"
DataGrid1.Columns.Item(0).Button = True
End Sub
----------------------------------------------------------------------------------------------------
Private Sub TNom_Change()
If TNom.Text = "" And TPrenom.Text = "" And TCin.Text = "" And TCnss.Text = "" Then
SQLs = " SELECT * FROM TableauInfo"
Adodc1.RecordSource = SQLs
Adodc1.Refresh
LblCount.Caption = "Nombre des enregistrements= " & " " &
Adodc1.Recordset.RecordCount & " " & "enregistrés"
Exit Sub
End If
SQLs = "SELECT * FROM TableauInfo where NOM like'" & TNom.Text & "%'And
PRENOM like'" & TPrenom.Text & "%'And CIN like'" & TCin.Text & "%'And CNSS like'" &
TCnss.Text & "%'"
Adodc1.RecordSource = SQLs
Adodc1.Refresh
LblCount.Caption = "Nombre des enregistrements= " & " " &
Adodc1.Recordset.RecordCount & " " & "enregistrés"
DataGrid1.Columns.Item(0).Button = True
End Sub
-----------------------------------------------------------------------------------------------------
Private Sub TPrenom_Change()
If TNom.Text = "" And TPrenom.Text = "" And TCin.Text = "" And TCnss.Text = "" Then
SQLs = " SELECT * FROM TableauInfo"
Adodc1.RecordSource = SQLs
Adodc1.Refresh
LblCount.Caption = "Nombre des enregistrements= " & " " &
Adodc1.Recordset.RecordCount & " " & "enregistrés"
Exit Sub
End If
SQLs = "SELECT * FROM TableauInfo where NOM like'" & TNom.Text & "%'And
PRENOM like'" & TPrenom.Text & "%'And CIN like'" & TCin.Text & "%'And CNSS like'" &
TCnss.Text & "%'"
Adodc1.RecordSource = SQLs
Adodc1.Refresh
LblCount.Caption = "Nombre des enregistrements= " & " " &
Adodc1.Recordset.RecordCount & " " & "enregistrés"
DataGrid1.Columns.Item(0).Button = True
End Sub
--------------------------------------------------------------------------------------------------------
Sur DataGrid1 ( Conçue sur la feuille de recherche)
Private Sub DataGrid1_ButtonClick(ByVal ColIndex As Integer)
On Error GoTo xxx
Select Case ColIndex
Case 0
SQLs = "SELECT * FROM TableauInfo where CIN='" & DataGrid1.Text & "'"
End Select
FModification.Show
FModification.TNom = FRecherche.DataGrid1.Columns.Item(0)
FModification.TPrenom = FRecherche.DataGrid1.Columns.Item(1)
FModification.TCin = FRecherche.DataGrid1.Columns.Item(2)
FModification.TCnss = FRecherche.DataGrid1.Columns.Item(3)
Unload Me
xxx:
End Sub
---------------------------------------------------------------------------------------------------------
Sur La fenêtre de modification
Option Explicit
Dim CIN As String
------------------------------------------------------------------------------------------------------
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
If CIN = TCin Then
GoTo Dont_Check:
End If
SQLs = " Select * from TableauInfo where NOM='" & TNom & "' and PRENOM= '" &
TPrenom & "' and CIN='" & TCin & "' and CNSS='" & TCnss & "'"
If Rss.State = adStateOpen Then Rss.Close
Rss.Open SQLs, DB, adOpenKeyset, adLockPessimistic
If Rss.EOF Then
GoTo OkReplace:
Else
MsgBox "Attention ce numéro existe déjà", vbCritical + vbMsgBoxRight, "Erreur
de saisie"
Exit Sub
End If
OkReplace:
'---------------------------
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.Replace
If Not TNom.Text = "" Then RS![NOM] = TNom.Text
If Not TPrenom.Text = "" Then RS![PRENOM] = TPrenom.Text
If Not TCin.Text = "" Then RS![CIN] = TCin.Text
If Not TCnss.Text = "" 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
--------------------------------------------------------------------------------------------------
Merci de m'aider pour pouvoir enregistrer mes modifications, et éventuellement de corriger mes codes.
Bonjour,
A voir également:
- Problème d'enregistrement des modifications
- Suivi des modifications word - Guide
- Enregistrement mp3 gratuit - Télécharger - Streaming audio
- Telecharger studio d'enregistrement rap - Télécharger - Édition & Montage
- Enregistrement - Guide
- Comment couper un enregistrement audio - Guide
8 réponses
Bonjour,
ce que je vous avais deja corrige dans un post precedant:
If Not TNom.Text = "" Then RS![NOM] = TNom.Text
If Not TPrenom.Text = "" Then RS![PRENOM] = TPrenom.Text
If Not TCin.Text = "" Then RS![CIN] = TCin.Text
If Not TCnss.Text = "" Then RS![CNSS] = TCnss.Text
code corrige:
si il y a autre chose a regarder, il faudrait mettre le projet complet a dispo
A+
ce que je vous avais deja corrige dans un post precedant:
If Not TNom.Text = "" Then RS![NOM] = TNom.Text
If Not TPrenom.Text = "" Then RS![PRENOM] = TPrenom.Text
If Not TCin.Text = "" Then RS![CIN] = TCin.Text
If Not TCnss.Text = "" Then RS![CNSS] = TCnss.Text
code corrige:
RS.AddNew RS![NOM] = Text1 RS![PRENOM] = Text2 RS![CIN] = Text3 RS![CNSS] = Text4 'Pour actualiser les enregistrements RS.Update
si il y a autre chose a regarder, il faudrait mettre le projet complet a dispo
A+
Bonjour,
Mettez a dispo le projet complet sur https://www.cjoint.com/ pour travailler avec votre projet. Passez par les messages prives si vous avez une rétissance quelconque.
A+
Mettez a dispo le projet complet sur https://www.cjoint.com/ pour travailler avec votre projet. Passez par les messages prives si vous avez une rétissance quelconque.
A+
Salut, c'est déjà fait, le lien est : http://cjoint.com/?0BCxyyoEL5l , toute la structure de mon premier projet , même désordonée, est là.
Merci pour votre aide.
Merci pour votre aide.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Salut,
Vous pourrez toujours m'apprendre comment t'envoyer ce projet par le site Cjoint.com
Merci à vous
Vous pourrez toujours m'apprendre comment t'envoyer ce projet par le site Cjoint.com
Merci à vous
Bonjour,
Vous compressez le repertoire de votre projet avec le envouer vers dossier compresse de windows.
allez sur l'accueil ce ci-joint
parcourir pour trouver le dossier compresse
double click sur le dit dossier
click sur creer le lien
si IEx click sur copier le lien
si FIREFOX click droit sur le lien, copier l'adresse du lien
CCM copier le lien dans votre post
A+
Vous compressez le repertoire de votre projet avec le envouer vers dossier compresse de windows.
allez sur l'accueil ce ci-joint
parcourir pour trouver le dossier compresse
double click sur le dit dossier
click sur creer le lien
si IEx click sur copier le lien
si FIREFOX click droit sur le lien, copier l'adresse du lien
CCM copier le lien dans votre post
A+
Merci une autre fois
Si ce n'est que cela, vous avez le reponse dans le post precedent, vous avez oublie entre autre RS.AddNew et If Not TNom.Text = "" ca ne marche pas.
A+