FUNZIONE SIMILE AL DLOOKUP

di il
27 risposte

FUNZIONE SIMILE AL DLOOKUP

Ciao a tutti

Io avrei questo problemino:

Ho una maschera "COMPROPRIETARI" in cui inserisco tramite un'altra maschera "CERCA COMPROPRIETARIO" l'IDFA, il Codice Fiscale e la Denominazione relativi all'anagrafica scelta

la struttura delle tabelle è la seguente

tblAnagrafiche:
IDFA, CODICEFISCALE, DENOMINAZIONE

tblDocumenti: le relazioni sono le seguenti:
IDDOC, IDPROP, IDCOM, DATASTIPULA tblAnagrafiche.IDFA 1 - N tblCOMPROPRIETARI.IDFA
tblDocumenti.IDDOC 1 - N tblCOMPROPRIETARI.IDDOC
tblCOMPROPRIETARI
IDCOMPROPRIETARIO, IDDOC, IDFA

Il problema mi si pone quando seleziono un altro ID per valorizzare i campi del secondo comproprietario e i dati del primo record diventano gli stessi del secondo/terzo e così via.

Come potete vedere l'IDFA è l'unico campo dei tre ad essere associato all'origine record della tabella (che è quella dei Comproprietari) ed è per questo che i dati del primo record vengono modificati una volta scelto l'id per il secondo record.

Ho provato persino con la funzione DLookUp (dopo la selezione dell'ID dell'anagrafica), ma poi mi son ricordato di essere in una maschera continua e pertanto non funziona.

Quindi, il mio quesito è:
Esiste un modo per precompilare delle caselle di testo non associate senza dover per forza inserirle come campi nella tabella?

Non chiedo ovviamente la soluzione, ma un qualcosa su cui studiare e poi provare

Ringrazio tutti anticipatamente

