Aggiornare field tramite "check"

di il
13 risposte

Aggiornare field tramite "check"

Ciao a tutti!!
Non ho trovato nessuno che ha già esposto questo tipo di problema, quindi magari prima di chiedervi aiuto, vorrei sapere se fosse una cosa realizzabile.
Ho una maschera principale che è fatta vedere al cliente, a cui però è collegata una "sotto maschera". Nella principale compare un field (preso dalla table) che tratta la descrizione, che per ora rappresenta un campo vuoto. Nel secondo form, non in evidenza, è presente solamente il campo descrizione (stesso field della table), ed una spunta "check" da cliccare solo dopo che ho fatto il controllo della descrizione (per vedere se questa è corretta). La mia domanda è la seguente: è possibile aggiungere, tramite il secondo form, la descrizione e far si che questa venga aggiornata nel form principale solo dopo che ho fatto la spunta del check? Oppure è necessario e/o più facile realizzare due field nella stessa table, una legata al secondo form e tramite un IIF(se è stata checkata) copiare il contenuto nel field corretto?
Grazie per il grande aiuto.

13 Risposte

  • Re: Aggiornare field tramite "check"

    Accetto anche proposte per rendere la cosa più "fattibile" per un beginner.
  • Re: Aggiornare field tramite "check"

    Ricky994 ha scritto:


    ...è possibile aggiungere, tramite il secondo form, la descrizione e far si che questa venga aggiornata nel form principale solo dopo che ho fatto la spunta del check? Oppure è necessario e/o più facile realizzare due field nella stessa table, una legata al secondo form e tramite un IIF(se è stata checkata) copiare il contenuto nel field corretto?
    Non ho capito niente.
    Allora, in modalità Osvaldo (che mi perdona, ne sono sicuro, se lo tiro in ballo anche quando non scrive, sottolineando una sua caratteristica che lo rende inconfondibile) scrivi i nomi veri, della maschera principale, della sottomaschera (perché hai usato le virgolette? non è una sottomaschera vera?) i nomi dei controlli e la loro origine dati, dove si trovano quei campi che vuoi aggiornare (mi sembra che ci sia anche quello da fare, giusto? ) e magari un'immagine. Rispiega tutto con queste caratteristiche.
  • Re: Aggiornare field tramite "check"

    Allora cerco di essere più chiaro possibile (scusate ma per politiche aziendale devo oscurare parte del form, che comunque non ha assolutamente a che fare con la richiesta e con i campi coinvolti):
    Ho il mio form principale (Master list) dove compare un campo "Preliminary description" già compilato, inoltre compaiono altri tre campi (sempre riguardanti le descrizioni, per ora vuoti.
    masterlist.PNG
    masterlist.PNG

    Tutti questi campi sono riportati nell'unica table presente.
    tables.PNG
    tables.PNG

    Quello che io vorrei ottenere è, tramite un secondo form (Notes), compilare i campi vuoti (english,italian,french), ma far si che vengano aggiornati nel form principale (Master list) solo una volta approvati tramite la spunta riportata accanto alla casella di testo.
    notes.PNG
    notes.PNG

    Spero di aver resto l'idea di ciò che vorrei ottenere. Come già detto accetto qualsiasi consiglio per rendere il tutto più facile, l'importante è il fatto di poter compilare il campo nella table "Notes" e solo dopo aver fatto un "check" questa si vada ad aggiornare anche nella table principale.
    Grazie a tutti
  • Re: Aggiornare field tramite "check"

    Secondo me ti stai complicando la vita/progettazione inutilmente. Hai fornito solo nomi di maschere e controlli, ma non riusciamo a cogliere cosa c'è sotto veramente. Ti chiedo di elencare:
    - nomi propri delle tabelle che entrano in gioco
    - nomi propri di tutti i loro campi con indicazione della chiave primaria
    - le relazioni
    - rispiega tutto quello che devi fare usando i nomi propri.

    In alternativa alla descrizione dei primi 3 punti, potresti allegare una immagine della Finestra Relazioni.
  • Re: Aggiornare field tramite "check"

    Ho provato fare un database molto molto semplificato per far capire esattamente quale è il mio problema.
    Ho la mia maschera principale con tutti i campi disponibili:
    machera1.JPG
    machera1.JPG

    Questi dati sono presi dalla seguente tabella;
    tabella.JPG
    tabella.JPG

    Quello che volevo chiedere, se fosse ovviamente una cosa fattibile, era quella di poter compilare il campo telefono, tramite una seconda maschera:
    check.JPG
    check.JPG

    MA il campo "Telefono" viene aggiornato sia nella tabella che nella maschera principale "Maschera1" solo dopo aver cliccato sulla spunta "Check telefono". Spero ora di essere stato il più chiaro possibile, anche con un esempio abbastanza facile e concreto.
  • Re: Aggiornare field tramite "check"

    Ricky994 ha scritto:


    ...Tutti questi campi sono riportati nell'unica table presente.
    ...
    Quello che io vorrei ottenere è, tramite un secondo form (Notes), compilare i campi vuoti (english,italian,french), ma far si che vengano aggiornati nel form principale (Master list) solo una volta approvati tramite la spunta riportata accanto alla casella di testo.
    ...
    ... l'importante è il fatto di poter compilare il campo nella table "Notes" e solo dopo aver fatto un "check" questa si vada ad aggiornare anche nella table principale.
    Da beginner come te:
    Se non ho capito male, in pratica hai una sola tabella, nella quale vengono elencati dei "prodotti", e per ciascuno vuoi inserire la sua descrizione in diverse lingue.
    Se entrambe le maschere (principale e sottomaschera) prendono i dati dalla stessa (unica tabella), quello che chiedi a mio parere è impossibile;
    Se compili (valorizzi) un campo di un record, il valore di quel campo sarà visualizzato in tutte le maschere ad esso collegate.
    Potresti eventualmente giocare sulla visibilità (o formattazione) del particolare campo della maschera principale in base al suo contenuto, ma francamente non vedo alcun senso in tutto questo.
    Se hai bisogno di approvare espressamente dei dati, prima che vengano "fissati" sulla tua tabella, secondo me conviene creare una seconda tabella con i medesimi campi in cui scrivere i dati da approvare.
    La maschera principale, collegata alla prima tabella, la sottomaschera collegata alla seconda tabella... chiaramente sincronizzate dal "prodotto" (o Id)
    Dopo l'approvazione (in quella temporanea), potresti trasferirli su quella principale (con una query di aggiornamento ad esempio o via codice).
    A primo acchitto, immaginerei un approccio del genere... ovviamente da perfezionare su più fronti
  • Re: Aggiornare field tramite "check"

    Ricky994 ha scritto:


    Quello che volevo chiedere, se fosse ovviamente una cosa fattibile, era quella di poter compilare il campo telefono, tramite una seconda maschera
    A che ti serve pensare questa cosa così?
    Se hai il Telefono lo compili direttamente, se il telefono non c'è lasci vuoto il campo. Fanno tutti così.
  • Re: Aggiornare field tramite "check"

    Si, l'esempio del telefono, così come esposto, non mi sembra particolarmente calzante
    Probabilmente la richiesta nasce in un contesto che prevede un progetto più ampio.
    Nello specifico, verosimilmente, ci sarà qualcuno incaricato di inserire le varie descrizioni dei prodotti gestiti e relative traduzioni;
    le stesse non devono essere rese "operative" finché qualche responsabile non dà il suo benestare, "approvando" espressamente tali dati.
    Non riesco ad immaginare situazioni diverse
  • Re: Aggiornare field tramite "check"

    Per quel che mi riguarda l'esempio del Telefono era chiaro e altrettanto chiara è stata la mia risposta.
    Nell'altro caso non ho proprio capito "di cosa parla il database", per questo ti ho chiesto

    Robpagna ha scritto:


    - nomi propri delle tabelle che entrano in gioco
    - nomi propri di tutti i loro campi con indicazione della chiave primaria
    - le relazioni
    - rispiega tutto quello che devi fare usando i nomi propri.

    In alternativa alla descrizione dei primi 3 punti, potresti allegare una immagine della Finestra Relazioni.
    Potrebbe trattarsi di tutt'altro contesto con tutt'altra soluzione ottimale.
    Provando a interpretare "strettamente" il titolo della discussione "Aggiornare field tramite check", ribadisco la mia perplessità di dover passare da una checkbox prima di compilare un campo che, se inutile, può essere semplicemente lasciato VUOTO.
  • Re: Aggiornare field tramite "check"

    Vi prego di non soffermarvi sul senso del perchè lo voglio fare, l'esempio del telefono era solo una cosa MOLTO MOLTO MOLTO semplificativa per far capire cosa volessi ottenere sul mio database, dato che quello per motivi di politiche aziendali non posso condividerlo completamente.

    Come dice giustamente @Robpagna il campo "Telefono" deve essere compilato da un operatore e poi approvato di conseguenza da un responsabile, per questo vi è la necessità di una seconda maschera con la compilazione del campo ed una approvazione che poi andrà nella table principale.

    Dunque secondo te @Robpagna dovrei fare una seconda table nel quale inserirò i campi della maschera secondaria dove ci saranno i "check" e poi tramite codice far si che questi, se il check è spuntato, vengano copiati nelle colonne della tabella originaria??
  • Re: Aggiornare field tramite "check"

    Ferma restando la giustissima osservazione:

    OsvaldoLaviosa ha scritto:


    ...Potrebbe trattarsi di tutt'altro contesto con tutt'altra soluzione ottimale.
    ...
    Secondo me (e quì ribadisco il mio stato di beginner), per come hai posto il tuo problema, non hai altre possibilità.
    In buona sostanza devi memorizzare dei dati che, solo dopo essere passati al vaglio e quindi esplicitamente approvati da qualcuno, devono essere resi disponibili sulla tabella principale.
    Per fare questo, io inserirei tali dati in un'altra tabella (relazionata con la principale), con i vari check, che potresti visualizzare nella sottomaschera.
    Potresti creare una (o più) query di aggiornamento, che va ad inserire i dati "approvati" nella tabella principale (attenzione alla relazione);
    Poi decidere la modalità con la quale eseguire la query, se aggiornare tutti i campi insieme, se farlo uno alla volta, se farla partire automaticamente all'attivazione di ciascun check...
    Dovresti vedere cosa si addice di più alle tue necessità operative.
    Io direi che, su questo aspetto, hai un buon punto di partenza, da sviluppare in base alle tue esigenze specifiche.
  • Re: Aggiornare field tramite "check"

    Io credo che tra poco esperti e meno esperti sembra la saga di chi dice di non avere competenze... ma butta li cose ugualmente...!

    Gli esempi poi si fanno GIUSTI, perchè detto da chi "ha poca esperienza" capire se la semplificazione è adeguatamente chiara all'esposizione del problema è una bella presunzione...!

    Se un campo deve essere disponibile solo dopo APPROVAZIONE, serve capire se fai prima di tutto una GESTIONE UTENTI.
    Se fai una gestione utenti va da se che ci potranno essere livelli di utenti che scrivono/propongono ed altri che approvano...!

    Serve capire se quando si dice "RENDERE DISPONIBILE" si identifica una 3° Figura, o livello diverso da quello che inserisce..., perchè chi inserisce, a prescindere sia stato approvato deve sempre Visualizzare quello che ha inserito...
    Cosa diversa è l'approvazione del dato.
    Non serve affatto prevedere Mille tabelle, con lo scopo di gestire l'approvazione... per quella BASTA 1 FLAG "Approvato", se ci sono più campi e relative approvazione, ci sarà "Campo1/Campo1_OK" per fare un esempio.
    Si dovrà poi gestire da VBA la Visualizzazione o l'Editing o altro in relazione allo stato del Campo FLAG (Campo1_OK).
    Questo equivale quindi ad usare l'evento CURRENT di Maschera, ed in base al FLAG specifico, rendere VISBILE=True/False o LOCKED=True/False il campo in base al suo specifico stato di rilascio.

    Cosa diversa è se questi RILASCI devono essere REGISTRATI o meglio se avete procedure certificative che impongono una tracciatura...
    In quel caso si crea una Tabella Aggiuntiva ma non per gestire i FLAG, quanto per registrare le azioni in uno STORICO.

    Non aggiungo altro.
  • Re: Aggiornare field tramite "check"

    Avverto un leggero rimprovero...
    Spero che non lo sia

    Lo spirito del forum dovrebbe essere più o meno questo, un confronto tra diversi livelli di "competenze".
    Chi ha meno esperienza in un ambito, o semplicemente vuole migliorare, fa le domande a chi evidentemente ne sa più di lui;
    chi ha una soluzione od un consiglio su quel quesito, la propone... non certo come verità assoluta, ma ovviamente come suggerimento.
    Chi invece è un utente più avanzato, può dire "secondo me è meglio in questo modo piuttosto che in un altro", magari dando a sua volta un suggerimento ed una spiegazione a vantaggio di coloro che, meno esperti, ne possono beneficiare.

    Non trovo sia presunzione il notare che l'esempio che è stato fatto non abbia nulla a che vedere con la richiesta iniziale.
    Non serve un "livello di esperienza" elevato per capire che due cose sono oggettivamente diverse... se sono diverse!

    Ricky994 ha posto una domanda secca e secondo me chiara, senza fornire altri dettagli; anche io faccio parte di una struttura particolarmente restrittiva in proposito, e comprendo la sua situazione. Per poter fare le due richieste che ho fatto su questo forum, ho dovuto praticamente ricostruire un db "parallelo" per poter fornire i dettagli richiesti, che non fossero ricollegabili alla mia esigenza reale...
    Bene. In base alla "mia" competenza (della quale ho sottolineato il livello), ho dato una soluzione al suo problema (o "una base di partenza", chiamiamolo spunto di riflessione), che comunque per quanto "spartana" o "formalmente errata", risponde pienamente alla sua necessità immediata, esattamente nei termini nei quali l'ha richiesta.

    Se avesse avuto altre implicazioni inerenti l'oggetto del quesito, sarebbe stato nel suo interesse renderle note.
    Questo ha chiesto, questo gli ho dato.

    Se poi dovessero emergere altre necessità, certamente farei un passo indietro perché molto probabilmente non sarei in grado di intervenire oltre...
    cosa che evidentemente è opportuno che faccia da subito.

    Il tipo di richiesta, a mio parere, non fa supporre un livello tecnico particolarmente elevato, quindi il dover gestire da VBA le risposte dell'applicazione in funzione dello stato del check, potrebbe non essere molto agevole per noi (forse ci riuscirei, ma per me non lo sarebbe affatto).

    Nel bisogno, a me farebbe piacere ricevere una risposta in grado di aiutarmi nell'immediato, realizzabile per il mio livello, riservandomi di approfondire successivamente per migliorarmi.

    Nel futuro vedrò di evitare interventi inopportuni
Devi accedere o registrarti per scrivere nel forum
13 risposte