Ciao a tutti,
posto qui il mio problema che è legato a diversi linguaggi e tecnologie... spero che qualcuno possa aiutarmi !

Sto sviluppando un sistema per la gestione di vendite online.
Il progetto prevede un sito web dal quale i clienti possono effettuare i propri ordini
ed un client, con cui l'azienda che si occupa delle vendite, può gestire questi ordini e i
dati di tutti i clienti.

Il sito, completamente sviluppato con ASP, è già funzionante: dati dei clienti e ordini
vengono memorizzati su un DB Access (ovviamente sul server), mentre il client lo sto scrivendo
in VB6 con il supporto di ADO 2.7.

Sul server ho aggiunto due pagine ASP per consentire a client e server di scambiarsi i dati
del DB sotto forma di documenti XML.

In un punto in particolare il mio programma deve richiede al server un recordset con
l'informazione dello stato (spedito = 2; non spedito = 1) di un dato ordine:

' Richiede al server lo stato dell'ordine selezionato
Set REC = New ADODB.Recordset
REC.CursorType = adOpenDynamic
REC.LockType = adLockOptimistic

' qui faccio REC.Open passando l'URL della pagina ASP con la richiesta giusta...
' ...

Fino a qui è tutto Ok, tralascio il codice della pagina ASP in questione in quanto il recordset
viene popolato nel modo giusto: un'unico record con il solo campo "State".
Fatto ciò, modifico il valore del campo State:

REC.Fields("State") = 2 ' contrassegno come spedito
REC.Update ' non ce ne sarebbe bisogno ma aggiorno comunque...

Il problema ce l'ho quando il client deve reinviare il recordset al server.
Per fare ciò ho utilizzo la libreria "Microsoft XML v3.0". In particolare un'oggetto
"MSXML2.ServerXMLHTTP30" per effettuare la connessione, ed un'oggetto
"MSXML2.DOMDocument30" per rappresentare i dati in un documento XML:

' dopo aver modificato il valore del campo State...
Const HTTPBaseAddress = "http://localhost/librionline/"
Dim objXMLHTTP As New MSXML2.ServerXMLHTTP30
Dim objXMLData As New MSXML2.DOMDocument30

REC.Save objXMLData, adPersistXML ' Salva le modifiche su un'oggetto documento XML

' Apre la connessione HTTP
objXMLHTTP.Open "POST", HTTPBaseAddress & "UpdateState.asp", False
objXMLHTTP.send objXMLData ' invia il documento XML
MsgBox objXMLHTTP.responseText ' mostra il testo reinviato al client
REC.Close

Set REC = Nothing

Set objXMLHTTP = Nothing
Set objXMLData = Nothing

Con questo codice salvo il recordset (già modificato) in un documento XML e, grazie all'oggetto
ServerXMLHTTP30 con cui ho aperto una connessione con la pagina "UpdateState.asp", invio il
documento al server. Ecco il codice della pagina ASP:

<%
Const adOpenDynamic = 2
Const adLockOptimistic = 3
Const adUseClient = 3

Set REC = Server.CreateObject("ADODB.Recordset")
REC.CursorType = adOpenDynamic
REC.LockType = adLockOptimistic
REC.CursorLocation = adUseClient
REC.Open Request ' apre recordset da documento XML
REC.ActiveConnection = "Driver=Microsoft Access Driver (*.mdb);DBQ=" & Server.MapPath("DB/BooksOnLine.mdb")

On Error Resume Next
REC.Update

If Err <> 0 Then
Response.Write "Errore nell'aggiornamento dei dati."
Err.Clear
Else
Response.Write "Aggiornamento riuscito !"
End If

REC.Close
Set REC = Nothing
%>

Il recordset viene popolato con i dati del documento XML ricevuto dal client.
L'istruzione REC.Update dovrebbe apportare le modifiche al DB...
DOVREBBE, in realtà non lo fa...
Penso che il problema stia proprio in questa pagina: prima di chiudere il recordset ho aggiunto
questa istruzione:

<%
REC.Save Server.MapPath("ADO.xml"), 1
%>

con cui salvo il recordset in un documento XML sul server.
In questo documento è possibile vedere le modifiche al campo State (che memorizza 2).

Tra l'altro, la MsgBox del codice sul client, mostra sempre il messaggio "Aggiornamento riuscito !";
questo mi fa capire che sul server non si è verificato alcun errore.

Perchè queste modifiche non vengono apportate anche al DB ???
Spero che qualcuno mi dia una mano.

Intanto ciao
Simo