27 Risposte

  • Re: FUNZIONE SIMILE AL DLOOKUP

    Marcdreamer ha scritto:


    la struttura delle tabelle è la seguente

    tblAnagrafiche:
    IDFA, CODICEFISCALE, DENOMINAZIONE

    tblDocumenti: le relazioni sono le seguenti:
    IDDOC, IDPROP, IDCOM, DATASTIPULA tblAnagrafiche.IDFA 1 - N tblCOMPROPRIETARI.IDFA
    tblDocumenti.IDDOC 1 - N tblCOMPROPRIETARI.IDDOC
    tblCOMPROPRIETARI
    IDCOMPROPRIETARIO, IDDOC, IDFA
    Hai un valido motivo per aver concepito il campo tblDocumenti.IDPROP? Per me è inutile.
    In tblComproprietari tu ci metti TUTTI gli IDFA relativi a un IDDOC, poi aggiungi un campo di distinzione, direi "bivalore": Proprietario, Comproprietario.
  • Re: FUNZIONE SIMILE AL DLOOKUP

    OsvaldoLaviosa ha scritto:


    Hai un valido motivo per aver concepito il campo tblDocumenti.IDPROP? Per me è inutile.
    In tblComproprietari tu ci metti TUTTI gli IDFA relativi a un IDDOC, poi aggiungi un campo di distinzione, direi "bivalore": Proprietario, Comproprietario.
    Si, ho un valido motivo. Sapevo che metterlo nel post avrebbe creato confusione.

    Tramite la maschera "Inserimento Documento", ho la possibilità di inserire vari tipi di documenti. Alcuni si riferiscono solo all'idprop e all'idcom (in gergo proprietario e affittuario), altri tipi di documento(come l'inserimento della dichiarazione di comproprietà) prevede la valorizzazione del campo IDPROP tramite la maschera "Inserimento Documento" e la correlazione dei comproprietari.

    procedura doc. conduzione:

    nella maschera "Inserimento Documento" cerco l'anagrafica proprietaria e l'anagrafica affittuaria tramite due combobox e valorizzo i dati

    procedura dich. comproprietà:

    nella maschera "Inserimento Documento" cerco l'anagrafica proprietaria tramite combobox, dopo mi si attiva il pulsante "Inserisci Comproprietari" che mi apre la maschera "COMPROPRIETARI" quindi cerco i comproprietari da inserire tramite l'altra maschera "Cerca Comproprietari" e valorizzo i campi del record

    Spero di essere stato chiaro.
  • Re: FUNZIONE SIMILE AL DLOOKUP

    Marcdreamer ha scritto:


    Tramite la maschera "Inserimento Documento", ho la possibilità di inserire vari tipi di documenti. Alcuni si riferiscono solo all'idprop e all'idcom (in gergo proprietario e affittuario), altri tipi di documento(come l'inserimento della dichiarazione di comproprietà) prevede la valorizzazione del campo IDPROP tramite la maschera "Inserimento Documento" e la correlazione dei comproprietari.
    La maschera "Inserimento Documento" poggia sulla tblDocumenti o su altro?
  • Re: FUNZIONE SIMILE AL DLOOKUP

    Si, non l'ho specificato, ma si appoggia alla tblDocumenti

    quando ho scritto :
    la correlazione dei comproprietari
    intendevo dire che tramite la maschera "Inserimento Documento" accedo tramite un pulsante alla maschera "Comproprietari" e da questa alla maschera "Cerca Comproprietario"
  • Re: FUNZIONE SIMILE AL DLOOKUP

    Leggo e rileggo tutta la discussione, ma non riesco a venire a capo della logica generale che avresti messo in campo. Provo a usare un linguaggio più semplice e/o consono al "mio" lessico "tecnico".
    Tu hai tblAnagrafiche molti-a-molti tblDocumenti con tabella di congiunzione tblComproprietari.
    Detto ciò, una gestione normale prevede maschera/sottomaschera:
    Anagrafiche/Comproprietari
    oppure
    Documenti/Comproprietari
    Mi pare di capire che non usi maschera/sottomaschera, ma maschere collegate: va bene lo stesso.

    Ti ritrovi in questa situazione? Oppure hai dell'altro che trovo confuso e/o farraginoso, tant'è che non capisco?
    Ribadisco che trovo fermamente sbagliato il campo tblDocumenti.IDPROP. E che la tblComproprietari deve avere un campo di DISTINZIONE dove si elencano TUTTI i "Personaggi" che ruotano intorno a UN Documento e di ogni Personaggio gli si specifica che RUOLO ha.

    Diversamente dal ragionare così, io non sono in grado di proseguire.
  • Re: FUNZIONE SIMILE AL DLOOKUP

    Dunque, cercherò di essere più chiaro e a tal proposito allego anche delle videate prese da un database appena creato di prova (i nomi delle tabelle e delle maschere non sono in realtà NORMALIZZATI e pertanto per non creare confusione a chi legge ho messo qui i nomi che in teoria avrebbero dovuto avere).

    esempio dich. comproprietà:

    relazionicomporoprieta.jpg
    relazionicomporoprieta.jpg

    qui sotto invece l'esempio di un documento di conduzione che NON prevede l'utilizzo dei comproprietari ma solo di un concedente e di un concessionario (che non è quello delle macchine )

    relezionidocconduzione.jpg
    relezionidocconduzione.jpg

  • Re: FUNZIONE SIMILE AL DLOOKUP

    Quello che mi servirebbe, è come precompilare i campi Codice Fiscale e Denominazione senza copiare e salvare nel db dati inutili (nell'IDFA è già compreso sia il Codice Fiscale che la Denominazione).
    Precompilandoli, scegliendo appunto l'anagrafica dalla maschera "Cerca Comproprietario"

    Mi piacerebbe poter aprire la maschera "COMPROPRIETARI" e trovarmi (nel caso in cui fossero già inseriti) tutti i dati visibili e non solo l'IDCOMPROPRIETARIO che non mi dice assolutamente nulla
  • Re: FUNZIONE SIMILE AL DLOOKUP

    Io non capisco perché ci fai vedere schermate di strutture tabelle NON NORMALIZZATE sapendo che non lo sono. Se si è capito che la struttura non va, la prima coda da fare è NORMALIZZARE.
    Io forse intuisco quello che vuoi, ma in assenza di tutto quello che ho scritto prima, non vi è alcun senso cominciare ad implementare qualcosa. Quando lo implementeremo, useremo i nomi tabelle.campi corretti e si potrà fare un discorso che fila liscio e comprensibile.
  • Re: FUNZIONE SIMILE AL DLOOKUP

    Allora Osvaldo, i dati che ho inviato sono NORMALIZZATI. Quelli che non sono normalizzati (nel senso hanno nomi di tabelle o campi con spazi o molto lunghi) non li ho inviati !!!!
    e pertanto per non creare confusione a chi legge ho messo qui i nomi che in teoria avrebbero dovuto avere

    Prendi come esempio, nel caso tu voglia aiutarmi, i dati che ho inviato tramite questo post ... a me serve una linea guida non la pappa pronta. Poi, sarò in grado da solo a convertire la soluzione adattandola al mio db NON normalizzato (e intendo sempre riguardo ai nomi ... non alle relazioni che sono invece perfettamente NORMALIZZATE)
  • Re: FUNZIONE SIMILE AL DLOOKUP

    Nel forum siamo abituati a ragionare per logica oltre che per tecnica (boh, non so nemmeno cosa ho scritto)...comunque sia (almeno per me) i nomi campo sono IMPORTANTISSIMI.
    Per me facevi meglio a descrivere tblA, tblB, tblC. tblA molti-a-molti tblB con tabella di congiunzione tblC.
    Ora elenca tu i campi di queste 3 tabelle e rispiega tutto usando questi ultimi nomi campi delle nuove tabelle. Idem farai con le maschere.
  • Re: FUNZIONE SIMILE AL DLOOKUP

    OsvaldoLaviosa ha scritto:


    Nel forum siamo abituati a ragionare per logica oltre che per tecnica (boh, non so nemmeno cosa ho scritto)...comunque sia (almeno per me) i nomi campo sono IMPORTANTISSIMI.
    Per me facevi meglio a descrivere tblA, tblB, tblC. tblA molti-a-molti tblB con tabella di congiunzione tblC.
    Ora elenca tu i campi di queste 3 tabelle e rispiega tutto usando questi ultimi nomi campi delle nuove tabelle. Idem farai con le maschere.
    ok, rispiego ancora:

    tabelle:

    tblAnagrafiche:
    IDFA, CODICEFISCALE, DENOMINAZIONE

    tblDocumenti:
    IDDOC, IDPROP, IDCOM (E' un campo che mi serve per altri tipi di documento), DATASTIPULA

    tblComproprietari:
    IDCOMPROPRIETARIO, IDDOC, IDFA

    Relazioni:
    tblAnagrafiche 1 - N tblDocumenti (tramite IDFA-IDPROP)
    tblDocumenti 1 - N tblComproprietari (tramite IDDOC - IDDOC)
    tblAnagrafiche 1 - N tblComproprietari (tramite IDFA - IDFA)

    (Spiegazione relazioni: un'anagrafica può avere molti documenti, ma un documento può essere associato solo ad un'anagrafica "proprietaria"; un documento può avere molti comproprietari e un comproprietario (inteso come IDFA) può essere presente in molti documenti)

    Le maschere sono:
    InserimentoDocumento: dove, in questo caso, inserisco l'IDPROPRIETARIO tramite combobox
    InserimentoComproprietari: dove creo i record dei comproprietari tramite la selezione dell'anagrafica in un'altra maschera "CercaComproprietario" (che prende i dati dalla tblAnagrafiche)

    E' meglio?
  • Re: FUNZIONE SIMILE AL DLOOKUP

    La maschera Comproprietari deve essere bastata su una query che recupera anche i dati dalla tabella anagrafica... quindi metti nella query sia la TblComproprietari in Join con la TblAnagrafica e recuperi CF e DENOMINAZIONE.
    La maschera continua quindi avrà 5 controlli associati.. di cui IDFA sarà 1 combo e 2 TextBox(CF e DENOMINAZIONE) ma queste textbox saranno NON EDITABILI... in più IdProprietario ed IDdoc entrambi non EDITABILI.
  • Re: FUNZIONE SIMILE AL DLOOKUP

    @Alex ha scritto:


    La maschera Comproprietari deve essere bastata su una query che recupera anche i dati dalla tabella anagrafica... quindi metti nella query sia la TblComproprietari in Join con la TblAnagrafica e recuperi CF e DENOMINAZIONE.
    La maschera continua quindi avrà 5 controlli associati.. di cui IDFA sarà 1 combo e 2 TextBox(CF e DENOMINAZIONE) ma queste textbox saranno NON EDITABILI... in più IdProprietario ed IDdoc entrambi non EDITABILI.
    Grazie, grazie, grazie!!!!!!!!

    Funziona perfettamente!
  • Re: FUNZIONE SIMILE AL DLOOKUP

    Provo a decifrare

    Marcdreamer ha scritto:


    Ciao a tutti
    Io avrei questo problemino:
    Ho una maschera "COMPROPRIETARI"
    Singola o continua?
    Su quale Tab Poggia?
    in cui inserisco tramite un'altra maschera "CERCA COMPROPRIETARIO"
    questa maschera ha come OrigineRecord la tblAnagrafiche...giusto?
    Cosa fai, aggiungi record alla maschera compropietari?...o cos'altro?
    tblDocumenti:
    IDDOC, IDPROP, IDCOM, DATASTIPULA

    questa tabella da dove salta fuori? ...cosa c'entra con quello che hai descritto sopra?

    Il problema mi si pone quando seleziono un altro ID
    Selezioni l'ID...quale...dove ...come ?
    per aggiungere...modificare...cosa...in quale maschera?
    per valorizzare i campi del secondo comproprietario e i dati del primo record diventano gli stessi del secondo/terzo e così via.
    Cosa vuol dire "valorizzare i campi del secondo....?
    Ci troviamo in una maschera singola con sottomaschera continua?
    Come potete vedere l'IDFA è l'unico campo dei tre ad essere associato all'origine record della tabella (che è quella dei Comproprietari)
    ed è per questo che i dati del primo record vengono modificati una volta scelto l'id per il secondo record.
    ma come lo scegli l'id del secondo record?
    lo scegli per aggiungerlo alla maschera comproprietari?
    Ho provato persino con la funzione DLookUp (dopo la selezione dell'ID dell'anagrafica), ma poi mi son ricordato di essere in una maschera continua e pertanto non funziona.
    chi lo ha detto che il dlook nelle maschere continue non funziona?
    dove lo metti ? dopo quale azione? con quale codice lo fai?
    Quindi, il mio quesito è:
    Esiste un modo per precompilare delle caselle di testo non associate senza dover per forza inserirle come campi nella tabella?
    La risposta è sempre si!
    In controlli non associati? ma allora ti servono solo per vederli?
    Restiamo in attesa.
    Saluti Gianni
Devi accedere o registrarti per scrivere nel forum
27 risposte