Newsgroup: it.comp.appl.access
Titolo: Aggiornare automaticamente alcuni campi di una maschera

Ciao a tutti sono Dino.Ho questa problematica da risolvere.Per
sintetizzare il tutto vi faccio subito un esempio:
La fattura N°1 e' costituita da 4 records (i dati della fattura
vengono infatti inseriti attraverso una sottomaschera).Durante
l'emissione di tale fattura si genera in automatico anche il pagamento
delle ricevute bancarie.Per esempio per il cliente di questa fatt.ho
impostato  2 ric 30/60 gg.Ovviamente entrambi i quattro records
avranno lo stesso pagamento (tengo a precisare che alla fine i records
vengono tutti raggruppati).Il mio problema nasce quando voglio
imputare un pagamento manuale (cioe' diverso dal pag.standard).Infatti
io vado a variare il pag solo per li primo record,mentre gli altri
ovviamente rimangono con quello di default.Chiedo se e' possibile nel
momento in cui si scrive nel campo "pippo" del record 1 inserire
automaticamente lo stesso dato nel campo "Pippo" del record 2 e così
via.
Forse chiedo troppo..
Grazie in anticipo Dino

Dino ha scritto:

Chiedere non costa nulla....rispondere talvolta e' faticoso
1) La fattura N°1 e' costituita da 4 records
cioe', testata + dettaglio + 2 pagamenti?
2) Ovviamente entrambi i quattro records
sono due o quattro?
3)io vado a variare il pag solo per li primo record,mentre gli altri
ovviamente rimangono con quello di default
??????
4)Chiedo se e' possibile nel momento in cui si scrive nel campo "pippo" 
del record 1 inserire automaticamente lo stesso dato nel campo "Pippo" 
del record 2 e così via.
Non ci ho capito molto (eufemismo) ma provo a risponderti
Automaticamente significa farlo via codice.
Sull'evento beforeUpdate del form (subform mi sembra di capire) o del 
controllo che ti interessa
recupera il/i recordsetclone cerca i records che ti interessano, 
findfirst - findnext (immagino usi DAO) e aggiorna i valori 
(.edit,....,.update)
--
ac

 ha scritto nel messaggio 
news:769dccf7-c2ea-4e83...@d77g2000hsb.googlegroups.com...


Probabilmente hai due tabelle: la principale contiene le fatture e la 
secondaria gli elementi che compongono le fatture. Suppongo ancora che le 
due tabelle siano legate da una relazione uno-a-molti ed il campo che le 
lega è il numero di fattura. Se è così, potresti inserire poche istruzioni 
necessarie nell'evento "dopo aggiornamento" della maschera che crea la 
fattura, affinchè tu possa propagare l'informazione che ti necessita su 
tutti gli elementi ad essa collegati. Ad ogni buon conto, ti consiglio di 
fare in modo che quell'informazione sia nel solo record delle fatture e non 
in tutti i records collegati. Infatti uno stesso dato ripetuto su più 
records ti potrà dare gli inconvenienti dei dati ridondanti.
Ciao
Antonio

 ha scritto nel messaggionews:769dccf7-c2ea-4e83...@d77g2000hsb.googlegroups.com...

Ciao Antonio grazie per la risposta.OK su tutto quello che hai scritto
(tabelle e relazioni).
Ti chiedo gentilmente una dritta su come inserire le informazioni.
Se ti puo' essere di aiuto ento maggiormente nel dettaglio:
Le tabelle sono 3.Tab clienti Tab Fatture e tab descrizione fatture.
La tabella clienti e fatt sono relazionate uno a molti.Mentre la tab
fatture e descrizione fatt. sono relazionate senza integrita'
referenziale.(per poter cancellare eventualmente le fatt inserite)
Con queste tab genero una query chiamata "inserimento fatture."
Da questa query do origine ad una maschera per ins le fatture la quale
al suo intrno ha una sottomaschera chiamata "descrizione fatture"La
sottomaschera in esame e' realizzata dalla query "Qsottomaschera
fatture"(Derivante dalla tab fatture e la Tab descrizione fatt).
Quando genero il record per es fattura n°1 i dati anagrafici del
cliente li scrivo nella maschera "ins fatture" mentre i dati inerenti
alla fattura Descrizione - Qta' - prezzo U - totale. vengono inseriti
nella sottomaschera.
Il calcolo delle riba e' inpostato da un'altra query  realizzata
sempre dalla 3 tab principali.
In sintesi(altrimenti creo un poema) al termine dell'inserimento
Aprendo la maschera associata alla query "gestione riba"io
ho i dati relativi al record della fattura con il pagamento impostato
in automatico.Significa che se ad esempio il cliente ha un pagamento a
30/60 gg per tutti i record della sottomaschera io ho lo stesso
pagamento.Il problema nasce quando io devo imputare un pagamento
manuale.Ovviamente tale pagamento e' valido solo per un record della
sottomaschera.Ecco perche' vorrei (tramite) codice scrivere su tutti i
record della sottomaschera che genera la mia fattura.
E' difficile chiederti SE SONO STATO CHIARO"bisognerebbe vedere in
DB;vediamo pero' se tutte queste spiegazioni ti possono essere utili
per "SCRIVERMI"(grazie in anticipo) le due dritte di codice.
Rigrazie per l'aiuto
Dino

 - Mostra testo citato -
