Newsgroup: it.comp.appl.access
Titolo: Solito problema per ricalcolo ISTAT

Buonpomeriggio a tutti, ritorno con il solito problema del ricalcolo ISTAT
su un campo valore.
Pur seguento alla lettera le Vs. risposte, non sono ancora riuscita a
risolvere il tutto.
Ripropongo il problema:
Ho creato un DB per la registrazione ed archiviazione dei contratti di
locazione con relativo calcolo delle fatture.
Le tabelle chiave create sono CLIENTI, COD_REGISTRAZIONI,
REGISTRAZIONE_CONTRATTO, CANONE.
Procedimento:
1) I contratti vengono registrati una volta sola con relativo CodReg
(contatore univoco) dove vengono inserite le tariffe vigenti al momento
della stesura del contratto;
Poi automaticamente vengono collegati al tipo di contratto desiderato
(locazione, en-el, ecc) a WORD e salvati con numero di contratto.
2) Ho creato una maschera per il calcolo fatture dove viene riportata tutta
la lista dei contratti registrati con i relativi canoni (già precompilati al
momento della registrazione contratto) in più trovo dei campi liberi dove
andrò digitare i servizi extra e variabili mensili/trimestrali ecc).
Il problema nasce al momento del ricalcolo ISTAT delle tariffe canone (una
volta l'anno
Ovviamente le tariffe devono essere tutte ricalcolate.
Seguendo le Vs. risposte ho prima creato una query di aggiornamento che mi
ricalcoli i valori del canone, funziona,
Cioè mi aggiorna tutti i campi desiderati. Questi però non vengono
aggiornati anche nelle maschere interessate, bisogna cambiare la casella
combinata con i valori del canone aggiornato manualmente, e non mi va bene.
Ho seguito poi altri consigli che mi hanno indirizzato ad una macro di
questo tipo:
Private Sub Comando6_Click()
Dim dbCalcoli As Database
Dim rcdCalcoli As Recordset
Dim rcdCalcoli2 As Recordset
Set dbCalcoli = CurrentDb()
Set rcdCalcoli = dbCalcoli.OpenRecordset("Canone")
MsgBox "Inizio Rivalutazione"
DoCmd.Hourglass True
Do Until rcdCalcoli.EOF
    rcdCalcoli.Edit
    rcdCalcoli![CanoneVal] = Int(rcdCalcoli![CanoneVal] * Me![percentuale])
    rcdCalcoli.Update
    rcdCalcoli.MoveNext
Loop
Set rcdCalcoli2 = dbCalcoli.OpenRecordset("Registrazione Contratto")
Do Until rcdCalcoli2.EOF
    rcdCalcoli2.Edit
        rcdCalcoli2![Vigilanza] = Int(rcdCalcoli2![Vigilanza] *
Me![percentuale])
        rcdCalcoli2![quotanodo] = Int(rcdCalcoli2![quotanodo] *
Me![percentuale])
        rcdCalcoli2![ConsumoFissoMensile] =
Int(rcdCalcoli2![ConsumoFissoMensile] * Me![percentuale])
    rcdCalcoli2.Update
    rcdCalcoli2.MoveNext
Loop
DoCmd.Hourglass False
MsgBox "Fine Rivalutazione"
End Sub
Neanche questa volta ho portato a termine niente perche la routine si blocca
sulla riga  rcdCalcoli.Edit, Edit non viene riconosciuto dandomi il seguente
errore di compilazione: Impossibile trovare il metodo o il membro dei dati.
Dimenticavo, uso A2000 e spero che qualcuno di Voi mi aiuti, ringrazio
anticipamente tutti, e saluto chi mi ha già aiutato.
Ciao Alessia.


Se l'esecuzione della query che effettua l'aggiornamento dei dati la esegui
con un bottone (per esempio), prova ad eseguire il requery della casella
combinata:
es.
Private Sub BottonaAggiorna_Click()
DoCmd.OpenQuery "nomeQueryCheAggiorna"
Me!NomeCasellaCombinata.Requery
End Sub
Ciao.