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
![Confuso [?]](http://www.megalab.it/forum/images/smilies/confused.gif)
- se aggiungo un nuovo giornale, faccio l'ordine e poi modifico il prezzo del giornale allora il prezzo del giornale stesso, 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 perché non riesco a venirne a capo
![Martellate [B)]](http://www.megalab.it/forum/images/smilies/bash.gif)
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 con As ADODB.Connection
Set con = New ADODB.Connection
'-- Apro la connessione
con.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:PGMVB6clienti.mdb;Persist Security Info=False"
'-- Imposto la modifica dei dati
If GiornaleOld <> "" Then
con.Execute ("UPDATE TabellaRelazioni SET Titolo = '" & Form22.Text1.Text & "' WHERE Titolo = '" & GiornaleOld & "'")
End If
If CostoOld <> "" Then
con.Execute "UPDATE TabellaRelazioni SET Costo = " & Replace(Form22.Text2.Text, ",", ".") & " WHERE Costo = " & Replace(CostoOld, ",", ".")
End If
End Function