bouv
Messages postés1411Date d'inscriptionmercredi 6 août 2003StatutMembreDernière intervention 3 mars 2019
-
13 déc. 2005 à 15:25
bouv
Messages postés1411Date d'inscriptionmercredi 6 août 2003StatutMembreDernière intervention 3 mars 2019
-
13 déc. 2005 à 16:51
Salut,
J'ai un petit pb de requete. J'ai en fait 2 tables liés par une jointure.
MaMere et MaTableFille
MaTableFille.Index est lié à MaTableMere.Index
Dans MaTableMere le champs index est ma clé primaire.
Donc impossible de supprimer un enregistrement dans MaTableMere s'il est utilisé par MaTableFille.
Je souhaite appurer une base en supprimant tout les enregistrements de MaTableMere qui ne sont pas liés à MaTableFille.
Existe-t-il une requette qui fasse cela automatiquement ?
Sinon je suis parti sur ce code :
PS : TAB_CRITERE3 est MaTableMere et TAB_CRITERE4 est MaTableFille
SQL = "SELECT * FROM TAB_CRITERE"
Set rs = New ADODB.Recordset
Call rs.Open(SQL, BaseSave, adOpenDynamic, adLockOptimistic)
Do While Not rs.EOF
On Error Resume Next
Call rs.Delete
Err.Clear
Call rs.Update
Call rs.MoveNext
Loop
Le On Error Resume Next me permet de sauter les erreurs liées au enregistrement utilisé par ma table Fille. Cependant, chose bizarre, le code ne sort jamais de la boucle. Et pour cause, le rs.MoveNext ne fonctionne plus. Je reste donc toujours sur le même enregistrement