Newsgroup: it.comp.appl.access
Titolo: Eliminare record in Sottomaschera

Salve.
 
C'è qualcuno che mi può aiutare con Access?
 
Ho un problema ad ELIMINARE I RECORD in una Sottomaschera.
 
Mi spiego meglio.
 
Vi faccio l'esempio con le Tabelle Clienti, Ordini e Dettagli Ordini del
database Northwind che è incluso con Access così potete anche provare
direttamente.
 
Creo una Maschera inserendoci i campi della Tabella Clienti, quelli della
Tabella Ordini e quelli della Tabella Dettagli Ordini e così mi usciranno
sopra sopra i dati del Cliente e poi la Sottomaschera degli Ordini e più
giù la Sottomaschera dei Dettagli Ordini.
 
Ah dimenticavo. Per quanto riguarda le relazioni, la Tabella Clienti è
collegata alla Tabella Ordini attraverso il campo IDClienti e la Tabella
Ordini con la Tabella Dettagli Ordini attraverso il campo IDOrdini e tutte
e due con una relazione uno a molti, con Integrità Referenziale, Aggiorna
campi ed Elimina Record correlati a catena.
 
Quando apro la maschera se voglio eliminare un Cliente funziona tutto,
cioè mi elimina anche gli Ordini collegati al cliente e i Dettagli degli
Ordini. Se voglio eliminare dei record nella Sottomaschera Dettagli Ordini
funziona tutto. Se invece voglio eliminare un record nella Sottomaschera
degli Ordini mi si blocca Access.
 
Come mai? Ho provato tutte le combinazioni possibili a togliere e inserire
Integrità Referenziale, Aggiorna campi e Elimina Record correlati a catena
ma si blocca sempre.
 
Siccome sono all'inizio con Access e non conosco come si scrivono le
funzioni di VB chiedo a voi esperti se potete darmi una mano possibilmente
senza scrivere codice al massimo qualche Macro, se poi è necessario va
bene lo stesso.
 
GRAZIEEEEEE!!!!!!!!!!!!!
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 GRAZIEEEEEE!!!!!!!!!!!!!
--
Roberto
---------------------------------------------
il Sito Comune di it.comp.appl.access:
http://www.sitocomune.com
---------------------------------------------

Ciao Roberto.
Grazie per avermi risposto.
Allora per blocco di Access intendo dire che quando cerco di eliminare un
record della Sottomaschera degli Ordini mi esce la clessidra e si freeze
Access e solo con Ctrl-Alt-Canc riesco a chiudere Access e a riaprirlo.
Per quanto riguarda le due relazioni sono "uno a molti" e ho provato a
mettere e togliere le varie opzioni Integrità Referenziale, Aggiorna campi
ed Elimina Record correlati a catena. Però niente da fare.
Siccome credo che anche tu hai Access e il Database di Northwind, se non
ti scoccio, puoi provare a fare una maschera con i campi delle tre tabelle
e cioè Clienti, Ordini e Dettagli Ordini e poi provare a cancellare un
record della Sottomaschera degli Ordini?
Così vediamo se il problema è solo il mio oppure è proprio così.
Ciaooooooo e GRAZIEEEEEEEEEEEE!!!!!!!!



Se fai riferimento a Northwind ed in particolare alla maschera Ordini
cliente, non riesci ad eliminare i record ordini dalla sottomaschera
Sottomaschera Ordini cliente 1 perché sia la maschera Ordini cliente che la
sottomaschera Sottomaschera Ordini cliente 1 sono di sola lettura (hanno
impostato a No le proprietà Consenti modifiche, Consenti eliminazioni,
Consenti aggiunte, ed Inserimento dati) e quindi Access giustamente non ti
consente l'eliminazione dei record a prescindere da come sono state messe in
relazione tra di loro le tabelle; Imposta a Si la proprietà Consenti
eliminazioni e vedrai che riuscirai a cancellare i record.


Ciao Roberto!
Ho provato anche a modificare quei NO in SI nelle Maschere e Sottomaschere
che hai detto tu ma si blocca lo stesso.
Comunque, per favore, se hai la possibilità di aprire il Database
Northwind, fai una nuova maschera all'interno di Northwind con i campi
delle tre tabelle e cioè Clienti, Ordini e Dettagli Ordini in modo che ti
usciranno sopra i Clienti, più giù la Sottomaschera degli Ordini e ancora
più giù la Sottomaschera dei Dettagli Ordini e poi infine prova a
cancellare un record della Sottomaschera degli Ordini?
Prima di rispondermi devi prima provare ad eliminare un record nella
Sottomaschera degli Ordini che hai appena creato e vedi se si blocca
oppure va tutto liscio.
Ciaooo e scusami se ti ho scritto in privato ma l'ho fatto solo per essere
sicuro che tu leggessi il messaggio.
Ancora grazie!!!!!!!!!!!


 Ancora grazie!!!!!!!!!!!
