[Risolto]Accedere ad un campo di un sottoform

Discussioni sulle caratteristiche di database
Rispondi
ranger
Messaggi: 79
Iscritto il: domenica 6 aprile 2014, 11:53

[Risolto]Accedere ad un campo di un sottoform

Messaggio da ranger »

Ciao a tutti,
Ho un ulteriore problema.
Devo calcolare il valore di un campo di un sottoformulario come una percentuale del contenuto di un campo digitato precedentemente e che si trova anch'esso nello stesso sottoformulario.
Non so quali sono le istruzioni API che mi permettono di accedere al sottoformulario e di conseguenza ai suoi campi.
Qualcuno mi potrebbe far vedere un esempio di questo accesso?
grazie e ciao
Ultima modifica di ranger il giovedì 22 ottobre 2015, 13:30, modificato 1 volta in totale.
openoffice 4.0.1 su Windows 8
Avatar utente
Mizio1961
Volontario
Volontario
Messaggi: 841
Iscritto il: mercoledì 5 ottobre 2011, 22:55
Località: Roma

Re: Accedere ad un campo di un sottoformulario

Messaggio da Mizio1961 »

Ciao
La struttura del formulario è accessibile tramite l'oggetto pricipale che a sua volta contiene i subformulari. Questi sono visti come 'Elements' del formulario, quindi puoi ad esempio cercarli con il metodo getByName("NomeSubForm") associando il risultato a una variabile di tipo oggetto. Una volta acquisito l'oggetto subform ci lavori 'a livello'.
Saluti by Mizio ;-)
OpenOffice Windows - Libre su Ubuntu Desktop e Notebook WiFi
Per cortesia, inserisci [Risolto] nel Titolo iniziale se il tuo problema è stato risolto. ;-)
ranger
Messaggi: 79
Iscritto il: domenica 6 aprile 2014, 11:53

Re: Accedere ad un campo di un sottoformulario

Messaggio da ranger »

Buongiorno a tutti.
Anch'io ho lo stesso problema. In un sottoformulario dopo aver digitato un campo devo calcolare il successivo come percentuale del campo digitato. Il sottoformulario è una griglia. Ho visto la risposta data, ma purtroppo a me non è chiara (non conoscendo le API). Mi potreste mandare il codice per esteso o dirmi dove lo potrei recuperare?Grazie per il tempo che mi dedicate.
Ciao
openoffice 4.0.1 su Windows 8
Avatar utente
Mizio1961
Volontario
Volontario
Messaggi: 841
Iscritto il: mercoledì 5 ottobre 2011, 22:55
Località: Roma

Re: Accedere ad un campo di un sottoformulario

Messaggio da Mizio1961 »

Ciao Ranger...
Hai lo stesso problema di te stesso? 3:)
Bando alle ciance. Sarebbe meglio se alleghi il tuo formulario; in questo modo ottieni una risposta diretta.
Resto in attesa
Saluti By Mizio
OpenOffice Windows - Libre su Ubuntu Desktop e Notebook WiFi
Per cortesia, inserisci [Risolto] nel Titolo iniziale se il tuo problema è stato risolto. ;-)
ranger
Messaggi: 79
Iscritto il: domenica 6 aprile 2014, 11:53

Re: Accedere ad un campo di un sottoformulario

Messaggio da ranger »

Prima di tutto mi scuso per la frase: "Anch'io ho lo stesso problema", ma dato che mi sono inserito su un thread già esistente e non ancora in stato: "Risolto" pensavo che si vedesse anche quella parte (dove c'è una risposta che però io non comprendo perchè non conosco bene le macro e soprattutto le API). Ad ogni modo ti invio tutto il db.
Il form è: Fatture1". Il processo dovrebbe essere il seguente
L' utente digita il campo: "importo"
Il programma calcola il 4% di questo importo e lo mette sul campo: Cpa
Io ho provato a scrivere una macro che chiaramente non funziona, perché non riesco ad accedere al subform (si chiama Caricacpa).
Se devi provare il form (compreso la main form) ti informo che ci sono alcuni MSGBOX che puoi skippare tranquillamente.
Grazie per la tua collaborazione.
Ciao
Allegati
db_fatturazione.odb
(109.88 KiB) Scaricato 134 volte
openoffice 4.0.1 su Windows 8
Avatar utente
Mizio1961
Volontario
Volontario
Messaggi: 841
Iscritto il: mercoledì 5 ottobre 2011, 22:55
Località: Roma

Re: Accedere ad un campo di un sottoformulario

Messaggio da Mizio1961 »

Ciao
Ho fatto una nuova form F_Fatture, in cui ho impostato il lavoro Testata-Dettaglio Fattura
Nel grid che contiene le righe della fattura ho associato la macro grdRigheFatt all'evento alla ricezione del punto focale della colonna Cpa.
Digitando un valore in ImportoIva, questo viene moltiplicato per 4% e il risultato salvato nella colona Cpa.
Cercavi questo?
Saluti By Mizio
Allegati
db_fatturazione.odb
(120.44 KiB) Scaricato 138 volte
OpenOffice Windows - Libre su Ubuntu Desktop e Notebook WiFi
Per cortesia, inserisci [Risolto] nel Titolo iniziale se il tuo problema è stato risolto. ;-)
ranger
Messaggi: 79
Iscritto il: domenica 6 aprile 2014, 11:53

