Problème d'enregistrement de données dans la base de données Access
Mbanze
-
Modifié le 1 mars 2020 à 18:08
vb95
Messages postés3417Date d'inscriptionsamedi 11 janvier 2014StatutContributeurDernière intervention20 mai 2023
-
19 mars 2020 à 18:24
Bonjour,
avec ce code ci-dessous, lorsque j'execute ça me renvoie un message genre " ce matricule existe déjà ", même si j'ai inséré un nouveau matricule dans le champ CmbMATRICULE,
merci pour votre aide
'Pour enregistrer les nouvelles données
Private Sub BtnENREGISTRER_Click(sender As Object, e As EventArgs) Handles BtnENREGISTRER.Click
If CmbMATRICULE.Text = Nothing Then
MsgBox("Vous devez definir un matricule !", MsgBoxStyle.Exclamation, "MATRICULE VIDE")
Exit Sub
End If
Dim Jm As Integer
Jm = 0
For S = 0 To Me.DataGridView1.RowCount - 2
If CmbMATRICULE.Text = Me.DataGridView1.Item(0, S).Value Then
Jm = 1
End If
Next
Try
cn.Open()
cmd.Connection = cn
cmd.CommandText = "insert into TBrecrus(Matricule,Nom,Postnom,Prenom,Sexe,LieuN,DateN,Photo) values ('" & CmbMATRICULE.Text & "','" & TxtNOM.Text & "','" & TxtPOSTNOM.Text & "','" & TxtPRENOM.Text & "','" & CmbSEXE.Text & "','" & CmbETATCIVIL.Text & "','" & Datepicker1.Value & "','" & CmbAGE.Text & "','" & CmbTAILLE.Text & "','" & CmbMOEURS.Text & "','" & CmbETUDESFAITES.Text & "','" & CmbPROVINCE.Text & "','" & CmbTERRITOIRE.Text & "','" & CmbSECTEUR.Text & "','" & TxtNOMPERE.Text & "','" & TxtNOMMERE.Text & "','" & PictureBox1.ImageLocation & "')"
cmd.ExecuteNonQuery()
cn.Close()
MessageBox.Show("Enregistré ", "Enregistrement", MessageBoxButtons.OK, MessageBoxIcon.Information)
ListSoldat("Select * From TBrecrus")
Annuler()
ListSoldat("Select * From TBrecrus")
Catch MATR As Exception
MessageBox.Show(" Ce matricule existe", "Information", MessageBoxButtons.OK, MessageBoxIcon.Information)
CmbMATRICULE.Focus()
End Try
cn.Close()
End Sub
A voir également:
Problème d'enregistrement de données dans la base de données Access
vb95
Messages postés3417Date d'inscriptionsamedi 11 janvier 2014StatutContributeurDernière intervention20 mai 2023165 Modifié le 19 mars 2020 à 18:26
Bonjour
Le Try Catch ne sert pas à voir si un matricule est déjà enregistré .
il sert uniquement en cas d'erreur dans ton code .
il faut que tu l'enlèves pour trouver l'erreur en déboguant en pas à pas
De plus quelle est l'utilité de ce bout de code ? Je pense qu'il doit parcourir tous les enregistrements pour vérifier si ce matricule existe déjà .
Dim Jm As Integer
Jm = 0
For S = 0 To Me.DataGridView1.RowCount - 2
If CmbMATRICULE.Text = Me.DataGridView1.Item(0, S).Value Then
Jm = 1
End If
Next
Et ici
ListSoldat("Select * From TBrecrus")
Annuler()
ListSoldat("Select * From TBrecrus")