Non c'è bisogno di fare alcuna prova.
Le tabelle Ordini e Dettagli ordini del database Northwind sono fra di loro
in relazione uno-a-molti  in base ai rispettivi campi  IDOrdine; per tale
relazione è stata applicata l'integrità referenziale, ma (al contrario di
quello che tu sostenevi) NON E' STATA ABILITATA l'opzione Elimina record
correlati a catena , quindi è normale che Access non ti faccia cancellare
gli ordini per i quali esistono record correlati nella tabella Dettagli
ordini. Dovrai prima cancellare i record delle tabella Dettaglio ordini per
poter poi cancellare il relativo record ordine.
Insomma occorre sia che l'opzione in questione sia abilitata e sia che le
maschere e le sottomaschere siano abilitate a cancellare record.
Se guardi bene in nessuna relazione del database è stata attivata lìopzione
Elimina record correlati a catena.
--
Roberto
---------------------------------------------
il Sito Comune di it.comp.appl.access:
http://www.sitocomune.com
---------------------------------------------
Imposta tale

Roberto per vedere se funziona devi purtroppo solo provare a creare quella
benedetta maschera altrimenti ti faccio perdere solo del tempo.
Ti ripeto io ho provato anche a impostare le opzioni Elimina e Aggiorna
Campi collegati a catena e non và.
Mi sembra troppo strano che solo i record della sottomaschera degli ordini
non si possono eliminare in modo facile.
Ciao e grazie ancora!!!!


 Ciao e grazie ancora!!!!
--


ROBEEEERTOOOOOOOOOOOO  SEIIIIIIIII  GRANDEEEEEEEE!!!!!!!!!!!!!
ROBEEEERTOOOOOOOOOOOO  SEIIIIIIIII  GRANDEEEEEEEE!!!!!!!!!!!!!
ROBEEEERTOOOOOOOOOOOO  SEIIIIIIIII  GRANDEEEEEEEE!!!!!!!!!!!!!
ROBEEEERTOOOOOOOOOOOO  SEIIIIIIIII  GRANDEEEEEEEE!!!!!!!!!!!!!
EVVIVAAAAAAAAAAAAAA EVVIVAAAAAAAAA!!!!!!!!!!!!
Finalmente FUNZIONAAAAAA!!!!!!!!!!!!!
Ho rifatto la Maschera come hai detto tu e finalmente mi permette di
eliminare i record degli Ordini.
Forse io sbagliavo nel creare la maschera e sottomaschere. Boooooooo!!!!!!!
Io pensavo che per creare una Maschera con le sottomaschere bastava andare
su creazione guidata prendere i campi di tutte e tre le tabelle e cioè
Clienti, Ordini e Dettagli Ordini e mi creava la Maschera principale con
le due sottomaschere. Ho anche riprovato e così non và!!!!!
Invece creando la maschera come mi hai detto tu funziona tutto.
Però Roberto rifacendo le modifiche come mi hai detto nella seconda parte
del messaggio (A, B, C, ecc.) se vado ad eliminare un record nella
Sottomaschera Ordini cliente 1 comunque si blocca.
Comunque va bene così. L'importante è che abbiamo trovato un modo che
funziona.
Roberto non sò come ringraziarti e scusami per tutto il tempo che ti ho
fatto perdere.
Spero di risentirci.
Ciaooooooo e grazie ancora!!!!!!!!



--


Roberto HO SCOPERTO IL PROBLEMA.
Era il mio Access.
Ad un certo punto non mi ha permesso neanche di fare una semplice maschera
e allora mi è venuto il dubbio. Ho rinstallato Office 2000 però il
problema non l'ho risolto, allora l'ho di nuovo disintallato e ci ho messo
l'Office XP e da allora funziona tutto.
Ma perchè Access fà questi scherzi.
Anche un'altra volta mi è successo un problema simile però poi l'ho
risolto creandomi un'altro Archivio nuovo dove ci ho importato tutto il
contenuto di quello difettoso e anche in quel caso dopo è andato bene.
Booooohhhh!!!
Ciaooooooo e grazie!!!
N.B. Se puoi mi rispondi anche nel nuovo messaggio che ho inserito nel NG?
