VB:Problème d'ajout d'un tuple

VB:Problème d'ajout d'un tuple - VB/VBA/VBS - Programmation

Marsh Posté le 26-04-2007 à 14:21:58    

Bonjour, voila j'ai une application qui gère des associations.Pour ajouter une association dans une listview, il faut cliquer sur le bouton Nouveau qui raz tous les champs.Ensuite , je renseigne ces champs et j'appuie sur valider pour enregistrer:Le problème c'est qu'il m'affiche toujours "la référence existe déjà"Je ne sais pas pourquoi.
Voici le code que j'ai tapé:
 

Code :
  1. Private Sub cmdValider_Click()
  2. On Error GoTo erreur
  3.     'si nom et prénom non spécifier message et annulation de la procédure
  4.     If Trim(txtnum) = "" Then
  5.    
  6.         msg1 = MsgBox("Vous devez renseigner le champ 'Numéro'!", vbInformation + vbOKOnly)
  7.         txtnum.SetFocus
  8.        
  9.     'sinon ajout des données dans la B.D
  10.     Else
  11.    
  12.         'ajout dans la table
  13.         tb.AddNew
  14.        
  15.         tb.Fields(0) = txtnum.Text
  16.         tb.Fields(1) = txtasso.Text
  17.         tb.Fields(2) = txtTitre.Text
  18.         tb.Fields(3) = txtnom.Text
  19.         tb.Fields(4) = txtprenom.Text
  20.         tb.Fields(5) = txtad1.Text
  21.         tb.Fields(6) = txtad2.Text
  22.         tb.Fields(7) = txtville.Text
  23.         tb.Fields(8) = txtcp.Text
  24.         tb.Fields(9) = txtfixe.Text
  25.         tb.Fields(10) = txtmail.Text
  26. 'mise à jour de la table
  27.         tb.Update
  28.        
  29.         'chargement de la listview avec les nouvelles données de la table
  30.         'Call load_list
  31.        
  32.         msg1 = MsgBox("Données enregistrées !", vbInformation + vbOKOnly)
  33.        
  34. erreur:
  35.         Select Case Err.Number
  36.         Case -2147217887
  37.         MsgBox "La référence existe déja", vbCritical
  38.         tb.CancelUpdate
  39.         End Select
  40.        
  41.         'initialisation des boutons
  42.         cmdModifier.Enabled = False
  43.         cmdSupprimer.Enabled = False
  44.     End If
  45.    
  46. End Sub

Reply

Marsh Posté le 26-04-2007 à 14:21:58   

Reply

Marsh Posté le 26-04-2007 à 14:43:42    

Bonjour,
comme pour L3LADE, sortir avant l'étiquette Erreur:
Cordialement

Reply

Marsh Posté le 27-04-2007 à 12:49:37    

Il faut en effet mettre un "Exit sub" juste après :
 
msg1 = MsgBox("Données enregistrées !", vbInformation + vbOKOnly)
 
sinon, ton programme lit, quoi qu'il arrive, ce qui se trouve après "erreur:"

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed