Newsgroup: it.comp.appl.access
Titolo: Progetto di Access e "query"

ci riprovo......
forse nel precedente post mi sono spiegato male,
uso Access XP allacciato ad una base dati sql server
se creo una stored procedure oppure una view
con più di una tabella, la "query" diventa
un recorset non aggiornabile!!!
è una caratteristica di questa base dati?
oppure deve settare qualcosa in maniera diversa?
a questo punto la domanda nasce spontanea,
meglio ODBC con tabelle collegate oppure
creare un progetto con le inevitabili complicanze?
ciao e grazie per le risposte
Zef

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


grazie per la risposta
avevo notato che senza chiave primaria via ODBC la query
non era aggiornabile, ma che in locale con chiave primaria
relazione uno-a-molti non fosse aggiornabile .....!?!
in jet il problema non si pone, ... limite o vantaggio?
ho parecchi manuali di Access ma non ho trovato niente,
neanche sull'help, cercherò meglio dove hai detto ....
ri-grazie
Zef


Creati un progetto Access, anche vuoto. Crea una maschera, e premi F1 sulla
proprietą UniqueTable. E gią che ci sei dai una letta anche all'help della
ResyncCommand.
Ciao, Alessandro

 ResyncCommand.
grazie Alessandro,
a furia di girovagare avevo trovato anch'io questa soluzione,
mi pare strano che sia così poco documentata
anche perché ..... è veramente importante!!!
mi ero fossilizzato sulle view, che rimangono non aggiornabili,
strana cosa però, la base dati è aggiornabile solo con un form!
... piano piano mi abituerò a questo nuovo modo di ... pensare
ri-grazie
Zef


Prego? A me non risulta, dipende come è fatta la vista.
Puoi postare il codice di una vista che a te risulta non aggiornabile?
Ciao, Alessandro

 Puoi postare il codice di una vista che a te risulta non aggiornabile?
grazie Alessandro ... le ho provate proprio tutte!
nell'esempio che segue ci sono tue tabelle campione
tab_testa e tab_righe relazionate tra loro
con chiavi primarie su ogni tabella
ho messo select * al posto del nome dei vari campi
************************
SELECT dbo.tab_righe.*, dbo.tab_testa.*
FROM  dbo.tab_righe INNER JOIN
               dbo.tab_testa ON dbo.tab_righe.ID_Testa =
dbo.tab_testa.Testa_ID
**********************
risultato: ... query non aggiornabile!
se mi dici che a te non risulta.....
vuol dire che sbaglio qualcosa ....
la cosa strana è che con una maschera
settata come unique, diventa aggiornabile!
grazie per l'interessamento
Zef


Ok, Access ha "ragione".
La vista relaziona due tabelle con un join e se la apri direttamente risulta
non aggiornabile, ma non è un limite di SQL Server\MSDE, è un limite di
Access.
Che io sappia sei obbligato, come tu stesso hai notato, a creare una
maschera valorizzandone la proprietà UniqueTable.
Solo così Access sa come _costruirsi_ le singoli istruzioni SQL da inviare
al server per aggiornare i campi che l'utente ha modificato, con i limiti
che hai potuto leggere nell'help sulla proprietà UniqueTable.
Avrai capito che per maschere complesse diventa necessario utilizzare campi
non legati ed eseguire l'aggiornamento della base dati tramite stored
procedure scritte ad hoc.
Certamente più lungo e laborioso ma hai il controllo su tutto (è più da
programmatori insomma... ;-)
Ciao, Alessandro

 Access.
... grazie della risposta Alessandro,
mi confermi che questa è la strada da seguire,
... basta abituarsi e comportarsi di conseguenza
al primo impatto mi sono trovato "spaesato",
pensando di aver sbagliato qualcosa ....
ri-grazie e a risentirci
ciao
Zef