Condividi tramite

Accodamento records da query a campi incrociati

Anonimo
2017-05-26T16:03:06+00:00

Salve a tutti

Ho la necessità di accodare ad una tabella i records prodotti da una query a campi incrociati.

Mi risulta che questo tipo di query non possa creare una tabella ma sia essenzialmente una query di selezione, così mi sono arrabattato creando un po' di codice con un recordset basato sul SQL della query.

Ho quindi creato una tabella vuota con i nomi delle colonne della query.

Ora viene il problema: dato che i nomi delle colonne della query a campi incrociati sono variabili come faccio ad attribuire al nome variabile del campo del recordset in valore della query?

Mi servirebbe una cosa del tipo:    [“ & fld.Name & “] = fld.Value     ma così non funziona.

Qualche suggerimento?

Se il quesito risultasse poco comprensibile potrei anche pubblicare l'intera sub.

Grazie in anticipo per ogni vostro suggerimento!

PS uso Access 2016 con Windows 10.

Microsoft 365 e Office | Access | Per la casa | Windows

Domanda bloccata. Questa domanda è stata eseguita dalla community del supporto tecnico Microsoft. È possibile votare se è utile, ma non è possibile aggiungere commenti o risposte o seguire la domanda.

0 commenti Nessun commento

Risposta accettata dall'autore della domanda

Anonimo
2017-05-31T18:36:42+00:00

ciao Roberto,

non sono Karl e soprattutto bravo come Karl, ma provo ad aiutarti :-).

da come capisco il problema maggiore è individuare il numero delle colonne che non è fisso nelle crossTabQueries.

Se così è un classico.

una possibile soluzione potrebbe essere create n textBox con n labels tante quante pensi siano il numero massimo di colonne, visto che ne hai poche 6 o 7 nulla di improponibile. Tutte non associate.

Su apertura assegni caption alle labels ed il controlSource alle textBoxes ciclando i fields del recordSource aprendo su di esso un recorset.

Non appena fatto, rendi invisibili gli altri controlli

infatti con un recordSource tipo questo :

ottieni :

altrimenti con un filtro tipo :

ottieni :

Provaci, se non ci riesci ti metto a disposizione la demo che ho preparato.

Ciao, Sandro.

La risposta è stata utile?

1 persona ha trovato utile questa risposta.
0 commenti Nessun commento

10 risposte aggiuntive

Ordina per: Più utili
  1. Anonimo
    2017-06-05T14:59:37+00:00

    GRAZIE SANDRO!

    Tutto ok e funzionante!

    Un solo quesito: la query a campi incrociati DEVE per forza essere salvata? Non è possibile attribuire l'origine dei records con Me.Recordsource all'apertura della maschera? Questo mi permetterebbe anche di azionare un filtro variabile all'apertura del report.

    Salutoni.

    PS Perdonami ho fatto casino con le mie risposte alle tue precedenti.

    La risposta è stata utile?

    0 commenti Nessun commento
  2. Anonimo
    2017-06-03T16:15:40+00:00

    ciao Roberto,

    la demo è pubblicata,  clicca su qui, nel post :

    esattamente dove punta la freccia rossa.

    si apre il browser sulla pagina di OneDrive da cui puoi scaricare la demo :

    devi solo salvare la demo sul tuo PC è quella con il segno di spunta blu crossTab.accdb

    HTH.

    Ciao, Sandro.

    La risposta è stata utile?

    0 commenti Nessun commento
  3. Anonimo
    2017-06-03T13:56:53+00:00

    Ciao Sandro

    E' abbastanza chiaro ma se hai già un esempio ti prego di pubblicarlo, soprattutto per la sintassi di attribuzione nome ai campi.

    Grazie per la pazienza e disponibilità.

    La risposta è stata utile?

    0 commenti Nessun commento
  4. Anonimo
    2017-06-03T08:45:10+00:00

    ciao Roberto,

    ti pubblico la demo test qui.

    Apri il report in struttura e controlla il codice associato all'evento su apertura, è la traduzione in VBA di quanto espresso nel post precedente a questo.

    [...]

    Grazie.

    prego, HTH.

    Ciao, Sandro.

    La risposta è stata utile?

    0 commenti Nessun commento