Newsgroup: it.comp.lang.visual-basic
Titolo: Rivolto ai GURU del NG ...spiegatemi il perchè! Thanks!

Scrivo a voi dopo essermi inca$£%&to enormemente con MS.
430.000lire (tanto chiedono) per fare una domanda!
Già nei giorni scorsi ho postato ma adesso gradirei sapere da qualcuno il
perchè del
comportamento del mio VB6.(sempre che esista un perchè!)
Il comportamento è questo:
Accesso tramite ADO
 ho una query dentro un DB di Access
(qualsiasi Access: 2.0, 97,2000) e tale query la associo a una griglia od
anche a semplici caselle di testo,
mi si permette la lettura ma non la modifica.
La ragione è (secondo lui): le informazioni sulle colonne chiave non sono
sufficienti per effettuare
l'aggiornamento!
Tale comportamento lo ho rilevato anche con un DB agganciato tramite ODBC
(l'origine era comunque un mdb)
sotto Interdev.
In interdev era ancora più frustrante perchè avevo associato una TABELLA con
il campo primaryKey composto da due campi.
 ed allora cosa c$"£zo non mi fai cancellare se nel caso della tabella è
evidente che i dati sono quelli... cosa cavolo di informazioni in più
chiede?
A scanso di equivoci:
PC 128 Mb 8 gb HardDisk
Win NT Server Sp4
No virus
VB6 Ent
Sevice Pack 3
Mdac ultima release
ADO funzionante
Tutte i DB sono aperti non in maniera esclusiva.
Le query non hanno DISTINCT o DISTINCTROW
I dati sono aperti STATIC o KEYSET comunque ho provato anche dynamic
Lock Ottimistico o BatchOttimistico
Problema presente con provider JET e ODBC (non fa differenza)
già spulciato MSDN e non ho trovato risposta
Il tutto assume il tono di una grossa voglia di andare a fare il coltivatore
diretto quando le medesime azioni (inserisci,cancella) access le svolge
tranquillamente come se niente fosse!
Perchè scrivo ai guru:
vari post sotto c'era chi suggeriva di eliminare i distinct... chi di usare
provider ODBC...chi altro ancora.
A me sembra che siano tutti metodi empirici ( che tra l'altro a me non
funzionano) .
Siccome mi piace provare a capire le cose prima di arrendermi  e di
rassegnarmi ad una vita da contadino, gradirei sapere se qualcuno è in grado
di spiegarmi non il rimedio ( che caso mai funziona solo sul suo pc) MA la
causa del male!
Grazie per l'infinita pazienza
Attendo fiducioso!


la query originale è:
SELECT DISTINCTROW TSpedizioni.*, Nominativi.*, Pubblicazioni.ti_descr,
Pubblicazioni.ti_autore, [Motivi spedizione].mo_descr
FROM ((TSpedizioni INNER JOIN Nominativi ON TSpedizioni.id_nomi =
Nominativi.id_nomi) INNER JOIN Pubblicazioni ON TSpedizioni.id_titoli =
Pubblicazioni.id_titoli) INNER JOIN [Motivi spedizione] ON
TSpedizioni.sp_id_motivi = [Motivi spedizione].id_motivi;
ho provato a levare il distinct e la fa leggere ma non cancellare od
aggiornare...
INOLTRE perchè lo fa anche con una tabella?????? (sto problema l'ho avuto
non solo con vb ma anche con pagina ASP + Access + Ado)
Capisco la query (non capisco ma faccio finta)...ma la tabella?????
...uso JET 4.0 come provider ma è la solita solfa anche con MSDASQL
o come è bello zappare l'orto!!!trallallero trallalà!(cantare su l'aria di
"o mia bella madunina")






 wrote in message news:8j71na$rem$1...@nslave1.tin.it...


TSpedizioni.sp_id_motivi = [Motivi spedizione].id_motivi;
Non riuscirai mai ad aggiornare dei record di una query con delle join.
Anche perchč non avrebbe molto senso.
Se alla M$ ti hanno chiesto quella cifra sono dei veri bas****i, ma come
vedi non serviva :)
Ciao