Probleme de suppression enregistrement [Résolu]

Signaler
Messages postés
9
Date d'inscription
samedi 12 juin 2004
Statut
Membre
Dernière intervention
3 mai 2007
-
Messages postés
4822
Date d'inscription
lundi 11 novembre 2002
Statut
Membre
Dernière intervention
15 novembre 2016
-
Bonjour a tous.
Voila j'ai un gros souci, je n'arrive plus a supprimer un eregistrement de ma base de donnéé.
J'ai l'erreur 3021 (BOF ou EOF = true ou l'enregistrement actuel a ete supprimé)?
Alors que ça marchait très bien avant.
Je precise que la base est pleine.
 Voici un bout de mon code:

Private Sub Form_Load()
 
 
 
         ListView1.ColumnHeaders.Clear
        ListView1.ColumnHeaders.Add , , "Raison Sociale", (ListView1.Width * (20 / 40)), lvwColumnLeft
       
        ListView1.ColumnHeaders.Add , , "Date", (ListView1.Width * (5 / 22)), lvwColumnLeft
        ListView1.ColumnHeaders.Add , , "N° Devis", (ListView1.Width * (5 / 22)), lvwColumnLeft


 


       
        bd.Provider = "Microsoft.jet.oledb.4.0"
        bd.ConnectionString = App.Path & "\devis2.mdb"
        bd.Open
       
        cmdado.ActiveConnection = Me.bd
        cmdado.CommandText = "select * from devis"
       
        tb.CursorLocation = adUseClient
        tb.CursorType = adOpenDynamic
        tb.LockType = adLockPessimistic
        tb.Open cmdado
       
       
        cmdado.CommandText = "select * from devis"
        tb.Requery
       
     


     ComboRecherchePar.AddItem ("Raison Sociale"), 0


ComboRecherchePar.AddItem ("OT"), 1


ComboRecherchePar.ListIndex = 0


     
   Call load_list
   Call affiche_0
   End Sub

Et pour supprimer un enregistrement.

Private Sub CommandSupprimer_Click()
  msg1 = MsgBox("Etes-vous sûr de vouloir supprimer la sélection ?", vbQuestion + vbYesNo)
                
      If msg1 = vbYes Then
       
          If (tb.RecordCount > 0) Then
         
            tb.Delete
           
            tb.Update
           
            tb.Requery
           
            Call load_list
           
           
          End If
     End If


End Sub

Merci d'avance.

Stern

7 réponses

Messages postés
4822
Date d'inscription
lundi 11 novembre 2002
Statut
Membre
Dernière intervention
15 novembre 2016
14
Salut,

Effectivement AmalVb à raison, fais une requête qui va chercher dans ta base le devis à effacer :
cmdado.CommandText "DELETE * FROM devis WHERE Tonchamp '" & ComboRecherchePar.text & "'"

A+
Exploreur

 
Messages postés
20
Date d'inscription
mardi 13 décembre 2005
Statut
Membre
Dernière intervention
3 mai 2007

enleve   tb.Update
la suppression n'est pas besoin d'update
Messages postés
9
Date d'inscription
samedi 12 juin 2004
Statut
Membre
Dernière intervention
3 mai 2007

Salut amalVB et merci pour la reponse.
Malheuresement ça ne resoud pas mon probleme.

une petite precision: si j'efface la DB et que j'en creer une autre j'ai toujours le meme probleme.
je peux enregistrer mais pas supprimer.

J'ai aussi la meme erreur lorsque je veux modifier un enregistrement. existant ???

stern
Messages postés
20
Date d'inscription
mardi 13 décembre 2005
Statut
Membre
Dernière intervention
3 mai 2007

salut sternisterne,
essai de mettre une requete qui cherche l'enregistrement à modifier ou à supprimer avant de modifier ou supprimer
Messages postés
1883
Date d'inscription
samedi 1 avril 2006
Statut
Membre
Dernière intervention
20 novembre 2007
2
Bonsoir,
l' erreur vient du fait que tb.CommandText
doit être avant tb.Open
Messages postés
9
Date d'inscription
samedi 12 juin 2004
Statut
Membre
Dernière intervention
3 mai 2007

Merci à vous.

ça remarche.

stern.
Messages postés
4822
Date d'inscription
lundi 11 novembre 2002
Statut
Membre
Dernière intervention
15 novembre 2016
14
De rien...

A+
Exploreur