Lors de l'ajout d'un abonnement, j'ai essayé de mettre un numéro d'abonnement qui existe déjà pour voir si le code marche bien. En faisant cela j'ai le msg "Cet abonnement existe déjà", jusque là tout va bien mais après avoir affiché ce msg il m'affiche un autre msg "Modifications non effectuées : risques de doublons dans champs index, clé principale ou relation interdisant les doublons. Modifiez les données des champs contenant les doublons, enlevez ou redéfinissez les doublons et recommencez". Je ne veux pas qu'il m'affiche ce msg. Que faire?

Voici le code :

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
 
Imports System.Data.OleDb
Imports System.Data
Imports System.Data.OleDb.OleDbType
 
Public Class Frmajoutab
    Public sql As String
 
    Private Sub Frmajoutab_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Me.FournisseurTableAdapter.Fill(Me.MarchesDataSet.Fournisseur)
    End Sub
 
    Private Sub Btnvalider_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Btnvalider.Click
        Dim cn As New OleDb.OleDbConnection
        Dim command As OleDbCommand = New OleDbCommand("insert into Abonnement (Num_abonnement, Lib_abonnement, Date_debut_ab, Date_fin_ab, Montant_ab, Num_frs, Nom_frs) values (@numab, @libab, @Dates, @Datef, @montantab, @numfrs, @Cbxfrs) ")
 
        If Txtnumab.Text = "" Or Txtlibab.Text = "" Or Txtmontantab.Text = "" Or Txtnumfrs.Text = "" Then
            MsgBox("Vous devez saisir des valeurs non nulles.", MsgBoxStyle.Critical + MsgBoxStyle.OkOnly)
            Exit Sub
        End If
        sql = "select count * from Abonnement where Num_abonnement ='" & Txtnumab.Text & "'"
        command.Parameters.Add(New OleDbParameter("@numab", OleDbType.Char, 50))
        command.Parameters("@numab").Value = Txtnumab.Text
        command.Parameters.Add(New OleDbParameter("@libab", OleDbType.Char, 255))
        command.Parameters("@libab").Value = Txtlibab.Text
        command.Parameters.Add(New OleDbParameter("@dates", OleDbType.Date))
        command.Parameters("@dates").Value = CType(Dates.Text, Date)
        command.Parameters.Add(New OleDbParameter("@datef", OleDbType.Date))
        command.Parameters("@datef").Value = CType(Datef.Text, Date)
        command.Parameters.Add(New OleDbParameter("@montantab", OleDbType.Decimal, 15))
        command.Parameters("@montantab").Value = MonFormat(Txtmontantab.Text, 3)
        command.Parameters.Add(New OleDbParameter("@numfrs", OleDbType.Integer, 10))
        command.Parameters("@numfrs").Value = CInt(Txtnumfrs.Text)
        command.Parameters.Add(New OleDbParameter("@cbxfrs", OleDbType.Char, 50))
        command.Parameters("@cbxfrs").Value = Cbxfrs.Text
 
        Try
            cn.ConnectionString = "Provider = Microsoft.Jet.OLEDB.4.0; Data Source=C:\Documents and Settings\Administrateur.STANDARD\Mes documents\Projet Budget\Budget\Budget\Marches.mdb"
            cn.Open()
            command.Connection = cn
            command.ExecuteNonQuery()
            MsgBox("Votre opération a été effectuée avec succès.", MsgBoxStyle.Information + MsgBoxStyle.OkOnly)
        Catch ex As Exception
            MsgBox("Le numéro d'abonnement existe déjà")
            MessageBox.Show(ex.Message)
        Finally
            If Not (cn Is Nothing) Then
                cn.Close()
            End If
        End Try
        Me.Close()
        Frmprincipale.Show()
    End Sub
End Class