Griglia risultati query

di il
18 risposte

Griglia risultati query

Ciao a tutti,

esiste un modo (un controllo aggiuntivo) per utilizzare da codice VBA la griglia mostrata dal motore access che visualizza il risultato di una query?

18 Risposte

  • Re: Griglia risultati query

    No. Il perchè è semplice. Tabelle e query non sono oggetti con cui si deve interagire. Per farlo si usano le maschere.
  • Re: Griglia risultati query

    rinh0wrz ha scritto:


    Ciao a tutti,

    esiste un modo (un controllo aggiuntivo) per utilizzare da codice VBA la griglia mostrata dal motore access che visualizza il risultato di una query?
    Spiega meglio.cosa devi fare... la risposta potrebbe essere positiva capendo l'esigenza.
  • Re: Griglia risultati query

    @Alex ha scritto:


    rinh0wrz ha scritto:


    Ciao a tutti,

    esiste un modo (un controllo aggiuntivo) per utilizzare da codice VBA la griglia mostrata dal motore access che visualizza il risultato di una query?
    Spiega meglio.cosa devi fare... la risposta potrebbe essere positiva capendo l'esigenza.
    Niente di più semplice di questo:
    https://media.gcflearnfree.org/ctassets/topics/236/query_more_sort_done1.png

    Una banale query: select * from pippo;
    Dentro access, si fa un doppio click e viene aperta la griglia coi risultati della query.
    E' possibile aprire una griglia da vba e successivamente intercettare i valori di righe e colonne?
  • Re: Griglia risultati query

    rinh0wrz ha scritto:


    E' possibile aprire una griglia da vba e successivamente intercettare i valori di righe e colonne?
    Per aprire la query "Ordered Menu Items" che mostra il suo "recordset" (non parlare di "griglia", significa un'altra cosa che si vede in visualizzazione struttura query), usi
    DoCmd.OpenQuery "Ordered Menu Items"
    Che vuol dire "intercettare i valori di righe e colonne"?
  • Re: Griglia risultati query

    OsvaldoLaviosa ha scritto:


    rinh0wrz ha scritto:


    E' possibile aprire una griglia da vba e successivamente intercettare i valori di righe e colonne?
    Per aprire la query "Ordered Menu Items" che mostra il suo "recordset" (non parlare di "griglia", significa un'altra cosa che si vede in visualizzazione struttura query), usi
    DoCmd.OpenQuery "Ordered Menu Items"
    Questo sono riuscito a farlo (grazie anche al tuo prezioso aiuto)

    Che vuol dire "intercettare i valori di righe e colonne"?
    Vorrei poter riuscire a capire che valore contiene una cella o una riga a fronte della selezione col click del mouse per poi poterli utilizzare nel codice vba.
  • Re: Griglia risultati query

    Per me resta la filosofia che "non puoi interagire" con tabelle e soprattutto query. Di conseguenza fai poggiare sulla query una omonima maschera stile "foglio dati". Ottieni lo stesso effetto visivo, ma puoi interagire con i record che selezioni.
    In questo caso usi però
    DoCmd.OpenForm "Ordered Menu Items" 'per aprire la maschera che poggia sull'omonima query
    Me!CampoDiTuaScelta.Value 'per prelevare il valore di "quel campo che preferisci" una volta che hai selezionato un record
    Però mi sembra ovvio che stiamo parlando di 2 "azioni diverse" e disgiunte, da gestire separatamente, perché la selezione del 4° record è tua e arbitraria...il codice VBA precedente non può gestirlo...almeno per quello che ne so io...
  • Re: Griglia risultati query

    rinh0wrz ha scritto:


    OsvaldoLaviosa ha scritto:


    rinh0wrz ha scritto:


    E' possibile aprire una griglia da vba e successivamente intercettare i valori di righe e colonne?
    Per aprire la query "Ordered Menu Items" che mostra il suo "recordset" (non parlare di "griglia", significa un'altra cosa che si vede in visualizzazione struttura query), usi
    DoCmd.OpenQuery "Ordered Menu Items"
    Questo sono riuscito a farlo (grazie anche al tuo prezioso aiuto)

    Che vuol dire "intercettare i valori di righe e colonne"?
    Vorrei poter riuscire a capire che valore contiene una cella o una riga a fronte della selezione col click del mouse per poi poterli utilizzare nel codice vba.
    Mi pare ci sia una Confusione eccessiva...!
    Una Query non è quella Griglia... la Query è un Recordset di dati, la Griglia è uno strumento Dedicato alla SOLA VISUALIZZAZIONE in fase di Sviluppo, sottolineo in fase di sviluppo, in quanto non consente Interfaccia Operativa.
    Per quello che chiedi, che si può fare, serve usare lo strumento preposto all'interfacciamento con l'UOMO... questo strumento è la Maschera.
    La puoi fare in modo semplice, FoglioDati(DataSheetView) basata sulla Query di cui parli, e l'aspetto estetico sarebbe il medesimo, con il vantaggio di poter sapere cosa stai Facendo, se hai selezionato una Cella o una Colonna o tutte le Righe e Colonne...

    Prova a rifletterci.
  • Re: Griglia risultati query

    @Alex ha scritto:


    rinh0wrz ha scritto:


    OsvaldoLaviosa ha scritto:


    Per aprire la query "Ordered Menu Items" che mostra il suo "recordset" (non parlare di "griglia", significa un'altra cosa che si vede in visualizzazione struttura query), usi
    DoCmd.OpenQuery "Ordered Menu Items"
    Questo sono riuscito a farlo (grazie anche al tuo prezioso aiuto)

    Che vuol dire "intercettare i valori di righe e colonne"?
    Vorrei poter riuscire a capire che valore contiene una cella o una riga a fronte della selezione col click del mouse per poi poterli utilizzare nel codice vba.
    Mi pare ci sia una Confusione eccessiva...!
    Una Query non è quella Griglia... la Query è un Recordset di dati, la Griglia è uno strumento Dedicato alla SOLA VISUALIZZAZIONE in fase di Sviluppo, sottolineo in fase di sviluppo, in quanto non consente Interfaccia Operativa.
    Per quello che chiedi, che si può fare, serve usare lo strumento preposto all'interfacciamento con l'UOMO... questo strumento è la Maschera.
    La puoi fare in modo semplice, FoglioDati(DataSheetView) basata sulla Query di cui parli, e l'aspetto estetico sarebbe il medesimo, con il vantaggio di poter sapere cosa stai Facendo, se hai selezionato una Cella o una Colonna o tutte le Righe e Colonne...

    Prova a rifletterci.
    Vabbè ho detto griglia, intendevo dire recordset, scusate.

    Potete fornirmi un esempio di codice partendo da una casella di testo di una maschera A chiamata TXT che apra una maschera con un recordset come vorrei io utilizzando una query che si aspetta un parametro?
    Nel senso, la query sarà una cosa simile?
    select * from comuni where comune like & A.TXT.value &
    Ed il codice questo?
    DoCmd.OpenQuery "<nome_della_query_qui_sopra>

    Infine la maschera, dovrei crearla con la creazione guidata poggiata sulla query?

    Grazie.
  • Re: Griglia risultati query

    rinh0wrz ha scritto:


    @Alex ha scritto:


    rinh0wrz ha scritto:


    Vorrei poter riuscire a capire che valore contiene una cella o una riga a fronte della selezione col click del mouse per poi poterli utilizzare nel codice vba.
    Mi pare ci sia una Confusione eccessiva...!
    Una Query non è quella Griglia... la Query è un Recordset di dati, la Griglia è uno strumento Dedicato alla SOLA VISUALIZZAZIONE in fase di Sviluppo, sottolineo in fase di sviluppo, in quanto non consente Interfaccia Operativa.
    Per quello che chiedi, che si può fare, serve usare lo strumento preposto all'interfacciamento con l'UOMO... questo strumento è la Maschera.
    La puoi fare in modo semplice, FoglioDati(DataSheetView) basata sulla Query di cui parli, e l'aspetto estetico sarebbe il medesimo, con il vantaggio di poter sapere cosa stai Facendo, se hai selezionato una Cella o una Colonna o tutte le Righe e Colonne...

    Prova a rifletterci.
    Vabbè ho detto griglia, intendevo dire recordset, scusate.

    Potete fornirmi un esempio di codice partendo da una casella di testo di una maschera A chiamata TXT che apra una maschera con un recordset come vorrei io utilizzando una query che si aspetta un parametro?
    Nel senso, la query sarà una cosa simile?
    select * from comuni where comune like & A.TXT.value &
    Ed il codice questo?
    DoCmd.OpenQuery "<nome_della_query_qui_sopra>
    Infine la maschera, dovrei crearla con la creazione guidata poggiata sulla query?

    Grazie.
  • Re: Griglia risultati query

    Ho la sensazione che ti mordi la coda da solo. Credo di averti già risposto qui e/o in altro thread.
    Se chiedi quest'ultima cosa ci fai capire che POI non vuoi più puntare la tua attenzione su (per esempio) il 4° record. Cioè potrai farlo, ma nessun codice VBA successivo potrà far scatenare un evento "dopo selezione su record query" (che non esiste ovviamente).

    rinh0wrz ha scritto:


    Potete fornirmi un esempio di codice partendo da
    Lo sai che è contro il regolamento fornire "pappa pronta"? Un esempio come dici tu (che non si è ancora capito) almeno io non saprei dove andare a prenderlo.

    Se raccontassi PASSO-PASSO cosa vuoi ottenere fino alla fine di tutto il discorso, capiremmo meglio la strategia più idonea.
  • Re: Griglia risultati query

    OsvaldoLaviosa ha scritto:


    Ho la sensazione che ti mordi la coda da solo. Credo di averti già risposto qui e/o in altro thread.
    Se chiedi quest'ultima cosa ci fai capire che POI non vuoi più puntare la tua attenzione su (per esempio) il 4° record. Cioè potrai farlo, ma nessun codice VBA successivo potrà far scatenare un evento "dopo selezione su record query" (che non esiste ovviamente).
    Non capisco cosa intendi per 4°. E' un esempio come per dire l'ennesimo?
    Ah, cioè cliccando sul un record non ho modo di recuperarne il valore per poi lavorarlo nel codice vba? Capisco male?

    rinh0wrz ha scritto:


    Potete fornirmi un esempio di codice partendo da
    Lo sai che è contro il regolamento fornire "pappa pronta"? Un esempio come dici tu (che non si è ancora capito) almeno io non saprei dove andare a prenderlo.

    Se raccontassi PASSO-PASSO cosa vuoi ottenere fino alla fine di tutto il discorso, capiremmo meglio la strategia più idonea.
    Se uno chiede aiuto ad un forum non penso sia una regola corretta fornire pappa pronta anche come codice di esempio.
    Comunque fa lo stesso...
  • Re: Griglia risultati query

    rinh0wrz ha scritto:


    OsvaldoLaviosa ha scritto:


    Ho la sensazione che ti mordi la coda da solo. Credo di averti già risposto qui e/o in altro thread.
    Se chiedi quest'ultima cosa ci fai capire che POI non vuoi più puntare la tua attenzione su (per esempio) il 4° record. Cioè potrai farlo, ma nessun codice VBA successivo potrà far scatenare un evento "dopo selezione su record query" (che non esiste ovviamente).

    rinh0wrz ha scritto:


    Potete fornirmi un esempio di codice partendo da
    Lo sai che è contro il regolamento fornire "pappa pronta"? Un esempio come dici tu (che non si è ancora capito) almeno io non saprei dove andare a prenderlo.

    Se raccontassi PASSO-PASSO cosa vuoi ottenere fino alla fine di tutto il discorso, capiremmo meglio la strategia più idonea.
    Non capisco cosa intendi per 4°. E' un esempio come per dire l'ennesimo?
    Ah, cioè cliccando sul un record non ho modo di recuperarne il valore per poi lavorarlo nel codice vba? Capisco male?

    Se uno chiede aiuto ad un forum non penso sia una regola corretta fornire pappa pronta anche come codice di esempio.
    Comunque fa lo stesso...
  • Re: Griglia risultati query

    Io non ce l'ho un codice "ad hoc" per il tuo caso. Mi pare di averti dato indicazioni per ogni singola domanda dove tu poi hai provveduto a correggere volta per volta. Riassembla tutto TU, vedi se funziona, altrimenti ne riparliamo...ma sii chiaro fino in fondo.
  • Re: Griglia risultati query

    rinh0wrz ha scritto:


    Vabbè ho detto griglia, intendevo dire recordset, scusate.
    Non è questione di "vabbè" o di "scusate"... non hai ancora capito quale sia la differenza tra le 2 cose... che non sono Sinonimi ma oggetti tecnici differenti, quindi nonti ho dato un suggerimento di nomenclatura, ma una nozione tecnica specifica per comprendere che stai facendo coinsiderazioni errate.

    rinh0wrz ha scritto:


    Potete fornirmi un esempio di codice partendo da una casella di testo di una maschera A chiamata TXT che apra una maschera con un recordset come vorrei io utilizzando una query che si aspetta un parametro?
    E' complicato spiegare questa cosa a chi non ha alcuna nozione..., perchè probabilmente non ti serve nulla, o non ti servirebbe nulla se avessi un minimo di nozioni.. e guarda che queste servono, il Forum non fa corsi ONLINE.

    Se hai 2 Maschere, e dalla Prima(A) vuoi aprire una Seconda(B) filtrandone i dati corrispndenti ad un Valore della Maschera A... fa tutto l'autocomposizione dei Pulsanti aprendo il Wizard, se la Maschera A è legata in qualche modo alla Maschera B tramite Campi Relazionati.
    Se così non fosse devi spiegarci meglio, perchè non capire, non sapersi spiegare è un grosso problema...

    rinh0wrz ha scritto:


    Nel senso, la query sarà una cosa simile?
    select * from comuni where comune like & A.TXT.value &
    Ed il codice questo?
    DoCmd.OpenQuery "<nome_della_query_qui_sopra>
    NOOOO...!!!!!
    Devi usare una Maschera, quindi non può essere quello, e se usi una Maschera, la Funzione per Aprire una maschera è OPENFORM che supporta un parametro chiamato WHERECONDITION dove puoi passare il Criterio, quindi la tua Query non necessita di Parametro.

    Quindi Query
    select * from comuni
    Poi crei la maschera basata sulla Query, quindi la apri filtrandola:
    
    DoCmd.OpenForm "nomemaschera", , , "Comune Like '*" & Me.txt.Value & "*'"
    Attenzione che il Parametro in caso sia un Testo, quindi una Stringa, va Formattato in modo corretto e, se parziale devi mettere il Jolly, altrimenti non trovi nulla...
    Queste cose tuttavia le leggi sulla guida, e non è scortese suggerirti di leggerla prima di porti su posizioni tecnicamente incomprensibili.

    rinh0wrz ha scritto:


    Infine la maschera, dovrei crearla con la creazione guidata poggiata sulla query?
    Grazie.
    Saluti.
Devi accedere o registrarti per scrivere nel forum
18 risposte