Newsgroup: it.comp.appl.access
Titolo: Baco SQL Server ?!?

Ciao!
Probabilmente ho trovato l'n-esimo baco di SQL Server + adp.
Tento di spiegarvelo.
Avete:
- una tabella Prodotti,
- una maschera Prodotti con source un'istruzione SQL che è un join tra la
tabella Prodotti e la tabella Linee_prodotti.
- la UniqueTable è la tabella Prodotti
- esiste il comando di Resync
Il problema sta nel salvataggio.
Se tra i campi della maschera (riempiti dall'istruzione SELECT), c'è un
campo di tipo bit (il vecchio Sì/No), allora il salvataggio non va a buon
fine con il seguente errore (circa):
"Impossibile salvare un record con COD_LINEA Null sulla tabella
Linee_Prodotti"
Ma chi glielo ha detto di salvare un record sulla tabella Linee_Prodotti?
Vi assicuro che ci ho perso tutta una giornata facendo i tentativi più
pazzeschi (controllo trigger, proprietà tabelle, indici, relazioni, tutto
ciò che riguardava il db, tutto ciò che riguardava il FE, ...) prima di
capire che erano quei due campetti stronzi di tipo check box che mi davano
problemi.
La soluzione è stata quella di mettere come origine dei due campetti stronzi
non il semplice nome del campo, ma l'istruzione di rilettura nel db.
CHE SCHIFO!
A qualcuno è già capitato qualcosa di simile?
Sto cercando il vostro conforto...
Grazie
Luciana

A qualcuno è già capitato qualcosa di simile? Sto cercando il vostro
conforto... 
No, a me non e- capitato anche perche' mi guardo bene dall'usare i campi di
tipo bit...
Ma ,cara Luciana, ti posso chiedere cosa hai messo nel campo Resync ?
Antonio Passaro
-- 
Posted from 
fwbe1.eu.wang.com
 [158.67.16.2] 
via Mailgate.ORG Server - 
http://www.Mailgate.ORG

A qualcuno è già capitato qualcosa di simile? Sto cercando il vostro
conforto...
No, a me non e- capitato anche perche' mi guardo bene dall'usare i campi di
tipo bit...
Ma ,cara Luciana, ti posso chiedere cosa hai messo nel campo Resync ?
Antonio Passaro
I campi di tipo bit sono i vecchi campi Sì/No dell'mdb. Sono i campi
booleani. Sono di uso abbastanza comune. Tu cosa useresti?
Nel campo Resync metto la stessa SELECT che c'è nel source con la clausola
WHERE chiave=?
Ciao
Luciana

Nel campo Resync metto la stessa SELECT che c'č nel source con la clausola
WHERE chiave=? Ciao Luciana 
Si e' vero quello che dici (circa i campi booleani) ,pero' visto che esiste
il problema da te' messo in evidenza
io li avrei trasformati in char(1) e gestito un S/N...tutto qua'....
Sai perche' ti ho chiesto cosa avevi messo nel campo Resync  ?
Perche' una volta avevo fatto una maschera master/details con la
sottomaschera basata su una stored procedure.
Con essa risolvevo il problema di usare un campo calcolato che dipendeva
anche da un campo situato
nella maschera master.
Purtroppo pero' mi sono accorto che una sottomaschera basata su una SP
diventa insensibile ai famosi
campi Master e campi figli.
Speravo con il Resync di risolvere il problema....macche'....
Il fatto e' che i progetti ADP di Access 2000 sono una gran bella invenzione
per fare applicazione LAN
client/Server....rapidamente(altro che applicazioni multi-tier di
Visual-Basic dove ci si impiega una vita per realizzarle)
....pero' quanti problemi ho dovuto affrontare.....
Grazie per la collaborazione.


Nel campo Resync metto la stessa SELECT che c'è nel source con la clausola
WHERE chiave=? Ciao Luciana
Si e' vero quello che dici (circa i campi booleani) ,pero' visto che esiste
il problema da te' messo in evidenza
io li avrei trasformati in char(1) e gestito un S/N...tutto qua'....
Sai perche' ti ho chiesto cosa avevi messo nel campo Resync  ?
Perche' una volta avevo fatto una maschera master/details con la
sottomaschera basata su una stored procedure.
Con essa risolvevo il problema di usare un campo calcolato che dipendeva
anche da un campo situato
nella maschera master.
Purtroppo pero' mi sono accorto che una sottomaschera basata su una SP
diventa insensibile ai famosi
campi Master e campi figli.
Speravo con il Resync di risolvere il problema....macche'....
Il fatto e' che i progetti ADP di Access 2000 sono una gran bella invenzione
per fare applicazione LAN
client/Server....rapidamente(altro che applicazioni multi-tier di
Visual-Basic dove ci si impiega una vita per realizzarle)
....pero' quanti problemi ho dovuto affrontare.....
Grazie per la collaborazione.
Antonio Passaro
Confermo che i problemi incontrati sono parecchi.
Hai ragione tu sull'insensibilità tra maschera e sottomaschera dei campi
padre e figlio.
Dopo parecchie prove ho concluso che le mie sottomaschere avranno come
origine una SP, avranno una UniqueTable e il comando Resync sarà uguale
all'origine con la clausola WHERE chiave=?
Ho impiegato un po' per capire che questa era la strada e sono convinta che
lo sia al 70%. Probabilmente uno studio piu' attento mi farà scoprire cose
nuove.
Speriamo in bene.
Buon lavoro
Luciana