ci sono riuscito :clap e dopo numerose prove ho anche capito il motivo (il perche' pero' non lo so)
ho inserito questo codice come mi hai suggerito
codice:
Sql = "SELECT * FROM GIOCATORI INNER JOIN SQUADRE "
Sql = Sql + " ON GIOCATORI.GI_SQUADRA = SQUADRE.SQ_COD "
Sql = Sql + " where SQUADRE.SQ_SERIE = 'D' "
e in questo modo aprendo la connessione con i seguenti parametri
rs.open sql,,3,3
mi modifica il record ottenuto dal join in modo corretto.
precisamente io modifico solo un campo della tabela GIOCATORI (non so se riesco a modificare anche i campi di SQUADRE
ho fatto un altra prova e sono andato in completa confusione:
codice:
Sql = "select * from GIOCATORI,SQUADRE "
Sql = Sql + " where GI_SQUADRA = SQ_COD "
Sql = Sql + " and SQ_"
questa query infatti non funziona anche se apparentemente restituisce gli stessi record non e' possibile fare l'update.
allora ho fatto un altra prova e ho cambiato il driver per la connessione e magicamente anche quest'ultima query funziona.
come stringa di connessione ho messo
codice:
Rs.ActiveConnection = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & Server.MapPath("mdb-database\data.mdb")
invece di:
codice:
'Rs.ActiveConnection = "Driver={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MapPath("mdb-database\data.mdb")
In conclusione connettendosi con i driver JET funziona tutto
(nota:
-nella prima query con INNER JOIN bisogna esplicitare il nome delle tabelle nella riga ON TABELLA_A.campo = TABELLA_B.campob
-bisogna aprire il recordset con rs.open sql,,3,3 perche' rs.open sql non funziona);
mentre con i driver microsoft funziona solo l'INNER JOIN ( con la seconda query non funziona l'update)
dopo questa marea di informazioni spero non incomprensibili, a questo punto la mia domanda e': perche???
grazie ciao