Pagina 1 di 1
[RISOLTO] Come fareste voi ?
Inviato: lunedì 31 ottobre 2011, 15:12
da schwantz69
Ciao a tutti, ho il seguente problema:
Tabella contenente anagrafica clienti
Tabella contenente i singoli debiti dei clienti e i singoli pagamenti ricevuti dagli stessi
Ho creato un formulario principale che mi permette di estrarre il cliente desiderato, ho collegato un formulario secondario con un controllo tabella che mi visualizza tutti i movimenti effettuati dal cliente in questione (debiti e pagamenti). Sempre sul formulario secondario ho la possibilità di inserire ulteriori movimenti (debiti o pagamenti). Vorrei che dopo qualsiasi modifica applicata al formulario secondario (aggiunta movimento, eliminazione, variazione) una macro si occupasse di ricalcolare il saldo e lo visualizzasse.
Inizialmente pensavo di operare con Calc ma non sono riuscito a capire come collegare il database in modo dinamico per cui ho ripiegato su base.
ho pensato di inserire le colonne che puntano ai singoli campi del database nel controllo tabella manualmente ed aggiungere una colonna saldo da ricalcolare al verificarsi di uno dei già citati eventi, ma non sono riuscito a capire come potrei puntare alla colonna da aggiornare....
Come fareste voi ?
ciao e grazie
Re: Come fareste voi ?
Inviato: lunedì 31 ottobre 2011, 20:39
da vladko
non ho capito molto ma:
calcoli si fa con query poi un pulsante aggiorna e niente macro
guarda in tutorial di base.
quindi
tab soggetti
tab movimenti
query calcoli
fai sapere grazie
Re: Come fareste voi ?
Inviato: domenica 6 novembre 2011, 11:41
da schwantz69
Sono conscio del fatto che mi sono spiegato in maniera orrenda.... cerco di farmi capire meglio:
Ho una tabella (MOV_CLI) con i seguenti campi:
ID -> Numero record
DATAOP -> Data Operazione
DESCOP -> Descrizione Operazione
IMPORTO -> Importo dell'operazione
CODCLI -> Codice Cliente
Ho poi una seconda tabella (ANAG_CLI) contenente l'anagrafica del cliente.
Ho creato un formulario in cui sono presenti codice cliente e indirizzo di quest'ultimo presi dalla tabella (ANAG_CLI)
Ho creato inoltre un sotto-formulario contenente i dati presi dalla tabella (MOV_CLI)
Allo stato attuale quando seleziono un cliente nella tabella del sotto-formulario vengono visualizzati (come voglio io) tutte le operazioni effettuate dal cliente in questione.
Cosa forrei fare ?
1) Vorrei aggiungere una colonna al controllo tabella presente nel sotto-formulario contenente il saldo alla data (somma algebrica del campo IMPORTO per ogni record)
2) Mi piacerebbe che la tabella svolgesse una duplice funzione, semplice visualizzazione e aggiornamento/inserimento dati pertanto ad ogni nuovo inserimento o aggiornamento record la colonna saldo alla data dovrebbe venire ricalcolata
Grazie in anticipo...
Re: Come fareste voi ?
Inviato: domenica 6 novembre 2011, 15:25
da vladko
base non è calc
non esiste subtotali
ogni riga di tabella è un record
quindi ripeto ci vuole query
in pratica:
tuo formulario di clienti
tuo sottoformulario di movimenti per cliente
pulsante aggiorna
tua query
dopo modifche su movimenti premi tasto aggiorna per vedere tottale che cambia
c'è esempio
fai sapere grazie
Re: Come fareste voi ?
Inviato: sabato 12 novembre 2011, 15:31
da schwantz69
Ciao Vladko,
Anzitutto grazie per l'ottimo esempio che hai postato, effettivamente stavo pensando anche io ad una soluzione del genere ma non mi sembrava di facile realizzazione (come certamente hai capito sono alle prime armi con la suite Openoffice).
Ho 3 domande:
1) Immagino che la pressione del pulsante "Aggiorna" provochi l'esecuzione di una macro ma.... non ho trovato a quale evento l'hai collegata e soprattutto dove hai inserito la macro....
2) Come hai fatto a fare in modo che il formulario si apra a schermo intero ????? (sarà un mese che ci provo senza successo!)
3) Saresti così gentile da indicarmi come è possibile far comparire il comodo pulsantino che apre il calendario nel campo data operazione ? inoltre è possibile applicarlo anche ad un controllo da mettere sul formulario ?
grazie per l'aiuto e a buon rendere !
Re: Come fareste voi ?
Inviato: domenica 13 novembre 2011, 11:40
da vladko
Risposte:
1 no, si fa così:
tst dx su pulsante -->Proprietà
si apre finestra Proprietà Pulsante
in Scheda Generale trovare la linea Operazione e scegliere Aggiorna Formulario
2 non ho capito ma controlla che in modifica sia fiestra a Massimo e zoom 100
3 anche qui se è un campo di controllo sempre tstdx su controllo proprietà, scheda generale, scegliere apribile si,
se dentro a tabella fare clickdx su nome campo tabella, scegliere colonna, scheda generale, scegliere apribile si
fai sapere grazie
Re: [RISOLTO] Come fareste voi ?
Inviato: domenica 13 novembre 2011, 19:19
da schwantz69
Vladko grazie per il tuo aiuto davvero prezioso !
Ho risolto tutto apportando alcune modifiche per meglio adattare il tuo esempio a quello che volevo fare io, in particolare:
Ho creato una macro che legge il codice cliente dal formulario principale e modifica la ricerca utilizzata per i calcoli in modo da calcolare solo il totale del cliente visualizzato
La macro l'ho poi collegata all'evento del cambio record del formulario principale in modo che ad ogni cambio record (premendo i tasti della barra di naviagazione) calcoli automaticamente il saldo e lo espoga negli appositi campi.
L'ho collegata poi all'evento "eseguire l'azione" del tasto (non potevo infatti utilizzare l'azione aggiorna formulario dovendo modificare il comando SQL della ricerca utilizzata per i calcoli).
Effettivamente era + facile del previsto, non avevo capito infatti come creare ulteriori formulari da collegare a sorgenti dati diverse... capito quello il resto è venuto quasi da se
Spero di poter contraccambiare un giorno ciao e grazie ancora
Re: [RISOLTO] Come fareste voi ?
Inviato: lunedì 14 novembre 2011, 7:51
da vladko
bene
contraccambiare? certo puoi mettere qui un esempio con codice macro così che anche altri può usare