> ... agganciare una tabella ad una maschera e di aggiornare i campi collegati cancellando il record attuale con DELETE * e aggiungendo il record con INSERT ...
> 2) lancia delete * from tabella;
> 3) lancia insert into tabella select (1 solo record);
> 4) infine requery / refresh della form , mi aspetto che venga visualizzato l'unico record appena inserito.
> Il problema è che nel punto 4) esce l'errore "Errore di run-time '3167' Record eliminato".
Grazie lo stesso ho risolto facendo uso della buona vecchia chiave del record:
inserire il record con una chiave
aprire la Form puntando alla chiave
cancellare tutti i record di tabella diversi dal valore chiave.
DoCmd.RunSQL _
"INSERT INTO Ordine" _
& " SELECT * FROM qOrdineRead" _
& " WHERE ID='" & sChiave & "'"
DoCmd.OpenForm "Form", , , "ID='" & sChiave & "'"
DoCmd.RunSQL "DELETE * FROM Ordine WHERE ID<>'" & sChiave & "'"
Forse la soluzione è naive ma permette di risparmiare molto tempo rispetto ad alimentare una maschera non associata con assegnazioni campo per campo.