Richiamare maschera per inserimento dati

di il
27 risposte

Richiamare maschera per inserimento dati

Ciao a tutti ,
scusatemi per il titolo un pò generico e poco chiaro ... ma spero di potermi spiegare meglio qui...
Sto provando a creare un piccolo gestionale con Access per gestire la clientela di una agenzia immobiliare .
Sono a buon punto : ho creato la maschera principale che fa riferimento alla tabella " Clienti " dove si trovano tutti i campi relativi al cliente con id relativo (chiave primaria ) . All'interno di questa maschera ho anche creato una sottomaschera che fa riferimento alle relazioni intrattenute con i singoli clienti . Nella maschera "Clienti" ho anche predisposto dei tasti di spostamento tra record e quando passo da un record all'altro anche la sottomaschera skippa al cliente successivo.....tutto regolare...
Poi ho creato una tabella "Immobili" che mi serve per catalogare gli immobili e qui ho inserito sia un id come chiave primaria che un id esterno e quest 'ultimo lo ho messo in relazione con l' id della tabella "Clienti".
Infine ho creato una seconda maschera con all'interno i campi id , nome , cognome della tabella "Clienti" e relativa sottomaschera "Immobili" con i campi della relativa tabella . Nella tabella "Clienti" ho creato un pulsante che mi apre la maschera "Immobili".
Il risultato che speravo di ottenere era di poter aggiungere un immobile in questo modo....
1 dalla maschera "Clienti" selezionare un determinato cliente
2 aprire maschera "Immobili" con l'apposito tasto"
3 compilare tutti i campi
....ma il problema è che quando apro la maschera "Immobili" non trovo l'id/nome/cognome già selezionati nella maschera "Clienti" ma uno random....
dove sto sbagliando?
l'unica soluzione è mettere la maschera "Immobili come sottomaschera della "Clienti"? c'è un'altra soluzione?
spero che mi possiate dare un suggerimento

