Far comparire Valore su Campo in base a Casella Combinata

di il
10 risposte

Far comparire Valore su Campo in base a Casella Combinata

Buongiorno
Ho una maschera con vari campi tra cui una casella combinata con dei valori e un altro campo nel quale voglio che compaiano gli importi relativi a quei valori per quel determinato CODICE CLIENTE che è presente come dato sempre nella stessa maschera.
Nella casella combinata ho :
Business Plan Minor
Business Plan Extended
Bilanci Previsionali
MCC Compliant
MCC Finance
CRIAS
CRIAS MT
RESTO AL SUD
RESTO AL SUD (%)

Nel campo che voglio valorizzare con gli importi contenuti in un'altra tabella ho messo questo codice :
=IIf([consulenzeProm.Consulenza]="Business Plan Minor";[BP MIN];IIf([consulenzeProm.Consulenza]="Business Plan Extended";[BP EXT];IIf([consulenzeProm.Consulenza]="Bilanci Previsionali";[BIL PREV];IIf([consulenzeProm.Consulenza]="MCC COMPLIANT";[MCC COMPL];IIf([consulenzeProm.Consulenza]="MCC FINANCE";[MCC FINANCE];IIf([consulenzeProm.Consulenza]="CRIAS";[CRIAS];IIf([consulenzeProm.Consulenza]="CRIAS MT";[CRIAS MT];IIf([consulenzeProm.Consulenza]="RESTO AL SUD";[RESTO AL SUD];IIf([consulenzeProm.Consulenza]="RESTO AL SUD (%)";[RESTO AL SUD %])))))))))
Praticamente questo codice mi dice che se scelgo un valore dalla casella combinata che si Chiama Consulenza allora mi deve dare quanto contenuto nei campi relativi (es BP EXT) presente nella tabella "ELENCOPROM" che è presente nella query che sta dietro la Maschera.

Ma ciò non accade... il campo rimane vuoto.

