46 messaggi dal 05 luglio 2004
secondo questa stringa che opera in un database access di un sito:

Set rs = oConn.Execute("DELETE commenti.*, discussioni.* FROM commenti LEFT JOIN discussioni ON commenti.idcommenti = discussioni.idcommenti WHERE commenti.idcommenti="&idcommenti)

vorrei eliminare da una tabelle uno ed un solo record ed "n" records da una tabella correlata. Perche questa query fatta non mi elimina nessun records?

l'unica situazione in cui elimina si verifica quando nella tabella correlata esiste un solo record correlato mentre se sono tanti records correlati ottengo il seguente errore:

Tipo di errore:
Microsoft JET Database Engine (0x80004005)
Record eliminato.
/jesina/intranet/eliminacommento.asp, line 15

potete aiutarmi?
MMmhh. che relazione hai stabilito tra le due tabelle? di solito in una situazione simile, cancellando il padre, seghi via i filgi (in base alle politiche di reazione sui record).

"This message was written using 100% recycled electrons"
118 messaggi dal 13 gennaio 2004
teomano ha scritto:
secondo questa stringa che opera in un database access di un sito:

Set rs = oConn.Execute("DELETE commenti.*, discussioni.* FROM commenti LEFT JOIN discussioni ON commenti.idcommenti = discussioni.idcommenti WHERE commenti.idcommenti="&idcommenti)

vorrei eliminare da una tabelle uno ed un solo record ed "n" records da una tabella correlata. Perche questa query fatta non mi elimina nessun records?

l'unica situazione in cui elimina si verifica quando nella tabella correlata esiste un solo record correlato mentre se sono tanti records correlati ottengo il seguente errore:

Tipo di errore:
Microsoft JET Database Engine (0x80004005)
Record eliminato.
/jesina/intranet/eliminacommento.asp, line 15

potete aiutarmi?



La query è sbagliata in quanto cancellando il codice di riferimento in commenti, non cancella piu i recod nella tabella discussioni.. in pratica dovresti dividere le query... eseguendole nell'ordine:

1)
Set rs = oConn.Execute("DELETE discussioni.* FROM discussioniWHERE discussioni.idcommenti="&idcommenti)

2)
Set rs = oConn.Execute("DELETE commenti.* FROM commenti WHERE commenti.idcommenti="&idcommenti)

in questo modo cancelli prima tutti i riferimeti e poi il riferimento stesso, chiaro???
Ciao
Modificato da f.bonacci il 19 settembre 2005 09.46 -

Punto Interrogativo

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.