Newsgroup: it.comp.appl.access
Titolo: eliminare record se incompleti

ciao a tutti
su di un pulsante di spostamento tra record della testata fattura
ho inserito questo codice
 
    DoCmd.SetWarnings False
    DoCmd.RunSQL "DELETE DISTINCTROW TbFatture.* FROM TbFatture " & _
    "LEFT JOIN DettaglioFatture ON TbFatture.IdFattura = 
DettaglioFatture.IdFattura " & _
    "WHERE (IdDettaglioFatture) Is Null OR (nMiaFattura) Is Null OR 
(DataMiaFattura) Is Null;"
    DoCmd.SetWarnings True
 
per elimanare eventuale record aggiunto senza dettagli, ma non č una buona 
soluzione.
grazie per qualche suggerimento. 
 
 

 grazie per qualche suggerimento.
Prima di eseguire un'ActionQuery (Delete) accertati che la Select query
equivalente sia editabile.
E comunque prova a togliere quel DISTINCTROW.
 
Bruno


ciao Bruno
e grazie
 
perchč devo togliere DISTINCTROW?
senza non esegue il delete.
Ho provato anche con undo da pulsante in questo modo
If Me!DettaglioFattura.Form.RecordsetClone.RecordCount = 0 Then
me.undo
End if
ma non funziona 
 
 

>>      DoCmd.SetWarnings True
 
Questa esegue il DELETE
 DoCmd.RunSQL "DELETE DISTINCTROW TbFatture.* FROM TbFatture " & _
     "LEFT JOIN DettaglioFatture ON TbFatture.IdFattura = 
DettaglioFatture.IdFattura " & _
     "WHERE (IdDettaglioFatture) Is Null OR (nMiaFattura) Is Null OR 
(DataMiaFattura) Is Null;"
     DoCmd.SetWarnings True
 
 
e questa no?
 DoCmd.RunSQL "DELETE TbFatture.* FROM TbFatture " & _
     "LEFT JOIN DettaglioFatture ON TbFatture.IdFattura = 
DettaglioFatture.IdFattura " & _
     "WHERE (IdDettaglioFatture) Is Null OR (nMiaFattura) Is Null OR 
(DataMiaFattura) Is Null;"
     DoCmd.SetWarnings True
 
Bruno

 DoCmd.RunSQL "DELETE TbFatture.* FROM TbFatture " & _ "LEFT JOIN 


Piero expressed precisely :
 
Così a distanza, senza provare la query, non so che dirti.
Potresti condividere il file?
 
Bruno

 ;
 
Noto 2 cose strane nella query sopra:
 
1°
[cit]  (IdDettaglioFatture) Is Null  [/cit]
se è un id inteso come Key  come puo essere null ??
forse non si tratta della Key della tabella ????
 
Allora dicci quali sono le Key di entrambe le tabele
 
 
2°
Per quel che mi ricordo ( potro sbagliare ) le query
con il DISTINCTROW  sono rigorosamente in sola lettura
alla stessa stregua delle query con il GROUP BY
A parer mio NON puoi eliminare nulla
 
 
Dacci dei dettagli in piu
 
,

GROUP BY A parer mio NON puoi eliminare nulla
 
io invece senza non elimino ma con DISTINCTROW si!
 
Saluti
 
 
 

> io invece senza non elimino ma con DISTINCTROW si!
 
 
Si,  ho detto una "scemata"   in effetti ho verificato anch'io che il
DELETE DISTINCTROW funziona   ( non si finisce mai di imparare )
 
 
Pero se ci dici qualcosa in piu delle tabelle 
riuscamo a rispondere alla tua domanda
 
 

tua domanda
 
ho fatto in questo modo:
su prima di aggiornare della maschera ho inserito
 
    If IsNull(Me!nMiaFattura) Then 'per evitare la domanda "Salvare le 
modifiche?"  anche per la sottomaschera
        If MsgBox("Salvare le modifiche?", vbYesNo, "Salvare?") = vbNo Then
            Me.Undo 'annulla tutte le modifiche nel record
            Cancel = True 'evita successivi eventi
        End If
    End If
 
ma se faccio "No"
mi da l'errore "Nessun record corrente"