Maschera di inserimento dati su tabelle relazionate

di il
15 risposte

Maschera di inserimento dati su tabelle relazionate

Ciao a tutti,
sto cercando di creare un db che prevede una tabella contenente l'anagrafica dei clienti ed una contenente quella degli ordini effettuati. Fatte le due tabelle ho creato una relazione uno a molti e una maschera di ricerca che mi apre una seconda maschera che contiene sia l'anagrafica del cliente sia la lista degli ordini effettuati in modalità di sola visualizzazione in modo che non ci possano essere modifiche o cancellazioni accidentali . Fin qui tutto bene. ora devo aggiungere un tasto che mi apra una maschera, magari in popup se possibile, per l'aggiunta di un nuovo ordine da associare alla anagrafica aperta. Probabilmente è una cosa semplicissima ma io mi sono perso. Come devo procedere?
Grazie in anticipo.

15 Risposte

  • Re: Maschera di inserimento dati su tabelle relazionate

    C'è qualcosa che non capisco dalla descrizione. Io penserei le cose in maniera accademica. Partendo da Clienti uno-a-molti Ordini, ti consiglio di creare una maschera/sottomaschera Clienti/Ordini.
    Se usi la visualizzazione classica vedrai in alto un Cliente alla volta e in basso tutti i suoi Ordini. Per un nuovo Ordine ti basterà entrare su Nuovo Record di sottomaschera Ordini e digitare.
    Oppure maschera singola Clienti e l'apertura con un clic di pulsante che ti apre la lista degli Ordini, vai su Nuovo Record e aggiungi.
    Per entrambe le soluzioni esiste una comoda procedura guidata di creazione maschera/sottomaschera. Durante la procedura ti viene chiesto se vuoi la visualizzazione maschera/sottomaschera (classica) oppure con clic di pulsante.
  • Re: Maschera di inserimento dati su tabelle relazionate

    OsvaldoLaviosa ha scritto:


    C'è qualcosa che non capisco dalla descrizione. Io penserei le cose in maniera accademica. Partendo da Clienti uno-a-molti Ordini, ti consiglio di creare una maschera/sottomaschera Clienti/Ordini.
    Si è cosi che ho fatto, ho una mascheracliente con la sottomaschera ordini, solo che ho bloccato i campi in modo che non possano essere modificati per evitare delle modifiche accidentali.
    Ora vorrei aggiungere un tasto che apra una maschera, possibilmente in modalità popup, per l'aggiunta di un ordine e alla chiusura di quest'ultima vorrei che si aggiornasse automaticamete la scheda cliente.
    Come devo procedere?
  • Re: Maschera di inserimento dati su tabelle relazionate

    Trovo l'idea alquanto macchinosa e direi pure contraddittoria. Se hai scelto di BLOCCARE alcuni campi in sottomaschera, come pretendi di aprire un'altra maschera Ordini2 che deve aggiornare OrdiniSottomaschera?
    Se proprio lo vuoi come lo hai descritto, devi impostare una macro o un codice VBA che faccia esattamente passo passo quello che hai detto, avendo cura di sbloccare momentaneamente i tuoi campi bloccati per permettere l'aggiornamento della sottomaschera Ordini, per poi ripristinare il blocco sui campi.
  • Re: Maschera di inserimento dati su tabelle relazionate

    Hai ragione, purtroppo essendo il mio primo db devo ancora entrare nelle logiche di access.
    Ho cambiato la dinamica delle cose, aprendo dei report anziché le maschere laddove non voglio che i dati siano modificabili ma solo consultabili, e anche esteticamente mi sembra molto meglio. Ora mi trovo di fronte ad un nuovo problema, come risultato di una ricerca "Nome"+"Cognome" ho come risultato un report contenente la lista di tutte le persone con quel nome e cognome, ho provato ad aggiungere il trasto "Apri" di fianco ad ogni risultato in modo che si apra la scheda personale completa del cliente, ma non so il motivo ma sul report non mi funziona la creazione guidata del tasto come invece accade per le maschere. Come posso fare per aprire un altro report contenente tutti i dati del cliente selezionato?
  • Re: Maschera di inserimento dati su tabelle relazionate

    Pian pianino sto riuscendo ad andare avanti. Riepilogo quello che ho fatto fin'ora:
    1) ho creato una maschera principale con i campi Nome e Cognome per effettuare una ricerca;
    2) il risultato della ricerca viene visualizzato in un report in modo da avere la lista dei clienti che rispondono a quel nome e cognome e ad ogni riga c'è il tasto apri per aprire la scheda personale dello specifico cliente;
    3) ho creato una altro report che rappresenta la scheda personale del cliente "scheda cliente" con tutta l'anagrafica personale e sotto la lista degli ordini effettuati.
    4) ho creato una maschera per l'inserimento di nuovi clienti da richiamare dalla scheda principale ed una per l'inserimento di nuovi ordini.

    Ora vorrei inserire nel report "scheda cliente" un tasto per aggiungere nuovi ordini ed uno per apportare modifiche, ovviamente per fare questo so che devo richiamare le maschere, ma non so come fare a dire alla maschera che deve lavorare sul record da cui parte il comando.
    Spero di essermi spiegato. Grazie
  • Re: Maschera di inserimento dati su tabelle relazionate

    Sei sicuro che queste strade che stai percorrendo siano convenienti? Se vuoi personalizzare un tuo arzigogolo perchè hai paura che qualcuna metta mano erroneamente ai dati...lo puoi fare e come, ma devi esserne consapevole. La strada dei report non mi sembra adatta.
    Parli di pulsanti su un report. Un report serve per stampare, non tanto per visualizzare. L'anteprima di stampa serve per controllare il look della stampa finale.
    Al di là di tutto, cerca di descrivere chiaramente tutti gli oggetti con i loro nomi propri:
    - nomi tabelle
    - nomi campo
    - nomi maschere
    - in quali campi volevi che ci fosse il blocco...
  • Re: Maschera di inserimento dati su tabelle relazionate

    Quella dei report mi sembrava la scelta giusta sia dal punto di vista estetico che da quello tecnico visto che mi permetteva di mostrare i dati non modificabili, ma se non lo è sono aperto a tutti i possibili consigli, quale sarebbe la strada che dovrei seguire? come lo faresti tu?
  • Re: Maschera di inserimento dati su tabelle relazionate

    Dal mio punto di vista, non ho chiaro esattamente l'intero "gioco di maschere e/o report" che avresti impiantato. Ammetto di ragionare forse per canoni acquisiti da manuali, consuetudine e quant'altro. Nulla vieta a te di personalizzare l'intero discorso...ma onestamente io sono fermo alla sola maschera/sottomaschera Clienti/Ordini secondo una disposizione classica: partiamo da qui. Poi non ho capito molto di più. Per questo ti avevo chiesto di:

    OsvaldoLaviosa ha scritto:


    descrivere chiaramente tutti gli oggetti con i loro nomi propri:
    - nomi tabelle
    - nomi campo
    - le relazioni
    - nomi maschere
    - in quali campi volevi che ci fosse il blocco...
    Cerca di dare una descrizione chiara di tutto e passo passo affinchè anch'io possa entrare meglio nel tuo scenario. Se descriverlo a parole diventa complesso, a volte allegare immagini di quello che si vede sul tuo monitor può aiutare meglio.

    Keydets ha scritto:


    quale sarebbe la strada che dovrei seguire? come lo faresti tu?
    Io generalmente penserei a un Pannello comandi iniziale (o una maschera con analoghe caratteristiche) con più pulsanti dove indirizzare l'utente se vuole CONSULTARE oppure INSERIRE/MODIFICARE. Nella scelta del passaggio successivo, in entrambi i casi prevederei 2 visualizzazioni classiche maschera/sottomaschera Clienti/Ordini. Nel caso di Consultazione tali maschere devono essere di sola lettura. Nel caso di Inserimento/Modifica pemettere all'utente di inserire i nuovi Ordini in coda a Nuovo record della sottomaschera.
  • Re: Maschera di inserimento dati su tabelle relazionate

    Allora, su tuo consiglio sono tornato a lavorare con le maschere lasciando stare i report che cmq mi serviranno per elaborare per delle stampe di documenti, ma questo lo vedremo più avanti.
    Ora ho creato la maschera con sottomaschera Clienti/ordini in due versioni, ossia, la prima che viene richiamata per la sola visualizzazione (quindi con i campi bloccati) e la seconda identica ma con i campi sbloccati da richiamare per l'inserimento. Ora riesco a fare la ricerca e a visualizzare la maschera contenente i dati personali del cliente e la sottomaschera degli ordini, in questa maschera devo aggiungere un tasto che richiami la maschera per aggiungere o modificare i record, come faccio a crearlo? ho provato già a farlo ma la maschera che si apre non è "legata" a quel numero cliente devo aggiungerci io a mano il numero cliente per associare il nuovo ordine, io vorrei che lo facesse di default rilevandolo dalla maschera da cui è partito il comando "aggiungi".
    Grazie
  • Re: Maschera di inserimento dati su tabelle relazionate

    Keydets ha scritto:


    Ora ho creato la maschera con sottomaschera Clienti/ordini in due versioni, ossia, la prima che viene richiamata per la sola visualizzazione (quindi con i campi bloccati) e la seconda identica ma con i campi sbloccati da richiamare per l'inserimento.
    Può anche andare bene così. Sappi pure che potresti utilizzare una sola coppia Clienti/Ordini creando 2 macro o codici VBA che (a seconda dei casi) impostano le proprietà "Consenti modifiche", "Consenti eliminazioni" e "Consenti aggiunte".

    Keydets ha scritto:


    Ora riesco a fare la ricerca e a visualizzare la maschera contenente i dati personali del cliente e la sottomaschera degli ordini, in questa maschera devo aggiungere un tasto che richiami la maschera per aggiungere o modificare i record, come faccio a crearlo?
    Non devi aggiungere alcun pulsante. Tu la sottomaschera ce l'hai già lì a portata di mano. Devi solo posizionarti su Nuovo Record e digiti normalmente. I campi chiave non li devi toccare perchè Access provvede a farli funzionare automaticamente.

    Mmhhh!!! Provo a interpretare il tuo obiettivo.
    Nel caso di Clienti/Ordini (sola lettura) usa maschera/sottomaschera classica.
    Nel caso di Clienti/Ordini (per inserimento/modifica) usa Clienti come maschera singola e un pulsante che apra Ordini per la visualizzazione e inserimento a parte.
    In entrambi i casi puoi sfruttare 2 procedure guidate di creazione maschera/sottomaschera scegliendo, nel secondo caso, alla seconda finestra dove dice "Scegliere come visualizzare i dati", in base a Clienti, metti il puntino su "Maschere collegate".
    Se ho interpretato bene, ovviamente il primo suggerimento di "una sola coppia Clienti/Ordini" perderebbe significato, quindi non tenerla più in considerazione.
  • Re: Maschera di inserimento dati su tabelle relazionate

    Grazie mille, sono riuscito a far funzionare tutto come si deve, ora ho una maschera per la ricerca, una per la visualizzazione in dettaglio del cliente con tutti gli ordini con i campi bloccati in sola visualizzazione ed una per l'insermento/modifica dei dati.
    Ora vorrei fare un'ultima cosa, ossia vorrei che aprendo il db si aprisse in modalita finestra di dialogo, ossia senza le funzioni complete di access con tutti i menu che ne permettono la modifica ma permettendo il solo utilizzo. E' possibile?
    Grazie per la pazienza.
  • Re: Maschera di inserimento dati su tabelle relazionate

    Io farei dal menu Visualizza | Personalizza | scheda Barra degli strumenti, togli la spunta da Barra dei menu e Database.
  • Re: Maschera di inserimento dati su tabelle relazionate

    Ok, non ottengo proprio il risultato sperato ma ci si avvicina abbastanza.

    Senti, con i dati contenti nel data base devo creare documenti stampabili che sono un mix di testo standard che rimane sempre uguale per tutti e informazioni delle tabelle, ad esempio:

    Egregio sig. "campo cognome" "campo nome", con la presente la informiamo che in data "campo data" la sua società "campo nome società" ha formalizzato i seguenti ordini:

    "tabella con lista ordini"

    ect. ect.

    ho provato a farlo con i report ma viene una schifezza perché il testo "fisso" non si integra bene con quello "dinamico" poiché i campi cambiano la propria larghezza a seconda del contenuto. Si potrebbe programmare la creazione automatizzata di un file di word con il sistema di "stampa unione"? oppure esiste un altro sistema?
  • Re: Maschera di inserimento dati su tabelle relazionate

    Direi che quest'ultima domanda diverge molto dal titolo iniziale. Apri una nuova discussione.
Devi accedere o registrarti per scrivere nel forum
15 risposte