27 Risposte

  • Re: Richiamare maschera per inserimento dati

    Non capisco il nesso tra sottomaschera RelazioniIntercorse e eventuale sottomaschera Immobili. Puoi chiarire quali sono i campi di RelazioniIntercorse?
    Riguardo Clienti e Immobili, mi pare di capire che hai scelto la relazione Clienti uno-a-molti Immobili: giusto?
    C'è qualcosa che a me non torna su come vuoi gestire poi Clienti/Immobili.
    Tu sei una agenzia immobiliare e qualcosa mi dice che un Immobile può essere visitato da molti Clienti. La tabella RelazioniIntercorse dovrebbe essere la tabella di congiunzione tra Clienti e Immobili. Di conseguenza dovrebbe cambiare anche il punto di vista dell'intero scenario tabelle...e poi anche maschere/sottomaschere.
  • Re: Richiamare maschera per inserimento dati

    Grazie Osvaldo delle tue domande puntualissime...
    Innanzitutto la struttura del db vorrebbe essere questa:
    Entità : clienti , immobili , acquirenti .
    dove i clienti sarebbero i proprietari degli immobili in vendita e gli acquirenti chi di volta in volta visita un determinato immobile..
    La tabella "acquirenti" la svilupperò dopo con relativa maschera e qui effettivamente servirà una relazione con gli immobili...
    La sottomaschera "relazioni" mi serve a registrare di volta in volta il rapporto avuto con il cliente ad esmpio ....ieri ho fatto il sopralluogo e mi hanno detto che oggi sarebbero venuti in agenzia a portare tutta la documentazione relativsa all'immobile...
    Per quanto riguarda la relazione Clienti/Immobili ti confermo la relazione uno-a-molti.
    Quello che vorrei è di collegare l'inserimento di un nuovo immobile al cliente....
    e poi fare in modo che un immobile possa avere più "acquirenti"..
  • Re: Richiamare maschera per inserimento dati

    Quindi quando l'acquirente ha comprato diventa Cliente...?
    Secondo me l'anagrafica è anagrafica, cambia solo l'attributo dell'Immobile che prima aveva come Proprietario Tizio, ora Caio.

    Quindi:
    Anagrafica
    Immobile(1)<---->(m)PossibiliAcquirenti

    Nella Tabella [Immobili] avrai:
    
    IdImmobile  (Counter o Codice)
    IdAnagrafica (Int. Lungo)
    ....
    Nella Tabella [Anagrafica] avrai
    
    IdAnagrafica (Counter)
    TipoAnagrafica (Cliente/Acquirente/Venditore)
    Nome
    Cognome
    ...
    E nella Tabella [PossibiliAcquirenti]
    
    IdTransazione
    IdImmobile
    IdAnagraficaCliente  (dalla Tabella Anagrafica con WHERE TipoAnagrafica =Cliente)
    IdAnagraficaVenditore  (dalla Tabella Anagrafica con WHERE TipoAnagrafica =Venditore)
    DataVisita
    ...
    
    Ho ovviamente semplificato, in quanto un Cliente può essere anche Acquirente... in quel caso serve una ulteriore gestione Tabellare...
    Anagrafica<---->TipiPerAnagrafica<---->Tipi

    Saluti
  • Re: Richiamare maschera per inserimento dati

    La relazione Clienti uno-a-molti Immobili non mi piace/convince. Una volta venduto l'Immobile poi sarà di un altro Cliente. Ma non è questo il punto.
    La tabella RelazioniIntercorse può tranquillamente tracciare con il suo primo record relativo al IDImmobile qual è il PrimoProprietario. Un campo che specifica/distingue che tipo di relazione è intercorsa può tracciare questo aspetto. Quindi l'ImmobileX del proprietario PincoPallino avrà nel campo TipoRelazione il valore "Proprietà". La tabella RelazioniIntercorse avrà certamente un campo DataRelazione che spiega cronologicamente la storia di ogni Immobile. Quando ImmobileX verrà venduto avrà un ultimo record relativo con un altro IDCliente associato e risalire al proprietario "corrente" sarà facilmente possibile grazie alla Data Ultima.
  • Re: Richiamare maschera per inserimento dati

    Rispondo prima ad Alex ..
    capisco il tuo discorso ...ha sicuramente senso....
    ma per semplificare posso dirti che la scelta iniziale è se classificare gli immobili in base ai clienti/acquirenti o viceversa
    ho scelto di fare una anagrafica dei clienti semplicemente perchè il rapporto si instaura con persone che possono avere più immobili e mi viene meglio gestire una posizione facendo riferimento al proprietario...
    poi per quanto riguarda il post vendita resta valido il modo in cui gestire un immobile non più in vendita...(potrei pensare ad una dicitura tipo "venduto") ma l'acquirente diventa cliente solo se decide di vendere a sua volta ....in questo caso verrà registrato nella tabella clienti ed eliminato da quella acquirenti...
    grazie per avermi dato i codici ma purtroppo non sono abbastanza preparato da poterli utilizzare nè comprendere....
  • Re: Richiamare maschera per inserimento dati

    OsvaldoLaviosa ha scritto:


    La relazione Clienti uno-a-molti Immobili non mi piace/convince. Una volta venduto l'Immobile poi sarà di un altro Cliente. Ma non è questo il punto.
    La tabella RelazioniIntercorse può tranquillamente tracciare con il suo primo record relativo al IDImmobile qual è il PrimoProprietario. Un campo che specifica/distingue che tipo di relazione è intercorsa può tracciare questo aspetto. Quindi l'ImmobileX del proprietario PincoPallino avrà nel campo TipoRelazione il valore "Proprietà". La tabella RelazioniIntercorse avrà certamente un campo DataRelazione che spiega cronologicamente la storia di ogni Immobile. Quando ImmobileX verrà venduto avrà un ultimo record relativo con un altro IDCliente associato e risalire al proprietario "corrente" sarà facilmente possibile grazie alla Data Ultima.
    Non capisco Osvaldo....le relazioni fanno riferimento al cliente....cosa ci siamo detti , quando , quando dovremo riincontrarci . Non per forza in relazione ad un immobile . Posso scriverci ad esempio : 12-3-2020 fatto sopralluogo villa a taormina richiesta 1.000.000 .
    13-3-2020 firmato incarico villa taormina
    A questo punto vorrei registrare anche l'immobile .... e vorrei farlo direttamente accedendo alla maschera immobili da quella clienti...come se fosse una sottomaschera ma che si apre pigiando un pulsante....perchè? perchè deve accogliere diversi dati che non entrerebbero in una schermata...tipo vani n° , mtq totali , garage , richiesta , etc etc...
    Inoltre in questo modo potrei creare una maschera Immobili dove posso andare a ricercare gli immobili attraverso le caselle combinate...
  • Re: Richiamare maschera per inserimento dati

    ...e poi se il tizio mi da incarico per un altro immobile poter aggiungere un altro record con un proprio id ....
    in questo modo se voglio vedere gli immobili in incarico da tizio basta andare su scheda clienti pigiare il tasto ... si apre maschera con tutti gli immobili relativi a quel cliente dove con un pulsante di spostamento tra record passo dalla scheda di un suo immobile all'altro...
  • Re: Richiamare maschera per inserimento dati

    Che la gestione del database in generale possa essere complessa, per me nulla toglie alla struttura "normalizzata" delle tabelle. In base alla struttura da me proposta (l'unica che riesco a immaginare), predisporrai opportune maschere, magari collegate e non sottomaschere, in cui piano-piano passo-passo raggiungi i dati più dal lato Clienti o più dal lato Immobili. Tocca solo ingegnarsi un po'.
    Per gestire quelle RelazioniIntercorse che non coinvolgono un preciso Immobile, puoi creare un Immobile "fantasma" che deve essere messo in gioco proprio in situazioni come queste.
  • Re: Richiamare maschera per inserimento dati

    OsvaldoLaviosa ha scritto:


    Che la gestione del database in generale possa essere complessa, per me nulla toglie alla struttura "normalizzata" delle tabelle. In base alla struttura da me proposta (l'unica che riesco a immaginare), predisporrai opportune maschere, magari collegate e non sottomaschere, in cui piano-piano passo-passo raggiungi i dati più dal lato Clienti o più dal lato Immobili. Tocca solo ingegnarsi un po'.
    Per gestire quelle RelazioniIntercorse che non coinvolgono un preciso Immobile, puoi creare un Immobile "fantasma" che deve essere messo in gioco proprio in situazioni come queste.
    cosa intendi per struttura "normalizzata delle tabelle"?
    Credo di capire che siamo perfettamente d'accordo....maschere collegate .... è proprio quello che vorrei fare .....collegare due maschere...quella Clienti con la Immobili.....ma come fare?....quando apro la maschera immobili vorrei che si apra in modo da inserire i dati di un immobile che sia messo in relazione con il cliente che si trova in quel momento selezionato sulla maschera Clienti...come fare??
  • Re: Richiamare maschera per inserimento dati

    ario75 ha scritto:


    cosa intendi per struttura "normalizzata delle tabelle"?
    La normalizzazione delle tabelle è un INSIEME di regole che serve a fare in modo che le tabelle non subiscano INUTILI RIDONDANZE, non ci siano più tabelle con gli stessi campi...e qualcosaltro che ora mi sfugge (@Alex le sa tutte molto meglio di me), che volta per volta si risolve guardando i recordset di dati dentro le tabelle. La normalizzazione è frutto di ragionamento LOGICO e le relazioni tra tabelle non sono "a caso" tanto per metterle. Eventuali "denormalizzazioni" possono essere prese in considerazione a patto che il programmatore abbia valide motivazioni per farlo...ma non mi pare il tuo caso.
    Ribadisco che secondo me la tua struttura tabelle non è normalizzata. E poniamo anche il caso che risolviamo il problema Clienti<--->Immobili, ossia

    ario75 ha scritto:


    Quello che vorrei è di collegare l'inserimento di un nuovo immobile al cliente...

    l'asino casca proprio quando andremo a toccare quella seconda domanda che fa

    ario75 ha scritto:


    e poi fare in modo che un immobile possa avere più "acquirenti"..
    Fermo restando la struttura da me proposta.
    Per sapere "in quel momento" chi è il Proprietario di ImmobileX ti servirai di apposita query (come ho accennato in un post precedente).
    Per sapere tutti gli Immobili di Proprietà di Tizio, idem ti servirai di un'altra apposita query.
  • Re: Richiamare maschera per inserimento dati

    OsvaldoLaviosa ha scritto:


    ario75 ha scritto:


    cosa intendi per struttura "normalizzata delle tabelle"?
    La normalizzazione delle tabelle è un INSIEME di regole che serve a fare in modo che le tabelle non subiscano INUTILI RIDONDANZE, non ci siano più tabelle con gli stessi campi...e qualcosaltro che ora mi sfugge (@Alex le sa tutte molto meglio di me), che volta per volta si risolve guardando i recordset di dati dentro le tabelle. La normalizzazione è frutto di ragionamento LOGICO e le relazioni tra tabelle non sono "a caso" tanto per metterle. Eventuali "denormalizzazioni" possono essere prese in considerazione a patto che il programmatore abbia valide motivazioni per farlo...ma non mi pare il tuo caso.
    Ribadisco che secondo me la tua struttura tabelle non è normalizzata. E poniamo anche il caso che risolviamo il problema Clienti<--->Immobili, ossia

    ario75 ha scritto:


    Quello che vorrei è di collegare l'inserimento di un nuovo immobile al cliente...

    l'asino casca proprio quando andremo a toccare quella seconda domanda che fa

    ario75 ha scritto:


    e poi fare in modo che un immobile possa avere più "acquirenti"..
    Fermo restando la struttura da me proposta.
    Per sapere "in quel momento" chi è il Proprietario di ImmobileX ti servirai di apposita query (come ho accennato in un post precedente).
    Per sapere tutti gli Immobili di Proprietà di Tizio, idem ti servirai di un'altra apposita query.
    Quindi se ho ben capito dovrei usare due maschere distinte una per inserire nuovi clienti e una per aggiungere immobili ... ma così non creo ridondanza visto che devo registrare lo stesso tizio come cliente da una parte e come proprietario dall'altra?...
  • Re: Richiamare maschera per inserimento dati

    ario75 ha scritto:


    Quindi se ho ben capito dovrei usare due maschere distinte una per inserire nuovi clienti e una per aggiungere immobili ... ma così non creo ridondanza visto che devo registrare lo stesso tizio come cliente da una parte e come proprietario dall'altra?...
    Ti sei fossilizzato su quella maledetta relazione Clienti uno-a-molti Immobili che non va bene...e non riesci a venirne fuori.
    Per favore, potresti elencare tutti i campi della tabella RelazioniIntercorse? È su di essa che si gioca tutta la partita.
  • Re: Richiamare maschera per inserimento dati

    ario75 ha scritto:



    1 dalla maschera "Clienti" selezionare un determinato cliente
    2 aprire maschera "Immobili" con l'apposito tasto"
    3 compilare tutti i campi
    ....ma il problema è che quando apro la maschera "Immobili" non trovo l'id/nome/cognome già selezionati nella maschera "Clienti" ma uno random....
    dove sto sbagliando?
    l'unica soluzione è mettere la maschera "Immobili come sottomaschera della "Clienti"? c'è un'altra soluzione?
    spero che mi possiate dare un suggerimento
    Salve,
    Come apri la maschera immobili?
    (non mi dire pigiando un pulsante) mi serve come, una macro,Vba
    saluti
  • Re: Richiamare maschera per inserimento dati

    OsvaldoLaviosa ha scritto:


    ario75 ha scritto:


    Quindi se ho ben capito dovrei usare due maschere distinte una per inserire nuovi clienti e una per aggiungere immobili ... ma così non creo ridondanza visto che devo registrare lo stesso tizio come cliente da una parte e come proprietario dall'altra?...
    Ti sei fossilizzato su quella maledetta relazione Clienti uno-a-molti Immobili che non va bene...e non riesci a venirne fuori.
    Per favore, potresti elencare tutti i campi della tabella RelazioniIntercorse? È su di essa che si gioca tutta la partita.
    Non capisco se tecnicamente non si può creare una dipendenza diretta tra gli Immobili e i clienti , forse l'escamotage di avere una tabella di collegamento tra Immobili e Clienti come mi suggerisci è la migliore soluzione....ma ..... la tabella relazioni è per me una sorta di agenda...che devo poter consultare come un promemoria...qui devo poter registrare delle azioni fatte o da fare in relazione a dei clienti e non è detto che un tizio che si trova nella tabella clienti abbia anche dato un immobile in gestione....può accadere dopo un anno ... o mai....per questo ho pensato la maschera relazioni come sottomaschera di "Clienti"...quindi dovrei pensare ad un'altra tabella di raccordo...
    Ma perdonami Osvaldo se insisto...mi spieghi perchè la relazione Clienti uno-a-molti Immobili non va bene?...
    Pensi che una tabella Acquirenti/Clienti in relazione molti-a-molti Immobili possa servire?
Devi accedere o registrarti per scrivere nel forum
27 risposte