Ciao Ale grazie per la risposta.
Per non ripetermi nella risposta ad Antonio ho scritto un po' di
notizie che possono chiarirti maggiormente le idee su mio problema.
Quando hai un attimo se puoi gentilmente (dopo aver letto il tutto)
confermarmi quanto mi hai scritto sopra.
Grazie ancora Dino

Dino ha scritto:

Il notaio conferma il punto 4.
--
ac


Prima della registrazione "notarile" e' meglio togliere di mezzo il
recotd "Pippo"
Nella mia maschera fatture ho i campi riba 30 - riba 60 - riba 90.
Quando inserisco i dati nella fattura vi sono dei campi (prelevati
grazie alla relazione uno a molti) che vengono inseriti
automaticamente nel record;tra cui il pagamento (num ric e varie
riba).
Nella sottomaschera inserisco i valori.
Es la fatt. e' di € 120.Ed e' composta da 2 record (generati dalla
subform)
Record 1   DESCRIZIONE - QTA - PREZZO U - TOTALE
                   tubi flessibili      2             10,00
20,00
Record 2      Tubi in gomma   3             30,00        90,00
Associato a questi campi ho i campi del pagamento :
Record 1   DESCRIZIONE - QTA - PREZZO U - TOTALE    NUM RIC - DATA I°
SCAD - DATA II° SCAD - I°PAG - II° PAG
                   tubi flessibili      2             10,00
20,00         2                  31/10/08            30/11/08        €
60      € 60
Record 2      Tubi in gomma   3             30,00        90,00
Quindi(I campi scadenza pagamento ecc..sono dei campi calcolati
gestiti da cicli IF i quali mi permettono di cambiare il pagamento da
standard a manuale)se il pagamento rimane quello standard,nessun
problema.Se invece devo variarlo,impostando i nuovi valori mi vengono
cambiati solo i dati del record 1.
Come si puo' via codice cambiare i dati del record 2 e ovviamente di
tutti i record che ci possono essere.
Spero di non averti confuso magg. le idee.
Se non e' ancora molto chiaro (se me lo permetti) ti posso inviare una
copia del DB.così puoi verificare personalmente.
Ancora un grazie e porta pazienza
per le continue "trascrizioni notarili"
Dino

Ciao a tutti sono Dino.Scusate se ripesco un post non ancora chiuso
del tutto ma, non ne vengo fuori!!!
Molto semplicemente cerchero' di farvi un esempio:
Ho una form con 6 campi Pag1 Pag2  pag man 1 e pag man 2. pag standard
1 e pag standard 2.
Nei campi pag 1 e pag 2 ho impostato un ciclo del genere:
IIf([pagstandard1]>0;[pagstandard1];[pag man 1]).Ovviamente nei campi
pag standard ho gia' impostato dei valori.
In definitiva quando si viene a creare il record ho in automatico il
pag.Se volessi impostare invece un pag manuale non dovrei fare altro
che scrivere in pag man o 1 o 2 e il pagamento si cambierebbe
velocemente.
Il problema nasce dal fatto che i record generati possono essere molti
e di conseguenza vorrei evitare di andare a toccarli tutti.
Ecco perche' chiedo a voi se' possibile variando(come spiegavo sopra)
solo un campo di un record,variare anche gli altri campi inerenti di
tutti i record.
Giorni fa’ un nostro collega(che ringrazio ancora) mi ha dato queste
indicazioni :
SULL'EVENTO BEFOREUPDATE DEL FORM (SUBFORM MI SEMBRA DI CAPIRE) O DEL
CONTROLLO CHE TI INTERESSA
RECUPERA IL/I RECORDSETCLONE CERCA I RECORDS CHE TI INTERESSANO,
FINDFIRST - FINDNEXT (IMMAGINO USI DAO) E AGGIORNA I VALORI
(.EDIT,....,.UPDATE) .
Onestamente non riesco ad applicarle;non saprei da dove partire
Se ritenete opportuno posso anche inviarvi una copia del DB.
Grazie in anticipo Dino.