Supprimer enregistrements BD sans affecter table liées... [Résolu]

Signaler
Messages postés
11
Date d'inscription
samedi 25 novembre 2000
Statut
Membre
Dernière intervention
22 octobre 2008
-
Messages postés
11
Date d'inscription
samedi 25 novembre 2000
Statut
Membre
Dernière intervention
22 octobre 2008
-
Bonjour à toutes et tous.

Je programme actuellement quelques fonctions en VBA, et je souhaite supprimer des enregistrements d'une table de ma base de données (access).

Je butte sur un soucis :
-comment supprimer les enregistrements d'un recordset dans la table courante, sans que cette suppression ne se répercute sur les tables liées ? J'ai bien tenté de jouer avec l'option "adAffectGroup" mais rien n'y fait !

Merci d'avance pour votre aide !!

Afin d'illustrer, voici un bout de code :
<hr />' connexion à la BD
   Set MaConnexion1 = New Connection
   MaConnexion1.Provider = "Microsoft.Jet.oledb.4.0"
   MaConnexion1.Open CStr(Application.Worksheets("DataBase").Cells(3, 4).Value)

' creation requete    
   Set MaRequete1 = New Recordset
   With MaRequete1
      .ActiveConnection = ConnexionDest      queryString "SELECT * FROM SeqAlgo WHERE SeqNom " & Chr(39) & SeqName & Chr(39) & " "
      .Open queryString, , adOpenDynamic, adLockPessimistic
   End With

'suppression de l'enreg, qui malgré moi, supprime aussi les enregistrements des tables liées
   Do While MaRequete1.EOF <> True           
      MaRequete1.Delete adAffectGroup
      MaRequete1.MoveNext
   Loop
   MaRequete1.Close

<hr />

2 réponses

Messages postés
7741
Date d'inscription
mercredi 1 septembre 2004
Statut
Membre
Dernière intervention
24 septembre 2014
36
Tu n'as que 2 cas possibles si tu as des tables liées.

Soit tu supprime un enregistrement dans une table, et tu supprime en cascade tous les enregistrements liés dans les tables liées,
Soit tu ne peux pas supprimer l'enregistrement tant qu'il existe des enregistrements liés. Autrement dit il faut commencer par supprimer les enregistrements liés avant de suprimer l'enregistrement.

Il ne peut pas (n'est pas conseiller d') en etre autrement sinon tu vas te retrouver avec des enregistrements orphelins te mettant le bordel dans la base et pouvant mener assez rapidement à une base corrompue pouvant entrainer la perte des données.

---- Sevyc64  (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #    http://aide-office-vba.monforum.com/index.php
Messages postés
11
Date d'inscription
samedi 25 novembre 2000
Statut
Membre
Dernière intervention
22 octobre 2008

Oki oki, merci bien pour ta réponse...