Maschera con valori già inseriti

di il
21 risposte

Maschera con valori già inseriti

Ciao a tutti, scrivo per chiedere consiglio su un problema a cui non ne vengo a capo..

Ho una tabella Articoli dove sono inseriti tutti i vari articoli, una tabella movimenti, dove sono registrati ovviamente i movimenti degli articoli.

Ho creato le maschere per entrambi e una per visualizzarmi i totali degli articoli, e fino a qui tutto bene.

Ora avrei l'esigenza di creare una maschera per registrare 4/5 determinati articoli più velocemente visualizzandoli in automatico in una maschera dove è possibile visualizzare anche la loro somma e in una casella aggiungere la quantità che si vuole muovere di quei determinati articoli, e di conseguenza con un tasto registrare tutto sulla tabella movimenti.

Ho provato a creare una maschera e 2 sono i miei problemi principali:
1) Non riesco a far visualizzare in una casella il codice di un determinato articolo
2) Quando è presente anche il campo "Somma" (quello che mi dice la quantità totale del determinato articolo) la maschera diventa di sola lettura

21 Risposte

  • Re: Maschera con valori già inseriti

    Ciao AndryFox, mi viene da pensare che i tuoi problemi possano essere dovuti all'origine dati a cui hai collegato questa nuova maschera. Non so come tu l'abbia creata ma potresti provare a crearne una non associata in cui hai una casella combinata con i tuoi prodotti. L'idea è che dopo aver selezionato il tuo prodotto, ci siano due caselle in cui venga riportato in automatico in una il codice dell'articolo e un'altra compaia la quantità totale dello stesso. Aggiungi poi una casella in cui inserire la quantità da movimentare ed un tasto che salvi i dati che ti servono nella tabella movimenti.
    Penso che così potrebbe funzionare.
  • Re: Maschera con valori già inseriti

    Non c'è un modo per dirgli di caricare in automatico all'apertura, caricamento della maschera, in una certa casella, un certo codice?
  • Re: Maschera con valori già inseriti

    Certo.
    se ti interessa di aprire un determinato record:
    Nell'evento "su apertura" tramite VBA o una macro fai partire una query che ti va a cercare il record corrispondente a quel determinato codice.

    Se invece ti interessa mettere un determinato codice alla voce valore predefinito metti il valore che vuoi che venga messo come default.

    Se invece vuoi creare delle shortcourt, puoi programmare i tasti funzione (f1..f2) etc etc con le operazioni che vuoi eseguire.
  • Re: Maschera con valori già inseriti

    AndryFox ha scritto:


    Non c'è un modo per dirgli di caricare in automatico all'apertura, caricamento della maschera, in una certa casella, un certo codice?
    Si può fare ma dipende anche da dove la vuoi aprire. Se il codice che vuoi inserire nella casella ce l'hai a disposizione, prova a dare un'occhiata a questa discussione, in particolare al discorso di Alex riguardo il metodo di passare gli "OpenArgs".
    http://www.iprogrammatori.it/forum-programmazione/access/maschera-campo-pre-inserito-t24064.html
  • Re: Maschera con valori già inseriti

    AndryFox ha scritto:


    Ora avrei l'esigenza di creare una maschera per registrare 4/5 determinati articoli più velocemente visualizzandoli in automatico in una maschera dove è possibile visualizzare anche la loro somma e in una casella aggiungere la quantità che si vuole muovere di quei determinati articoli, e di conseguenza con un tasto registrare tutto sulla tabella movimenti.
    A me non è affatto chiara questa frase.
    Potresti descrivere tutti i campi di entrambe le tabelle?
    Le 2 maschere sono separate o organizzate in maschera/sottomaschera?
    Potresti fare un esempio pratico che (almeno a me) faccia comprendere il significato di quella frase?
  • Re: Maschera con valori già inseriti

    Devo gestire gli articoli di un magazzino, e la struttura è la seguente:
    2 tabelle: Articoli e Movimenti
    Attributi della tabellaArticoli
    Codice_Articolo, Descrizione, Pagina_Catalogo, Quantita_Min, Quantita_Max
    Attributi della tabella Movimenti
    Codice_Articolo, Descrizione, Quantita, Data, Nome, Note

    Articoli è una tabella dove sono inseriti i singoli articoli presenti nel magazzino;
    Movimenti ovviamente è una tabella dove sono registrati tutti i movimenti degli articoli, se vengono aggiunti o tolti pezzi.

    Vorrei creare una maschera che una volta aperta nella casella di testo ci sia un valore che è già presente tra i record "Codici", senza doverlo selezionare ogni volta che apro la maschera in modo che quando chiudo la maschera con un pulsante "ok" si salvi l'informazione nella tabella movimenti.

    Spero di essere stato abbastanza chiaro, e grazie per il supporto. Appena ho tempo faccio delle prove con le soluzioni che mi avete dato fin'ora
  • Re: Maschera con valori già inseriti

    AndryFox ha scritto:


    Vorrei creare una maschera che una volta aperta nella casella di testo ci sia un valore che è già presente tra i record "Codici"
    Leggendo solo questa parte, io penserei a impostare la proprietà "Valore predefinito".

    AndryFox ha scritto:


    senza doverlo selezionare ogni volta che apro la maschera in modo che quando chiudo la maschera con un pulsante "ok" si salvi l'informazione nella tabella movimenti.
    Questa seconda parte non è chiara chiara. Provo a ragionare per consuetudine. Io ti consiglio di costruire una casella combinata sul campo Codice_Articolo che guarda i valori della tabella Articoli...
  • Re: Maschera con valori già inseriti

    OsvaldoLaviosa ha scritto:


    Leggendo solo questa parte, io penserei a impostare la proprietà "Valore predefinito".

    Questa seconda parte non è chiara chiara. Provo a ragionare per consuetudine. Io ti consiglio di costruire una casella combinata sul campo Codice_Articolo che guarda i valori della tabella Articoli...
    Il campo Codice_Articolo è già una casella combinata, vorrei che questa casella combinata venga popolata con un valore che dico io all'apertura della maschera senza che l'utente la cerchi manualmente tra i valori
  • Re: Maschera con valori già inseriti

    Imposta un Valore predefinito.
  • Re: Maschera con valori già inseriti

    OsvaldoLaviosa ha scritto:


    Imposta un Valore predefinito.
    Non funziona, mi continua a visualizzare il primo record della tabella.. Neppure se inserisco il valore nel generatore di query tra i Criteri
  • Re: Maschera con valori già inseriti

    Vi spiego quello che vorrei fare:

    Ho una tabella Articoli e una Movimenti con i campi che ho già descritto prima.

    Ho varie maschere: NuovoArticolo, NuovoMovimento, TotaleArticoli (non penso serva specificare a cosa servano)

    Nella mia azienda si usano delle valigette nei reparti che contengono 5 tipi di articolo specifici, che vengono caricate una volta ogni 2 settimane e hanno un valore massimo per ogni tipo di articolo (esempio nella valigetta ci stanno 200 unità dell'articolo 1 e cosi via).
    Praticamente quando queste valigette vengono ricaricate si prendono i pezzi dal magazzino quindi deve finire nella tabella movimenti.

    Ho bisogno di creare una maschera dove al suo interno sono visualizzati questi 5 articoli in modo che una volta compilati gli altri campi, tramite un tasto si inserisca il tutto nella tabella movimenti.

    Uno step successivo sarebbe quello di visualizzare assieme al codice anche la quantità totale presente in magazzino che è già calcolata grazie ad una query con la funzione somma di quantità, il problema è che se cerco di inserire questo valore nella maschera, essa diventa in automatico di sola lettura.
  • Re: Maschera con valori già inseriti

    AndryFox ha scritto:


    Ho bisogno di creare una maschera dove al suo interno sono visualizzati questi 5 articoli in modo che una volta compilati gli altri campi, tramite un tasto si inserisca il tutto nella tabella movimenti.
    Sicuro che il ricarico nella valigetta riguarda SEMPRE QUEI 5 ARTICOLI?
    Se sì, ti serve una macro o codice VBA che automatizzi tale operazione. Io sinceramente non l'ho capita nei dettagli. Provo a darti qualche imbeccata "logica".
    1. Devi impostare una query di accodamento che consideri/filtri i 5 FAMOSI ARTICOLI. La query potrebbe chiamarsi Accoda5Articoli
    2. Devi creare una macro o codice VBA associato al clic del pulsante che deve fare questa operazione. Poi dovresti preoccuparti che, dopo averla fatta, magari il pulsante si nasconda o renda non attivo per evitare un secondo clic inopportuno...non so...
  • Re: Maschera con valori già inseriti

    Vi carico un immagine per spiegarmi meglio, ad intuito non dovrebbe essere una cosa complicata..


    Nella parte 1 c'è la struttura della tabella articoli, che è da dove voglio prendere il numero del codice.
    Nella parte 2 è la maschera per l'inserimento di un nuovo movimento, giusto per far capire i campi che vengono inseriti (quello sotto la casella di testo "Codice" è la descrizione che viene presa in automatico dalla tabella articoli a seconda dell'articolo selezionato e non viene registrata)
    Nella parte 3 c'è un esempio della maschera che voglio realizzare per l'inserimento degli articoli nella valigia. I codici che sono utilizzati sono sempre e solo quelli, e vorrei che quei 5 codici comparissero nelle caselle, poi si inserisce la quantità che va inserita e tramite il tasto "Registra" si salvano tutti e 5 i movimenti in una volta sola.
  • Re: Maschera con valori già inseriti

    Ragioniamo per piccoli passi.
    1. Tu hai i 5 Articoli che hanno i seguenti IDArticolo: 009351, 026259, 200688, 200690, 209614 (sembrano di tipo Testo e non Numerico)
    2. Crea una nuova query in visualizzazione struttura e importa la tabella Articoli
    3. Trascina nelle colonne della griglia query i campi che vuoi, ma soprattutto IDArticolo
    4. In corrispondenza di Criterio (al campo IDArticolo), scrivi
    Like "009351"
    scendi al rigo sottostante Oppure e scrivi:
    Like "026259"
    scendi al rigo sottostane e scrivi:
    Like "200688"
    scendi al rigo sottostante e scrivi:
    Like "200690"
    scendi al rigo sottostante e scrivi:
    Like "209614"
    5. Fino ad ora abbiamo creato una query che ti filtra 5 record dalla tabella Articoli, esattamente equivalenti ai 5 IDArticolo che abbiamo analizzato. Ma questa query è solo una semplice query di selezione
    6. Trasforma questa query di selezione in "query di accodamento" dove devi dire che vuoi accodare alla tabella Movimenti il campo IDArticolo
    7. La query di accodamento appartiene alla categoria delle "query di comando". Questo vuol dire che quando la ESEGUI, essa accoderà 5 record in Movimenti
    8. Salva la query con nome Accoda5Articoli
    9. Adesso viene una parte delicata, dedicata a una macro o codice VBA che occorre implementare per rendere automatica questa operazione che immagino tu vorresti a portata di clic di mouse su un pulsante da qualche parte...il fatto è che non si capisce dove sta o dove deve stare questo pulsante che deve fare clic e scatenare l'evento che aziona la query Accoda5Articoli
Devi accedere o registrarti per scrivere nel forum
21 risposte