Access 2010: Sottomaschera di inserimento con tutti i record della tabella associata visibili

di il
26 risposte

26 Risposte - Pagina 2

  • Re: Access 2010: Sottomaschera di inserimento con tutti i record della tabella associata visibili

    Grazie mille, provo subito!
  • Re: Access 2010: Sottomaschera di inserimento con tutti i record della tabella associata visibili

    Ciao,
    ho fatto tutte le tabelle e le relazioni.
    Purtroppo mi sono arenato con la qry di accodamento.
    C'è qualcosa che mi sfugge in questi passaggi
    Da CorseTram, in base al proprio IDCorsa che conserva se è A o R, tu stabilisci che una query di accodamento deve accodare 14 record da Fermate in DettagliFermate in base al CorseTram corrispondente.
    . Scusami...
  • Re: Access 2010: Sottomaschera di inserimento con tutti i record della tabella associata visibili

    Io penso che ti conviene costruire 2 query di accodamento. Una con Ordinamento Crescente su NFermataA (senza mostrare il campo NFermataR) e l'altra con Ordinamento Crescente su NFermataB (senza mostrare il campo NFermataA).
    Per ora stiamo parlando solo a livello di tabelle. Quindi le query di accodamento le eseguirai a mano UNA VOLTA SOLA. Il voler automatizzare tutto è un passo che viene più in là.
  • Re: Access 2010: Sottomaschera di inserimento con tutti i record della tabella associata visibili

    Ciao Osvaldo, c'è una cosa che non mi torna. Se faccio le query di accodamento, immagino che devo accodarle nella tabella DETTAGLI_FERMATE.
    Nella tabella DETTAGLI_FERMATE ho i seguenti campi:
    ID_DF, ID_CT, ID_FERMATA, SALITI
    ID_CT è il campo chiave primaria della tabella CORSE_TRAM.
    In questa tabella c'è anche ID-CORSE che è relazionato con la tabella CORSE. Il mio dubbio è il seguente:
    Essendo ogni effettiva corsa del tram univoca, cioè fuori da una tabellina orari, ovvero esiste un orario di inizio e di fine del servizio, ma le corse effettuate all'interno di questa fascia non hanno un orario preciso (non come il treno che ha corse identiche che si ripetono di giorno in giorno), non si potrebbe eliminare la tabella CORSE e mettere l'orario di partenza della corsa nella tabella CORSE_TRAM?
  • Re: Access 2010: Sottomaschera di inserimento con tutti i record della tabella associata visibili

    Forse sì. Per sicurezza prova entrambe le soluzioni.
    Io ho pensato a una tabella Corse perchè ho ritenuto che esiste una certa "ripetitività sistematica" di ogni Corsa (con tanto di IDCorsa) nella tabella CorseTram.
    Vedi tu come ti trovi meglio.
  • Re: Access 2010: Sottomaschera di inserimento con tutti i record della tabella associata visibili

    Ciao, io avrei eliminato la tabella CORSE e messo i campi DIREZIONE e ORA_INIZIO nella tabella CORSE_TRAM.
    Ho fatto le 2 qry che mi filtrano le fermate in base alla direzione. Ora come potrei realizzare una maschera di inserimento dove inserire i dati richiesti dalla tabella CORSE_TRAM e quelli della QRY con le fermate in ordine di direzione, inserire le quantità di passeggeri per fermata e salvare tutti i dati in modo da poterli analizzare successivamente?
    Grazie mille.
  • Re: Access 2010: Sottomaschera di inserimento con tutti i record della tabella associata visibili

    leonardocarrani ha scritto:


    Ho fatto le 2 qry che mi filtrano le fermate in base alla direzione
    Queste 2 query (attualmente di selezione) devono diventare "query di accodamento" (da eseguire una volta sola quando ti servono).

    leonardocarrani ha scritto:


    Ora come potrei realizzare una maschera di inserimento dove inserire i dati richiesti dalla tabella CORSE_TRAM e quelli della QRY con le fermate in ordine di direzione, inserire le quantità di passeggeri per fermata e salvare tutti i dati in modo da poterli analizzare successivamente?
    Crea una maschera/sottomaschera (usa la procedura guidata) Corse_Tram/DettagliFermate. In alto vedrai una sola CorsaTram e sotto (dopo aver accodato la query) la lista delle Fermate (senza la compilazione dei campi NumeroPasseggeriSaliti). Tutti i dati che compili nelle maschere e sottomaschere vengono automaticamente memorizzati nelle tabelle.
  • Re: Access 2010: Sottomaschera di inserimento con tutti i record della tabella associata visibili

    Ciao Osvaldo,
    le query le ho già fatte di accodamento quando la eseguo mi mette correttamente i dati della query nella tabella DETTAGLI_CORSE con la quantità saliti con zero.
    Avevo già fatto il passo successivo di creare la maschera come hai detto tu, il problema è che, come da relazioni in immagine, il campo ID_CT della tabella DETTAGLI_FERMATE che è relazionato con la tabella CORSE_TRAM è vuoto e quindi nella sottomaschera con i DETTAGLI_FERMATE non appaiono i record con le fermate. Non ci sarebbe modo di scrivere automaticamente nei campi del ID_CT della tabella DETTAGLI_FERMATE l'ID_CT che scrivo nella maschera per la parte CORSE_TRAM?
    Garzie
  • Re: Access 2010: Sottomaschera di inserimento con tutti i record della tabella associata visibili

    Dalla finestra Relazioni che vedo, devi togliere la relazione Corse_Tram--->Fermate ed eliminare il campo Fermate.ID_CT.
    Dovresti ritoccare la query di accodamento che deve includere anche il campo ID_CT e in Criterio ci scrivi:
    [Maschere]![Corse_Tram]![ID_CT]
    Questo presuppone che tu abbia una maschera Corse_Tram aperta e posizionata sul particolare ID_CT che deve apparire bene in vista affinchè la query di accodamento accodi 14 volte il valore visualizzato.
  • Re: Access 2010: Sottomaschera di inserimento con tutti i record della tabella associata visibili

    Ciao Osvaldo, la relazione che mi suggerisci di togliere, in effetti non è presente. L'avevo già eliminata e ho sbagliato ad allegare l'immagine.
    Ho già sistemato il tutto e direi che a grandi linee ci siamo. Ho un paio di cose da chiederti che ho provato a fare ma non riesco a trovare una soluzione.
    nell'immagine ho messo in rosso l'ordine di sequenza dei campi.
    dopo aver inserito la "DIREZIONE" clicco su invio, e viene selezionato il pulsante "ESEGUI QUERY". Sul pulsante ho messo in "evento su pressione" una macro che esegue la query e aggiorna la maschera.
    A questo punto appare nella sottomaschera l'elenco delle 14 fermate alle quali posso aggiungere la quantità dei saliti.
    Quì ho il primo problema che è questo:
    Il pulsante "ESEGUI QUERY" rimane evidenziato/selezionato e quindi se premo invio per passare alla sottomaschera mi esegue nuovamente la query e mi aggiunge alla sottomaschera altre 14 fermate.
    C'è modo di passare alla sottomaschera dopo la pressione del pulsante "ESEGUI QUERY"?
    Se si, sarebbe possibile andare direttamente al campo saliti in modo che tutte le volte che inserisco la quantità saliti, premo invio e passa al campo saliti del record successivo. In sintesi sarebbe possibile nella sottomaschera selezionare solo i campi "SALITI"?

    Proseguendo con l'ordine, dopo aver finito l'immisione dei saliti passo al pulsante "NUOVO RECORD" e inizio una nuova immissione.
    Grazie per il tuo aiuto prezioso.
    Leonardo
  • Re: Access 2010: Sottomaschera di inserimento con tutti i record della tabella associata visibili

    Considera che tu, dopo aver cliccato sul pulsante "Esegui query", il pulsante ha ancora lo stato attivo. Quindi premendo INVIO, tu stai cliccando nuovamente su di esso.
    Io ho capito dove vuoi arrivare e bisogna lavorare per piccoli passi e un po' di raffinatezze perchè funzioni tutto come desideri tu senza fare pasticci.
    Hai detto di usare le macro: usi solo quelle oppure sai usare anche il VBA (Visual Basic for Applications)? Io ho usato le macro per vari anni...dovrei ricordare ancora qualcosa...ma da quando mi sono impratichito con VBA, sto abbandonando sempre più le macro.
    Provo ugualmente a darti almeno alcune imbeccate logiche.
    1) Io direi che il pulsante "Esegui query" deve essere Visibile o Attivato (Enabled) solo se nella sottomaschera non si vedono record. Il "non si vedono record" può essere implementato con una "query di selezione" (Query1) che guarda i valori filtrati dal tuo [Forms]![CORSE_TRAM]![ID_CT]. Con una "condizione"
    DCount("*";"Query1")=0
    Puoi impostare all'evento "Su corrente" la proprietà
    [Forms]![CORSE_TRAM]![Esegui query].Visible=True
    2) Anche per passare al controllo [NumeroPasseggeriSaliti] ti serve qualcosa come
    [Forms]![NomeMascheraPrincipale]![NomeSottomaschera]![NumeroPasseggeriSaliti].SetFocus

    Sono andato un po' a ruota libera in VBA...vorrei che ci chiarissimo sulla scelta fra macro o VBA.

    P.S.: mi pare che la discussione sia diventata relativamente lunga e l'argomento rischia di allontanarsi sempre di più dal titolo principale. Ti suggerisco di aprire un nuovo thread in cui riesponi lo scenario maschera/sottomaschera e rispieghi tutto. Se il thread ha forti e chiari riferimenti a un thread precedente, può essere utile indicare il link corrispondente.
  • Re: Access 2010: Sottomaschera di inserimento con tutti i record della tabella associata visibili

    Ciao Osvaldo, grazie ancora, anche perchè vedo che sei l'unico che mi ha risposto e ancora mi risponde, quindi ancora grazie di cuore.
    Per quanto riguarda Macro e VBA francamente sono una frana con entrambi. Quindi direi che quello che a te rimane più immediato senza farti perdere troppo tempo è ottimo. Ovviamente sia in un caso che nell'altro devi avere pazienza...e pensare che stai avendo a che fare con un "ceppicone", come si dice a Firenze.

    Passando invece all'apertura di un nuovo thread ok anche se non so come linkare questa discussione.
    Grazie Leonardo
Devi accedere o registrarti per scrivere nel forum
26 risposte