[Risolto]RowSource Combobox in base a valore maschera

di il
19 risposte

[Risolto]RowSource Combobox in base a valore maschera

Buona domenica a tutti, vi scrivo poichè avrei la necessità/consiglio su come gestire la cosa.
In base al tipo di documento (fattura fiscale, ricevuta, fattura da fornitore...) vorrei cambiare il RowSource della combobox relativamente ai dati intestazione.
La lista delle tipologie di documenti sono elencati nella tabella tblTipoDocumento dove, a seconda dei flag nei campi "DocumentoACliente" e "DocumentoAFornitore" vorrei poter quindi cambiare il recordsource della combobox dell'intestazione.
Non riesco a strutturare la cosa in maniera "funzionale" ma per intenderci se il tipo di documento è "Ricevuta Fiscale" l'intestazione deve essere relativa ai clienti presenti nella tblAnagrafiche che hanno a loro volta un flag sul campo "Cliente"

Edit. Nei vari post erroneamente scrivevo RecordSource in vece si parla sempre di RowSource

19 Risposte

  • Re: [Risolto]RowSource Combobox in base a valore maschera

    Chiarisci tutto con nomi propri:
    - nome maschera (stiamo parlando di una maschera vero?)
    - nome casella combinata (combobox)
    - dove si trova questa "intestazione"
    - nomi di tutti i campi
    - rispiega tutto usando i nomi propri
  • Re: [Risolto]RowSource Combobox in base a valore maschera

    OsvaldoLaviosa ha scritto:


    Chiarisci tutto con nomi propri:
    - nome maschera (stiamo parlando di una maschera vero?)
    - nome casella combinata (combobox)
    - dove si trova questa "intestazione"
    - nomi di tutti i campi
    - rispiega tutto usando i nomi propri
    Si, com'era intuibile è tutto contenuto in una maschera.
    La maschera si chiama "FormInserisciDocumenti" ed i valori relativi alla casella combinata "TipoDocumento" provengono da una maschera "FormInserisciDocumentiCrea" che selezionando in una combobox il tipo di documento, in una textbox "DataRiferimento" fanno in maniera tale che la "FormInserisciDocumenti" erediti il giusto numero documento e data in base alla tipologia documento all'apertura.
    I nomi campo non credo che serva descriverli perchè non interessano, credo, nella risoluzione del problema poichè tutto gira intorno alla combobox "TipoDocumento".

    All'azione Form_Load non riesco a formulare il giusto codice o il controllo da gestire per dare alla combobox "Cognome", contenuta nella "FormInserisciDocumenti" il giusto recordsource.
    So che gli oggetti non sono normalizzati ma passatemela, sto sviluppando dopo molto tempo che era ferma e prefersco finirla prima e poi normalizzare o almeno normalizzare ciò' che creo exnovo
  • Re: [Risolto]RowSource Combobox in base a valore maschera

    La tua descrizione a me appare confusa. Se la situazione tabelle non è normalizzata...qualcosa mi dice che un grosso problema nasce proprio da lì. Ciò impedisce te di realizzare comodamente quello che staresti richiedendo. Di conseguenza a chi è abituato a ragionare in ambiente normalizzato suona di impossibile comprensione.

    Veramente non hai descritto il tuo scenario tabelle. Come facciamo a essere certi se è normalizzato oppure no?
  • Re: [Risolto]RowSource Combobox in base a valore maschera

    OsvaldoLaviosa ha scritto:


    La tua descrizione a me appare confusa. Se la situazione tabelle non è normalizzata...qualcosa mi dice che un grosso problema nasce proprio da lì. Ciò impedisce te di realizzare comodamente quello che staresti richiedendo. Di conseguenza a chi è abituato a ragionare in ambiente normalizzato suona di impossibile comprensione.

    Veramente non hai descritto il tuo scenario tabelle. Come facciamo a essere certi se è normalizzato oppure no?
    Ciao Osvaldo e grazie anchora per l'interessamento.
    Per le tabelle, i campi sono normalizzati ma ciò che non lo è, sono i nomi oggetto all'interno della form es
    la combobox relativa all'intestazione si chiama Cognome e non cboCognome, per intenderci

    Ma al di la della normalizzazione che piano piano sistemerò, come posso gestire l'evento del recordsource della cbo relativa all'intestazione a seconda del documento in fase di creazione?
    Gli altri campi delle tabelle non li ho elencati perchè relativi a dati contabili che non hanno attinenza con la tipologia del problema...
  • Re: [Risolto]RowSource Combobox in base a valore maschera

    zio Ken ha scritto:


    OsvaldoLaviosa ha scritto:


    Per le tabelle, i campi sono normalizzati ma ciò che non lo è, sono i nomi oggetto all'interno della form es la combobox relativa all'intestazione si chiama Cognome e non cboCognome, per intenderci
    La normalizzazione non investe questi "piccoli" aspetti, ma solo la corretta organizzazione delle tabelle attraverso i campi chiave e le relazioni.

    Il mio punto di vista dice: non ci ho capito nulla. Occorre descrivere:
    - di cosa parla il database
    - nomi propri di tutte le tabelle
    - nomi propri di tutti i campi di ogni tabella con indicazione della chiave primaria
    - le relazioni
    - nomi propri di maschere e su quali tabelle poggiano
    - tutte le proprietà riguardanti la combobox

    Non vorrei andare oltre e/o esagerare, ma qualcosa mi dice che forse puoi gestire meglio tutto l'assetto partendo un po' più da dietro...ma ho bisogno dei dettagli che ho esposto prima.
    Se riesci a postare una immagine della finestra Relazioni, risparmi i punti 2-3-4.
  • Re: [Risolto]RowSource Combobox in base a valore maschera

    OsvaldoLaviosa ha scritto:


    zio Ken ha scritto:


    OsvaldoLaviosa ha scritto:


    Per le tabelle, i campi sono normalizzati ma ciò che non lo è, sono i nomi oggetto all'interno della form es la combobox relativa all'intestazione si chiama Cognome e non cboCognome, per intenderci
    La normalizzazione non investe questi "piccoli" aspetti, ma solo la corretta organizzazione delle tabelle attraverso i campi chiave e le relazioni.

    Il mio punto di vista dice: non ci ho capito nulla. Occorre descrivere:
    - di cosa parla il database
    - nomi propri di tutte le tabelle
    - nomi propri di tutti i campi di ogni tabella con indicazione della chiave primaria
    - le relazioni
    - nomi propri di maschere e su quali tabelle poggiano
    - tutte le proprietà riguardanti la combobox

    Non vorrei andare oltre e/o esagerare, ma qualcosa mi dice che forse puoi gestire meglio tutto l'assetto partendo un po' più da dietro...ma ho bisogno dei dettagli che ho esposto prima.
    Se riesci a postare una immagine della finestra Relazioni, risparmi i punti 2-3-4.
    Scusami se rispondo a distanza di molto tempo ma purtroppo il tempo non basta mai...
    Ecco le relazioni incriminate e la tabella relativa alle anagrafiche

    image uploader
    Il database, serve per gestire tipo di documento emessi, creabili se contenuti nella "tblTipoDocumento".
    Ho creato una maschera FormInserisciDocumentiCrea che, tramite una combobox (nome elemento:"SelezionaDocumento"), permette di scegliere che tipo di documento creare. Di seguito il codice.
    SELECT DISTINCTROW tblTipoDocumento.TipoDocumento, tblTipoDocumento.IDTipoDocumento, tblTipoDocumento.Descrizione, tblTipoDocumento.Attivo
    FROM tblTipoDocumento INNER JOIN tblSottoTipoDocumento ON tblTipoDocumento.IDSottoTipoDocumento = tblSottoTipoDocumento.IDSottoTipoDocumento
    WHERE (((tblTipoDocumento.Attivo)=True));
    
    Nella stessa maschera vi è una textbox dove inserire la data documento con nome elemento:"DataRiferimento".
    Tramite un pulsante apro la "FormInserisciDocumenti" passando tramite un arrey i parametri assegnando, dopo un controllo, il progressivo giusto per quella tipologia di documento.

    All'apertura della "FormInserisciDocumenti", che poggia quindi sulla tabella "tblScarichi", leggo la stringa di argomenti ed assegno i valori dell'array ai controlli della maschera.
    combobox TipoDocumento il tipo di documento - textbox NumeroDocumento il progressivo relativo a quel documento - textbox DataDocumento la data documento.

    Ora vorrei gestire i campi relativi all'intestazione (combobox Cognome) che, se il documento in fase di creazione ha il flag sul campo "DocumentoACliente" della tabella "tblTipoDocumento", il recordsource della combobox Cognome sia relativo alle sole anagrafiche tabella "tblAnagrafiche" con flag sul campo "Cliente" e così per forniori...
    Help me
  • Re: [Risolto]RowSource Combobox in base a valore maschera

    Per me ci sono troppi campi qua e là, ma non sono in grado di distinguere cosa togliere.

    ANALISI e NORMALIZZAZIONE:
    1. Non vedo una relazione che parte da Anagrafica e arriva a Scarichi.
    2. Perdonami, ma non comprendo il lessico del tuo campo professionale. Potresti fare qualche esempio pratico di 2-3 Documenti, a cosa dovrebbero servire?
    3. Conseguenza del punto 2. descrivimi anche a cosa serve la tabella Scarichi.
  • Re: [Risolto]RowSource Combobox in base a valore maschera

    OsvaldoLaviosa ha scritto:


    Per me ci sono troppi campi qua e là, ma non sono in grado di distinguere cosa togliere.

    ANALISI e NORMALIZZAZIONE:
    1. Non vedo una relazione che parte da Anagrafica e arriva a Scarichi.
    2. Perdonami, ma non comprendo il lessico del tuo campo professionale. Potresti fare qualche esempio pratico di 2-3 Documenti, a cosa dovrebbero servire?
    3. Conseguenza del punto 2. descrivimi anche a cosa serve la tabella Scarichi.
    La tblScarichi è la tabella tramite il quale le informazioni della fattura fiscale, ricevuta fiscale, preventivo e varie vengono immagazzinate.
    Vi è una sottotabella della tblScarichi , collegata ad essa tramite id che ne memorizza le specifiche relative agli articoli ma non l'ho inserita poichè non ci avrebbe in qualche modo aiutato...

    Il mio problema è che non riesco ad elaborare qualcosi che mi aiuti...
    Stavo provando tramite un dlookup, poi con DAO...ma non riesco a "costruire" un qualcosa che verificando la condizione relativa alla combobox "TipoDocumento" della "FormInserisciDocumenti" mi cambiasse il recordsource della combobox Cognome sempre nella "FormInserisciDocumenti"...
    Che tipo di funzione potrei utilizzare per questa tipologia di problema?

    EDIT: nel campo "TipoDocumento" della tabella tblTipoDocumento vi sono i codici documento, campo "Descrizione" il nome esteso del documento... es:
    IDTipoDocumento:1
    TipoDocumento:FA
    Descrizione:Fattura Fiscale.

    Quando vado a creare un nuovo documento di tipo fattura, la combobox nella "FormInserisciDocumenti" assumerà valore "FA" e così via..
  • Re: [Risolto]RowSource Combobox in base a valore maschera

    Devo essere sincero sincero: avverto ancora un certo caos progettuale. Tuttavia vorrei provare a rileggere da qui

    zio Ken ha scritto:


    In base al tipo di documento (fattura fiscale, ricevuta, fattura da fornitore...) vorrei cambiare il recordsource della combobox relativamente ai dati intestazione.
    La lista delle tipologie di documenti sono elencati nella tabella tblTipoDocumento dove, a seconda dei flag nei campi "DocumentoACliente" e "DocumentoAFornitore" vorrei poter quindi cambiare il recordsource della combobox dell'intestazione.
    Non riesco a strutturare la cosa in maniera "funzionale" ma per intenderci se il tipo di documento è "Ricevuta Fiscale" l'intestazione deve essere relativa ai clienti presenti nella tblAnagrafiche che hanno a loro volta un flag sul campo "Cliente"
    Io ragionerei così:
    1. Creo tante query quante sono quelle che "rappresentano" i tuoi "recordsource". Queste query avranno tutte lo stesso 1° campo (IDNonHoCapitoCosa), ma i restanti campi filtrati caso per caso. Ogni query avrà il proprio NomeQuery.
    2. Nella maschera predisponi un comando (non so un pulsante) che deve darti la possibilità di "scegliere" quale query deve "governare" il recordsource della tua casella combinata.
  • Re: [Risolto]RowSource Combobox in base a valore maschera

    E' che vorrei gestirlo in maniera automatica, perchè la tabella relativa ai documenti può essere incrementata ed in quel caso l'utente finale avrebbe problemi nella gestione...
    Stavo pensando alla DAO poichè stavo strutturando in maniera tale da leggere il valore nella tabella tblScarichi del campo TipoDocumento tramite l'id ma una volta letto, non immagino come poter procedere...
  • Re: [Risolto]RowSource Combobox in base a valore maschera

    Per me non è questione di DAO.
    Quanti sono i casi di "diversi" recordsource?
    Descrivi tutti questi casi con esempi "concreti", ossia:
    - sig. Rossi Mario, Cliente o Fornitore, oggi fa questo, domani fa quest'altro...
    - Divella, Fornitore, il giorno X fa questo, il giorno Y fa quest'altro, il giorno Z fa un'altra cosa ancora.
    Io altrimenti non ne vengo a capo.
  • Re: [Risolto]RowSource Combobox in base a valore maschera

    Giuro che dopo tutti questi post non ho ancora capito cosa vuoi fare e perché devi cambiare di una Combo qualche cosa che chiami Recordsource ma di certo non può essere il Recordsource... eventualmente il Rowsource... e già questo la dice lunga...

    Riesci in 20 parole a sintetizzare...?
  • Re: [Risolto]RowSource Combobox in base a valore maschera

    @Alex ha scritto:


    Giuro che dopo tutti questi post non ho ancora capito cosa vuoi fare e perché devi cambiare di una Combo qualche cosa che chiami Recordsource ma di certo non può essere il Recordsource... eventualmente il Rowsource... e già questo la dice lunga...

    Riesci in 20 parole a sintetizzare...?
    Ciao Alex, grazie per l'interessamento.

    Ho una maschera "FormInserisciDocumenti" con origine record la tabella "tblScarichi" che immagazzina i documenti emessi.
    Nella "FormInserisciDocumenti" vi è una combobox chiamata "TipoDocumento".

    Tramite tale form,voglio gestire, a seconda se il documento è relativo ad un fornitore (es. Nota di Credito da Fornitore) o relativo ad un cliente (Fattura fiscale, ricevuta fiscale...) il Rowsource(chiedo venia a tutti) vari selezionando dalla tblAnagrafiche i fornitori o clienti.
    Tale discriminazione può essere effettuata, credo, tramite la tabella "tblTipoDocumento". Ho inserito dei campi booleani per Clienti, Fornitori e documenti da terzi.

    In poche parole e scusami se sono risultato prolissoma non sapevo più come spiegare la problematica...
    In fase di creazione documento, il tipo documento (FA per Fattura Fiscale) viene immagazzinato nella casella di testo "TipoDocumento"
    Come posso strutturare una procedura, controlli, funzioni... che se la cesella di testo "TipoDocumento" contiene FA il Rowsource della combobox Cognome sia relativo ai clienti
  • Re: [Risolto]RowSource Combobox in base a valore maschera

    Intanto non devi CAMBIARE nulla, o almeno non dovresti cambiare nulla se avessi una struttura corretta, vale a dire se avessi la possibilità di individuare per ogni TIPO CLIENTE la tipologia di DOCUMENTO.
    Siccome hai una TAbella di Documenti ed una Tabella TipoClienti(quelli che accennavi prima) che sicuramente definiscono nella Tabella Anagrafica che tipo di Utente è... dovrebbe saltarti all'occhio che serve una Tabella di CONGIUNZIONE tra TipoCliente e TipoDocumento [DocumCliente].
    A quel punto nella ComboBox di selezione, che sarà basata su una Query a 3 Tabelle(TipoCliente-DocumCliente-TipoDocumento)
    Da queste tabelle in JOIN prendi i campi che ti servono ma metterai una WHERE nel campo TipoCliente, prelevato dal Controllo TipoCliente della Form Anagrafica...
Devi accedere o registrarti per scrivere nel forum
19 risposte