Re: Accedere ad un campo di un sottoformulario

Messaggio da ranger »

Ti ringrazio per il tempo che mi hai dedicato. Era proprio questo che volevo. L' ho provato e fa quello che richiedevo. Ho ancora una domanda da fare e poi possiamo chiudere il thread:
E' possibile sommare dati calcolati o digitati sul subform nei rispettivi campi del Main Form e, se si, mi potresti dire come si fa? ( Se si potesse fare senza l'uso di macro sarebbe ancora meglio).
Grazie di nuovo e ciao
openoffice 4.0.1 su Windows 8
Avatar utente
Mizio1961
Volontario
Volontario
Messaggi: 841
Iscritto il: mercoledì 5 ottobre 2011, 22:55
Località: Roma

Re: Accedere ad un campo di un sottoformulario

Messaggio da Mizio1961 »

Io in genere preferisco le macro perchè mi danno maggiore sicurezza, però dai un'occhiata tra i vari post, mi sembra che qualcosa ci sia in merito.
Comunque quando ho un attimo ti aggiorno con la soluzione tramite macro
Saluti
OpenOffice Windows - Libre su Ubuntu Desktop e Notebook WiFi
Per cortesia, inserisci [Risolto] nel Titolo iniziale se il tuo problema è stato risolto. ;-)
ranger
Messaggi: 79
Iscritto il: domenica 6 aprile 2014, 11:53

Re: Accedere ad un campo di un sottoformulario

Messaggio da ranger »

Ok.
Resto in attesa.
Intanto cerco nel sito. Una soluzione penso sia fare una query. (anche se non so come farla)
Grazie e ciao
openoffice 4.0.1 su Windows 8
Avatar utente
Mizio1961
Volontario
Volontario
Messaggi: 841
Iscritto il: mercoledì 5 ottobre 2011, 22:55
Località: Roma

Re: Accedere ad un campo di un sottoformulario

Messaggio da Mizio1961 »

Allora
Ti allego il tuo db con una funzione nuova che si attiva col pulsantino Aggiorna inserito nel Formulario F_Fatture
La macro prende il numero di fattura e lo usa per selezionare la somma dei PrezziUnitari delle righe appartenenti a quella fattura e lo inserisce nella colonna Imponibile della tabella di Testata Fatture
Può andare? Ci riesci a lavorare sopra per fare la stessa cosa anche agli altri campi somma della testata?
Altrimenti siamo qui ;-)
Saluti
Allegati
db_fatturazione.odb
(121.69 KiB) Scaricato 148 volte
OpenOffice Windows - Libre su Ubuntu Desktop e Notebook WiFi
Per cortesia, inserisci [Risolto] nel Titolo iniziale se il tuo problema è stato risolto. ;-)
ranger
Messaggi: 79
Iscritto il: domenica 6 aprile 2014, 11:53

Re: Accedere ad un campo di un sottoformulario

Messaggio da ranger »

Ciao Mizio,
Prima di tutto voglio ringraziarti per la tua cortesia e per il tempo che hai dedicato a questo problema (spero comunque che possa essere servito anche ad altri utenti). Ti confermo che la tua soluzione è ESATTAMENTE quello che volevo e risolve, secondo me, molti dei problemi che si hanno quando si deve aggiornare una tabella con i dati di un'altra tabella perché a quanto pare Base non lo fa automaticamente. Ho letto parecchi tutorial su Base in italiano e in inglese (compreso l'eccellente: Mid Level Tutorial for Base di Mariano Casanova), ma non ho mai visto affrontare questo tipo di problema. La tua soluzione è ottima e ti ringrazio nuovamente.
Per quanto concerne il fatto che riesca a riportare la tua soluzione ad altri campi penso che dovrò studiare la tua macro più a fondo per capire bene dove modificarla. Se avrò dei problemi mi farò vivo.
Penso che si possa chiudere il thread.
Ciao
openoffice 4.0.1 su Windows 8
Avatar utente
Mizio1961
Volontario
Volontario
Messaggi: 841
Iscritto il: mercoledì 5 ottobre 2011, 22:55
Località: Roma

Re: Accedere ad un campo di un sottoformulario

Messaggio da Mizio1961 »

ranger ha scritto:Ciao Mizio, ...
Grazie
Pare che sia come dici tu visto che è stato scaricato già diverse volte l'allegato.
Saluti e a presto ;-)
OpenOffice Windows - Libre su Ubuntu Desktop e Notebook WiFi
Per cortesia, inserisci [Risolto] nel Titolo iniziale se il tuo problema è stato risolto. ;-)
Rispondi