Newsgroup: it.comp.appl.access
Titolo: errore su cancellazione ultimo record

Buonasera.
Ho una form per l'emissione delle fatture e una subform per l'inserimento degli articoli da fatturare.
Se elimino un'articolo che non sia l'ultimo, tutto ok.
Quando invece elimino l'ultimo articolo, mi appare il seguente messaggio:
Impossibile trovare alcun record nella tabella 'tblArticoli' contenente campi 'IdArticolo' corrispondente alla chiave.
Da cosa dipende?
Cosa devo modificare?
Grazie.
Giuseppe


Ipotizzo.
Forse dopo l'eliminazione viene eseguita una query di ricerca con IdArticolo = qualcosa e che non trova.
 
-- 
Greg


gia
oppure l' impiccio ha a che fare con l' "ordine", in qualche modo 


Penso sia il requery.
In pratica ho su evento elimina
 
DoCmd.SetWarnings False
DoCmd.RunCommand acCmdSelectRecord
DoCmd.RunCommand acCmdDeleteRecord
Forms!frmfatture!Elenco232.Requery
Forms!frmfatture!Elenco232.SetFocus
 
Ho provato ad invertire le ultime due righe e non è cambiato nulla.
Ho inserito prima del requery
Forms!frmfatture!Elenco232.ItemData (0)
e l'errore non esce più ma il record nell'elenco non sparisce.
come faccio ad avere entrambi i risultati?
Grazie

 Grazie
 
Ciao,
come avviene l'eliminazione di cui parli? (l'utente seleziona il record nel subform e preme 'Del' sulla tastiera o usi una procedura fatta da te o cosa)
Elenco232 è il subform?
 
Mat.


Ciao Mat.
La subform si chiama smrighefattura, mentre la casella di riepilogo elenco232.
Seleziono dalla casella di riepilogo l'ultimo record con
Forms!frmfatture!smrighefattura.SetFocus
Me.smrighefattura.SetFocus
Me.smrighefattura.Form![num riga].SetFocus
DoCmd.FindRecord Me![Elenco232]
Forms!frmfatture!smrighefattura!IdArticolo.SetFocus
 
e lo elimino cliccando sul pulsante elimina della subform con il codice postato nel post precedente.
Se è un record intermedio non ci sono problemi, se è l'unico o l'ultimo mi dà quel messaggio.
Giuseppe


Ciao Giuseppe,
io mica l'avevo capito che c'era una casella di riepilogo in gioco oltre al subform.
 
Le righe del codice che hai riportato:
Forms!frmfatture!smrighefattura.SetFocus 
Me.smrighefattura.SetFocus 
ho la netta impressione che facciano la stessa cosa, potresti lasciare solo la seconda (il problema non è comunque qui).
 
Nel post precedente dici che dopo aver inserito la riga
Forms!frmfatture!Elenco232.ItemData (0) 
l'errore non appare più ma la riga non "sparisce": intendi che rimane in elenco232, nel subform, oppure non avviene proprio l'eliminazione?
Cosa volevi ottenere inserendola in quel punto del codice?
 
Come ipotizzava Greg nella sua prima risposta: c'è magari altro codice che viene eseguito dopo l'eliminazione (magari sull'evento Current del subform) che fa riferimento a idArticolo?
 
Ultima domanda, il messaggio d'errore appare in un punto preciso fermando l'esecuzione del codice (se si dove?) oppure è un messaggio di avviso di Access?
 
Tutte queste domande per capire un po' la sequenza degli eventi che portano all'errore, più informazioni dai più e facile venire a capo della questione.
 
Ciao
Mat.

 Forms!frmfatture!Elenco232.SetFocus
 
mh
 
Un passo per volta. Prova prima a fare solo : 
 
DoCmd.SetWarnings False
DoCmd.RunCommand acCmdSelectRecord
DoCmd.RunCommand acCmdDeleteRecord
dovents 
 
E vai direttamente a vedere se nella tabella il record 
è scomparso (direttamente : aprendo la tabella. Non con
la maschera) 
 
Poi mi dici. Ok ? 
 
Intanto un altra domanda : la maschera si carica con una
query specifica ? Se si me la scrivi per favore ? Famme 
'npo vède ...

 DoCmd.RunCommand acCmdDeleteRecord
nella tabella il record risulta cancellato, mentre nella casella di riepilogo non facendo il requery appare ancora.
 
La maschera principale ha come origine la tabella tblfatture, mentre la sottomaschera ha come origine la tabella tblrighefatture.
La casella di riepilogo invece ha come origine diverse tabelle tra loro collegate.