10 Risposte

  • Re: Far comparire Valore su Campo in base a Casella Combinata

    alessandro.vitale ha scritto:


    Ho una maschera con vari campi tra cui una casella combinata con dei valori e un altro campo nel quale voglio che compaiano gli importi relativi a quei valori per quel determinato CODICE CLIENTE che è presente come dato sempre nella stessa maschera.
    Alessandro abituati a dire sempre i nomi propri di tutto ciò che descrivi. Serve agli altri utenti per comprendere meglio il tuo scenario. Quindi nomi propri di maschera, campi, ecc...

    alessandro.vitale ha scritto:


    Nel campo che voglio valorizzare con gli importi contenuti in un'altra tabella ho messo questo codice
    Quello che hai scritto è una ESPRESSIONE, non un codice...poco male (almeno per me).
    Piuttosto si tratta di una IIf troppo lunga/nidificata. In questi casi meglio gestire tutto in VBA. La questione mi appare alquanto intricata...sinceramente non riesco a trovare il bandolo della tua matassa.
  • Re: Far comparire Valore su Campo in base a Casella Combinata

    Scusami...
    allora.
    io ho 1 Maschera che si chiama "ConsulenzeProm1"
    dentro questa maschera ho dei campi:
    ID
    NDG PROMOTORE
    COLLABORATORE
    AZIENDA
    CONSULENZA (Casella combinata)
    PROVVIGIONE CONSULENZA
    COMMISSIONI CREDIMPRESA (campo reso visibile o invisibile in base a cosa si sceglie nella casella combinata)

    Attualmente funziona in questo modo:
    Da un'altra maschera con il campo ID ed NDG PROMOTORE già valorizzato, con una macro mi apro la maschera "ConsulenzeProm1"
    che mi si apre con già i campi ID NDG PROMOTORE e COLLABORATORE precompilati.
    La maschera serve ad aggiungere una consulenza fatta dal Collaboratore/Promotore e riconoscergli poi le provvigioni in Suo favore.

    Dopo Scrivo il nome dell'azienda alla quale il Collaboratore ha fatto la consulenza e dopo dalla casella combinata scelgo quale consulenza ha fatto. tra quelle che ti ho elencato nel post originario.
    Ciascun promotore/collaboratore ha una Sua provvigione personalizzata in base alla consulenza che fa.
    Le provvigioni personalizzate si trovano dentro una tabella ELENCOPROM che sta nella query associata alla Maschera " ConsulenzeProm1"
    Dentro la tabella ELENCOPROM ci sono pure i dati NDG PROMOTORE COLLABORATORE E ID.

    Non riesco far comparire nel campo PROVVIGIONE CREDIMPRESA il valore della provvigione personalizzata a quel promotore per quel determinato prodotto di consulenza scelto nella casella combinata.

    spero di essere stato chiaro
  • Re: Far comparire Valore su Campo in base a Casella Combinata

    Non sono sicuro di risponderti correttamente, per vari motivi:
    1. La tua descrizione mi appare farraginosa e "forse" non normalizzata, ma...
    2. Ci può stare che tu preferisci una "impostazione" valori con macro, volta per volta e non con relazione sistematica, perchè...
    3. Mi pare di capire che vuoi preimpostare...qua non ti seguo con le tue denominazioni campi...
    [quote="alessandro.vitale]Non riesco far comparire nel campo PROVVIGIONE CREDIMPRESA il valore della provvigione personalizzata a quel promotore per quel determinato prodotto di consulenza scelto nella casella combinata.[/quote]
    PROVVIGIONE CREDIMPRESA...si tratta di uno o due campi? Se è uno quale tra gli ultimi due che hai elencato?
    ...riprendo "preimpostare"... per poi avere sempre la facoltà di cambiare/modificare in seconda battuta.

    Se ti dicessi che ho realizzato qualcosa di simile, ma non saprei spiegartelo perchè il mio scenario è completamente diverso dal tuo?
    Fatte ste premesse da aria fritta...in sostanza devi pensare a un
    DLookup("[campo con valore che vuoi impostare]", "ELENCOPROM", filtro da impostare opportunamente)
    in VBA è tutto più lineare...non so se puoi realizzare la stessa cosa con macro.
  • Re: Far comparire Valore su Campo in base a Casella Combinata

    Non ci ho capito una mazza
  • Re: Far comparire Valore su Campo in base a Casella Combinata

    Sarebbe bene che tu descrivessi tutto dettagliatamente in questo modo, senza sbagliare le denominazioni:
    - nomi propri di tutte le tue tabelle
    - nomi propri di tutti i campi di ogni tabella con indicazione della chiave primaria
    - le relazioni
    - nomi propri di tutte le maschere
    - rispiega tutto usando i nomi propri

    In alternativa ai primi 3 punti, puoi allegare una immagine della Finestra Relazioni.
  • Re: Far comparire Valore su Campo in base a Casella Combinata

    Salve Alessandro
    Volevo sottolineare alcune cose:
    1) Vedo un uso spropositato delle descrizioni es. "Crias" etc...mentre il richiamo alle descrizioni andrebbe fatto per mezzo degli id delle relative
    tabelle...ti faccio un esempio, se in un'ipotetica tabella "CLIENTI" avremmo un record:
    IdCliente....NomeCliente
    123...........Camillo Benso Conte di Cavour
    quando daremo istruzioni ad ACCESS diventa più semplice informare ACCESS con quel "123" al posto di indicare l'intero nome foriero di parecchi errori...non ti pare?
    2) Il primo suggerimento da dare è questo: tutte le tabelle debbono avere un ID completato con il nome delle tabelle es: IdCiente per la tabella
    Clienti.
    Andrei avanti ma mi fermo quì, come dice il caro Osvaldo dacci le tabelle complete di "ID" come sopra e andiamo avanti senza questo la vedo dura.
    Saluti e scusate l'intromissione.
  • Re: Far comparire Valore su Campo in base a Casella Combinata

    Allora,
    credo di aver capito il problema dove sta.
    e ho creato gli screenshot delle cose che possono aiutarci
    Partiamo da una maschera "Promotori_Consulenze"

    contenente due campi. Il primo è una casella combinata dal quale mi scelgo il nome del promotore a cui devo andare ad assegnare la consulenza... e il secondo campo è l'NDG identificativo del promotore che esce fuori in automatico selezionando il nome del promotore dalla casella combinata.

    Successivamente clicco su INSERISCI CONSULENZA e ho quest'altra Maschera "Consulenze Prom1"

    Dove ho 6 campi:
    ID = è sempre nuovo e va a scrivere nella tabella CONSULENZEPROM (tabella dove vengono inserite tutte le consulenze fatte da tutti i promotori)
    NDG = già compilata perché si prende il dato dal campo successivo Collaboratore
    Collaboratore = il campo viene valorizzato dalla casella combinata della prima maschera.
    Azienda= la scrivo io a mano e va a scrivere nella tabella CONSULENZEPROM
    Consulenza= è una casella combinata dove c'è l'elenco di tutte le consulenze possibili e va a scrivere sempre nella tabella CONSULENZEPROM

    Provvigioni Consulenza = è proprio quel campo che voglio si valorizzasse a seconda del tipo di consulenza scelta nella casella combinata di sopra ed in base all'ndg del promotore/collaboratore.

    Ecco la struttura della maschera ConsulenzeProm1 :

    Vedete pure un campo in fondo che funziona... quindi non lo includerei nella questione

    Ecco la Query che c'è sotto la Maschera ConsulenzeProm1


    Ecco la Tabella ELENCOPROM dalla quale voglio che il campo PROVVIGIONI CONSULENZA venga valorizzato:


    Esempio pratico:
    Al collaboratore ALESCIO GIORGIO voglio assegnare una consulenza di business plan Minor :

    Tramite questo IIF :
    =IIf([consulenzeProm.Consulenza]="Business Plan Minor";[BP MIN];IIf([consulenzeProm.Consulenza]="Business Plan Extended";[BP EXT];IIf([consulenzeProm.Consulenza]="Bilanci Previsionali";[BIL PREV];IIf([consulenzeProm.Consulenza]="MCC COMPLIANT";[MCC COMPL];IIf([consulenzeProm.Consulenza]="MCC FINANCE";[MCC FINANCE];IIf([consulenzeProm.Consulenza]="CRIAS";[CRIAS];IIf([consulenzeProm.Consulenza]="CRIAS MT";[CRIAS MT];IIf([consulenzeProm.Consulenza]="RESTO AL SUD";[RESTO AL SUD];IIf([consulenzeProm.Consulenza]="RESTO AL SUD (%)";[RESTO AL SUD %])))))))))
    gli sto dicendo che in base a quello che scelgo nella casella combinata Consulenza (in questo caso BUSINESS PLAN MINOR) mi devi dare l'importo corrispondente contenuto nella TABELLA ELENCOPROM (BP MIN) relativo al promotore ALESCIO GIORGIO.

    Questo non mi riesce.

    Spero vivamente di essermi spiegato a dovere...in caso contrario... ditemi dove abitate che vengo
  • Re: Far comparire Valore su Campo in base a Casella Combinata

    Ripeto:
    Gli Id li devi nominare seguiti dai nomi tabella altrimenti non si capisce nulla.
    L'intero progetto deve essere rivisto in funzione di un DataBase relazionale mentre il tutto ha un forte sapore di EXCEL da abbandonare immediatamente.
  • Re: Far comparire Valore su Campo in base a Casella Combinata

    Non comprendo....
    si che ci sia un forte sapore di EXCEL è vero.... ma non ho altri strumenti o conoscenze tali da utilizzare.
    Al omento mi devo arrangiare con questo sistema.

    Avete una soluzione alla mia domanda?
  • Re: Far comparire Valore su Campo in base a Casella Combinata

    alessandro.vitale ha scritto:


    Non comprendo....
    si che ci sia un forte sapore di EXCEL è vero.... ma non ho altri strumenti o conoscenze tali da utilizzare.
    Al omento mi devo arrangiare con questo sistema.
    Avete una soluzione alla mia domanda?
    Non esiste una soluzione alla tua domanda. Access ha una logica "completamente" diversa da Excel. Tutto deve passare attraverso la suddivisione dei dati su "molte" più tabelle di quelle che hai mostrato, sfruttando opportune relazioni. Questo concetto, che il forum richiede dagli utenti sapere già di base, si chiama NORMALIZZAZIONE.
    Tu hai un problema che sta molto prima, che devi risolvere a livello di progettazione, poi scoprirai che tutto si risolverà in altro modo, con altra prospettiva.
    Consiglio: consulta un manuale di base di Access.
Devi accedere o registrarti per scrivere nel forum
10 risposte