Ciao a tutti

ho bisogno di una mano per un problema che non riesco nè a capire nè tantomeno a risolvere.

Sto facendo un programma in VB6 che gestisce anagrafiche clienti, articoli ed ordini collegato ad un db access che ha quattro tabelle:

TabellaClienti = nome,indirizzo,cap,citta,prov,cf_piva
tabellaGiornali = titologiornale,costo
Tabellarelazioni= nome,cf_piva,titologiornale,costo
TabellaArchivio = nome,titologiornale,costo

Per ognuna delle tre voci, ho previsto la possibilità di inserire, modificare o eliminare un record.

I collegamenti tra VB6 ed Access sono gestiti da controlli ADO e per visualizzare i dati utilizzo i DataReport

Il problema che ho e che non riesco a risolvere riguarda la modifica del prezzo di un giornale; infatti se modifico il costo del giornale inserito come primo record nella tabella giornali, mi vengono modificati anche i costi degli altri giornali, già inseriti nella tabella ordini, con il nuovo valore che ho inserito.

Però ci sono alcune particolarità che mi rendono ancor più dubbioso e cioè:

- se provo a modificare il costo di un giornale che non è il primo record, nella tabella giornali viene modificato ma nella tabella ordini no.

- se aggiungo un nuovo giornale, faccio l'ordine e poi ne modifico il prezzo allora il prezzo del giornale per quello specifico ordine viene correttamente cambiato.

Di seguito vi posto il codice che uso per fare questa operazione.
Spero che qualcuno di voi mi possa aiutare a capire ed a risolvere questo problema

Per qualsiasi spiegazione chiedete pure

Grazie mille

Ciao
Giuseppe

------
codice
------

Private Sub Command1_Click()
'** FORM22 - PULSANTE SALVA DEL FORM DI MODIFICA DEL GIORNALE **
Call AggiornaTabellaRelazioni

'-- Salva ed aggiorna il recorset
Form22.Adodc1.Recordset.Save
Form22.Adodc1.Refresh
Form22.Adodc2.Recordset.Save
Form22.Adodc2.Refresh

'-- Pulisce il Text1.Text del form23
Form15.Text1.Text = ""
Form22.Hide
Form1.Show

'-- Azzera la variabile globale 'Controllo'
Controllo = 0

End Sub

'** FUNZIONE AGGIORNATABELLARELAZIONI **
Function AggiornaTabellaRelazioni()

'-- Dichiarazione oggetti
Dim cn As ADODB.Connection

Set cn = New ADODB.Connection

'-- Apro la connessione
cn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\PGMVB6\clienti.mdb;Persist Security Info=False"

'-- Imposto la modifica dei dati
If GiornaleOld <> "" Then
cn.Execute ("UPDATE TabellaRelazioni SET Titolo = '" & Form22.Text1.Text & "' WHERE Titolo = '" & GiornaleOld & "'")
End If

If CostoOld <> "" Then
cn.Execute "UPDATE TabellaRelazioni SET Costo = " & Replace(Form22.Text2.Text, ",", ".") & " WHERE Costo = " & Replace(CostoOld, ",", ".")
End If

End Function