Newsgroup: it.comp.lang.visual-basic
Titolo: DataGrid (per esperti) secondo post

Salve a tutti. Ho il seguente problema (già postato senza esito):
Devo visualizzare e modificare in una griglia (controllo datagrid) i campi
di una tabella (A) più una descrizione che non è sulla tabella A ma su una
tabella B.
soluzione 1
-----------
Se popolo il recordset associato alla griglia con una select tipo
SELECT COD, DESCR FROM TAB_A INNER JOIN TAB_B ......
funziona ma il recordset è ovviamente di sola lettura.
soluzione 2
-----------
Se popolo il recordset associato alla griglia con una select tipo
SELECT COD, '' AS DESCR (<-- campo fittizio) FROM TAB_A  ......
il recordset è di lettura / scrittura ma non riesco a mettere la decodifica
nemmeno da codice perchè la colonna DESCR è in sola lettura.
La soluzione 1 è da scartare.
La soluzione 2 funziona sia con Oracle che con Access. Non funziona invece
con SQL-Server.
Qualcuno sa darmi qualche dritta?
Grazie

 ha scritto nel messaggio
news:c2c2715b.02091...@posting.google.com...

Messaggi  d'errore ? Hai usato dei caratteri jolly nella query ? Postala
completa.
JKLJKL



Leggo dal testo
Matthew Shepker
Microsoft SQL Server
Scrivere Stored procedure
Mondadori
I trigger INSTEAD OF permettono agli utenti di modificare le righe di tutte
le tabelle in una
visualizzazione multi-tabella e sono stati introdotti principalmente per
questo;
Nelle precedenti versioni di SQL Server questo non era possibile e occorreva
modificare le righe
rilevate in ogni singola tabella con query distinte.
Si parla di SQL Server 2000
Descrizione memorizzata ma ad oggi non ho avuto l'occasione di utilizzare il
nuovo trigger
giuseppeD

Cambio la domanda così forse mi spiego meglio.
Supponiamo di avere due tabelle
Una per le testate dei movimenti di magazzino (MAGM) e una per i
dettagli (MAGD)
In MAGM ci sono i seguenti campi
CODICE_MOV, DATA, CLIENTE_FORNITORE etc. etc.
In MAGD ci sono i seguenti campi
CODICE_MOV, CODICE_ARTICOLO, PREZZO etc. etc.
Provate ad eseguire il seguente SQL da un tool per SQL-Server come ad
esempio il Query Analizer o Enterprise manager
SELECT CODICE_MOV, '' AS DESCRIZIONE, PREZZO FROM MAGD WHERE
CODICE_MOV=1
questo SQL tira fuori tutti i dettagli del movimento di magazzino
numero 1 con un campo DESCRIZIONE vuoto. Provate a scriverci
dentro.... NULLA! (colonna non aggiornabile).
Provate ad eseguire lo stesso SQL con un qualsiasi tool che però è
collegato a Oracle. Vengono fuori tutti i dettagli del movimento di
magazzino numero 1 con un campo DESCRIZIONE vuoto. Provate a scriverci
dentro, et voilà si può fare. Quando salvo le modifiche ovviamente
qualunque cosa io abbia scritto nel campo descrizione viene persa (e
chi se ne frega)
Io in VB se aggancio il recordset con questo SQL eseguito su oracle ad
una grigla posso bloccare nella griglia il campo descrizione e
gestirmi le decodifiche del campo descrizione "scrivendo" da codice la
descrizione corrispondente. L'utente potrà inserire, modificare,
cancellare righe ma non cambiare la descrizione (per eleganza di
gestione). In sql-server ciò non funziona.
Come fate voi (usando il controllo datagrid -l'unico di M$ a gestire
ADO) a fare cose del genere?
GRAZIE
Attendo una risposta.