retourner un message dans le cas d'une saisie double - VB/VBA/VBS - Programmation
Marsh Posté le 13-05-2008 à 10:21:27
tu ouvre un nouveau recordset du genre "Select * from table where clé=numcompte"
puis si le recordcount > 0; ça veux dire que l'enregistrement existe déjà.
Marsh Posté le 11-05-2008 à 15:30:49
Bonjour à tout le monde;
j'utilise ce code pour insérer dans la table,
le champs NUM_COMPTE est une clé de la table.
je veux retourner un message en cas de saisie d'un élément qui existe déja
*****************************
Public Sub AddNewCompte()
Dim cnn1 As ADODB.Connection
Dim rstCompte As ADODB.Recordset
Dim strCnn As String
Dim strCodeCompte As String
Dim strLibelleCompte As String
Dim booRecordAdded As Boolean
' Open a connection.
Set cnn1 = New ADODB.Connection
strCnn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=Compta_v4.mdb;Persist Security Info=False"
cnn1.Open strCnn
' Open COMPTE table.
Set rstCompte = New ADODB.Recordset
rstCompte.CursorType = adOpenKeyset
rstCompte.LockType = adLockOptimistic
rstCompte.Open "COMPTE", cnn1, , , adCmdTable
' Get data from the user.
strCodeCompte = Trim(TxtCodeCompte)
strLibelleCompte = Trim(txtIntitule)
' Proceed only if the user actually entered something
' for both the CodeCompte and LibelleCompte.
If (strCodeCompte <> "" ) Then
rstCompte.AddNew
rstCompte!NUM_COMPTE = strCodeCompte
rstCompte!LIBELLE = strLibelleCompte
rstCompte.Update
booRecordAdded = True
' Show the newly added data.
MsgBox "New record: " & rstCompte!NUM_COMPTE & " " & _
rstCompte!LIBELLE & " "
Else
MsgBox "SVP entez le numéro du compte, " & _
" et l'intitulé du compte"
End If
' Delete the new record because this is a demonstration.
'cnn1.Execute "DELETE FROM employee WHERE emp_id = '" & strCodeCompte & "'"
rstCompte.Close
cnn1.Close
End Sub
**************************