[ACCESS]: Popolare dinamicamente una maschera

di
Anonimizzato12446
il
8 risposte

[ACCESS]: Popolare dinamicamente una maschera

Salve a tutti!
Sto creando un database da utilizzare in locale per una libreria.
Ho pensato di sviluppare un'interfaccia grafica poiché non tutti conoscono il linguaggio SQL per effettuare le ricerche.

Avevo pensato di farla in modo abbastanza semplice.
Volevo sfruttare l'organizzazione a schede che Access fornisce, una di ricerca, una di visualizzazione ed altre eventuali per l'aggiunta di record, ma un problema alla volta.

Nella prima scheda ho impostato un campo di ricerca e quattro pulsanti (Codice, Autore, Titolo, Anno).
Al di sotto di questo primo spazio, ho inserito una casella di riepilogo, in modo da raccogliere lì i dati e tramite doppio click andare a visualizzarne i dettagli.

Ad ogni pulsante è associata una query che prende il valore del campo di testo e ricerca, all'interno della tabella i record che mi servono.
Le queries funzionano, ma vorrei capire come fare a far 'puntare' la query in questione alla casella di riepilogo.

Praticamente: premendo il pulsante, il risultato della ricerca dovrebbe comparire nella casella al di sotto, ma non riesco a capire come fare.

Credo che poi il criterio sia lo stesso per la navigazione tra le schede, dai risultati della query nella casella di controllo alla scheda dei dettagli...

Purtroppo non conosco linguaggio Visual Basic per Access e stavo cercando di farlo attraverso le proprietà che compaiono a fianco... Qualcuno sa darmi qualche dritta? Grazie mille! (per eventuale confusione e/o maggiori dettagli, chiedetemi pure, cercherò di essere il più chiaro possibile!)

IN ALTERNATIVA: Conoscete altri modi per integrare un database Access con un'interfaccia che magari possa essere trasformata in un'applicazione a sé? Grazie!

8 Risposte

  • Re: [ACCESS]: Popolare dinamicamente una maschera

    La tua idea teorica si potrebbe anche realizzare come dici, ma il fatto che da un solo campo (immagino libero, cioè non proveniente da alcuna tabella, correggimi se sbaglio) si voglia arrivare a cercare nel campo Codice or Autore or Titolo or Anno (a seconda del clic di pulsante) diventa un groviglio di azioni in codice Visual Basic non affatto semplice. Chi ti risponde naviga nella tua stessa barca riguardo al Visual Basic. Siamo sicuri che l'organizzazione a schede sia congeniale?
    Non ho capito il discorso query<----->casella di riepilogo. Potresti fornire più dettagli?
  • Re: [ACCESS]: Popolare dinamicamente una maschera

    Innanzitutto grazie della risposta...

    Per quando riguarda i pulsanti, ho assegnato ad ognuno una query (tramite l'interfaccia di proprietà), e cliccando il valore della casella di testo viene prelevato e la query funziona correttamente, ma il risultato compare in una nuova tabella di access e non so come 'direzionale' verso la casella di controllo.

    Vorrei che i record venissero visualizzati anziché in una tabella, nella casella di controllo, in modo da poter cliccare e aprire i dettagli
  • Re: [ACCESS]: Popolare dinamicamente una maschera

    IL tuo discorso è abbastanza complesso. Piuttosto che parlare di "casella di riepilogo", "campo ricerca", "casella di testo" ecc...potresti indicare i nomi propri di tutti questi controlli, poi specifica pure di cosa si tratta? Se puoi fare anche qualche esempio pratico, credo che riusciresti a rendere meglio l'idea del tutto.
  • Re: [ACCESS]: Popolare dinamicamente una maschera

    Direi che più pratico di così non si può

    Screenshot:

    Ad ogni pulsante è assegnata una query sulla falsariga di quella che vedi. Io praticamente non riesco a caricare i dati nella casella di controllo. Access mi apre una nuova tabella con i records che risultano dalla query, quindi la ricerca funziona correttamente! Mi manca l'"indirizzamento" dei risultati verso la casella di controllo...
  • Re: [ACCESS]: Popolare dinamicamente una maschera

    Vediamo se ho capito.
    1) Il rettangolo dove vedo scritto
    H 76|Collodi C.|Le aventure di Pinocchio|Ed. Ad.|1999|
    è la casella di riepilogo. Vero?

    Se sì, mi sembra impossibile (almeno secondo le mie conoscenze) associare la scelta con Doppio-clic per mettere in moto un Evento che apra la maschera Dettagli.
    Io vedrei quel rettangolo come una sottomaschera Libri e Dettagli ulteriore sottomaschera. In questo modo puoi scegliere un record da Libri e vedere automaticamente i relativi Dettagli.

    Spero di non aver travisato tutto il discorso.
  • Re: [ACCESS]: Popolare dinamicamente una maschera

    Ok, ma la questione non cambia: come faccio a dire al programma che deve aprirmi i record nella sottomaschera e non in un'altra scheda di Access (NB: Non della mia interfaccia, ma di Access) come fa adesso?
  • Re: [ACCESS]: Popolare dinamicamente una maschera

    MadJetther ha scritto:


    Direi che più pratico di così non si può

    Screenshot:

    Ad ogni pulsante è assegnata una query sulla falsariga di quella che vedi. Io praticamente non riesco a caricare i dati nella casella di controllo. Access mi apre una nuova tabella con i records che risultano dalla query, quindi la ricerca funziona correttamente! Mi manca l'"indirizzamento" dei risultati verso la casella di controllo...
    Su Evento [Double_click] della ListBox, apri la maschera di dettaglio passando al parametro WHERE del metodo OpenForm il CRITERIO specifico recuperando la PK della ListBox ed usandola come valore da assegnare al Campo(PK).
    
    DoCmd.OpenForm "NomeFormDettaglio",,,"IdPK=" & Me!NomeLista.Value
    Ovviamente scritto così la ListBox ha come BoundColumn la PK da passare, se così non fosse riferiscila all'Indice della Collection COLUMN(...).

    Non capisco cosa dici quando dici APRIRE nella SOTTOMASCHERA... la Sottomaschera è già aperta e non si RIAPRE, al massimo si FILTRA, quindi quanto detto sopra, si ricicla non usando OPENFORM ma usando la proprietà FILTER della Subform
    
    me!NomeSubForm.form.FilterOn=False
    me!NomeSubForm.form.Filter="IdPK=" & me!nomelista.Value
    me!NomeSubForm.form.FilterOn=True
  • Re: [ACCESS]: Popolare dinamicamente una maschera

    Grazie per la risposta Alex Non sono pratico di codice ma sto cercando di capire e fare qualche tentativo
    Il mio problema principale è però far comparire i records della mia ricerca nella ListBox... Se io faccio la mia query, Access mi apre una nuova 'pagina' a sé stante, indipendente dalla mia interfaccia. Io devo caricare i record nella ListBox... Come faccio?
Devi accedere o registrarti per scrivere nel forum
8 risposte