SOTTOREPORT ACCESS con QUERY PER PARAMETRI

di il
9 risposte

SOTTOREPORT ACCESS con QUERY PER PARAMETRI

Scusate non sono un programmatore ma ho creato un Db (Access 2007) per registrare i soci di uno sciclub con cui collaboro e ho questo problema che non riesco a risolvere.
Ho creato un report con all'interno 3 sottoreport basati su altrettante query per parametri. Quando apro il report principale mi viene chiesto di inserire cognome e nome prima di un intestatario (1° sottoreport), poi cognome e nome di un minorenne (2° sottoreport) e infine due numeri (3° sottoreport). Viene visualizzata un anteprima di stampa. Fino a qui tutto ok.
Quando però si manda in stampa la procedura di inserimento parametri deve essere ripetuta cioè devo inserire tutto un'altra volta e non capisco perchè. Ho verificato che un un solo report basato su una query per parametri tutto questo non succede quindi ho concluso che il problema devono essere i 3 sottoreport ma non so cosa fare.
Qualcuno mi può aiutare.
Grazie mille.

9 Risposte

  • Re: SOTTOREPORT ACCESS con QUERY PER PARAMETRI

    Potresti descrivere tutti i campi di tabelle e query che entrano in gioco sia nella/e query sia nel report?
    Come hai fatto a creare 3 sottoreport?
  • Re: SOTTOREPORT ACCESS con QUERY PER PARAMETRI

    Grazie per avermi risposto.
    Ho creato un report partendo dal menù crea e poi tasto struttura report.
    Nel corpo del report dal menù struttura premendo sul controllo sottoreport ho inserito uno ad uno i 3 sottoreport scegliendoli dal menù a tendina che li proponeva in quanto li avevo già creati.
    Due sottoreport sono basati su due query a parametri riferite ad una stessa tabella. L'altro è basato su una query a parametri riferita ad un'altra tabella.
    I campi delle prime due query sono quelli di un unica tabella (Dati Soci) e sono:
    Cognome, Nome, Codice fiscale
    Cognome, Nome, Data di nascita, Luogo di Nascita, Indirizzo, Città o paese, Codice fiscale
    Sono tutti campi della stessa tabella che però ne prevede molti altri.
    I campi della terza query provengono da un'altra tabella (Costi) e sono:
    Quota iscrizione, Quota corso sci e Totale corrisposto.
    Quando apro il report principale mi vengono richiesti i parametri:
    Cognome Intestatario, Nome Intestatario (1° sottoreport) e poi
    Cognome minore, Nome minore (2° sottoreport) e poi
    Quota iscrizione, Quota corso sci (3° sottoreport)
    Purtroppo quando si cerca di stampare li richiede un'altra volta ed è un pò una perdita di tempo.
    Il 1° sottoreport stampa 3 campi di un record della Tabella Dati Soci
    Il 2° sottoreport stampa 6 campi di un record diverso dal primo sempre della Tabella Dati Soci
    Il 3° sottoreport stampa 3 campi di un record della Tabella Costi
    La Tabella Dati Soci ha 57 campi di cui uno contatore e gli altri testo, data, si/no, memo
    La Tabella Costi ha solo 4 campi di cui uno contatore e tutti gli altri valuta.
    Spero di essere riuscito a spiegare cosa ho combinato perchè non sono molto esperto.
    Grazie
  • Re: SOTTOREPORT ACCESS con QUERY PER PARAMETRI

    VITTORIO64 ha scritto:


    Scusate non sono un programmatore ma ho creato un Db (Access 2007) per registrare i soci di uno sciclub con cui collaboro e ho questo problema che non riesco a risolvere.
    Ho creato un report con all'interno 3 sottoreport basati su altrettante query per parametri. Quando apro il report principale mi viene chiesto di inserire cognome e nome prima di un intestatario (1° sottoreport), poi cognome e nome di un minorenne (2° sottoreport) e infine due numeri (3° sottoreport). Viene visualizzata un anteprima di stampa. Fino a qui tutto ok.
    Quando però si manda in stampa la procedura di inserimento parametri deve essere ripetuta cioè devo inserire tutto un'altra volta e non capisco perchè. Ho verificato che un un solo report basato su una query per parametri tutto questo non succede quindi ho concluso che il problema devono essere i 3 sottoreport ma non so cosa fare.
    Probabilmente stai chiedendo troppo all'interattività (limitata) che comunque permette il report in "visualizzazione report" (da non confondere con l'anteprima di stampa)
    L'oggetto deputato a queste operazioni è la maschera (con relative sottomaschere).
    Alla fine genererai un report (con relativi sottoreport) fatto e finito.
  • Re: SOTTOREPORT ACCESS con QUERY PER PARAMETRI

    Per me hai messo troppa carne sul fuoco e in maniera disordinata. Ti consiglio un uso degli oggetti (tabelle, query, maschere, report) più "passo a passo" sfruttando regole generali della loro progettazione. Io non sono in grado di venire a capo di una matassa così troppo ingarbugliata. Ho anche il sospetto che tu abbia commesso errori in fase progettuale di tabelle e query. Per questo ti chiederei nuovamente una ridescrizione CHIARA così:
    - Nomi propri di tutte le tue tabelle, Nomi propri di tutti i campi di ogni tabella, indicando la chiave primaria
    - Le relazioni
    - Nomi propri di tutte le tue query con tutti i nomi campo

    Io direi che, piuttosto che parlarci dei tuoi 3 sottoreport, sarebbe meglio cosa vorresti vedere/stampare...perchè forse si potrebbe ripensare tutto in maniera diversa...
  • Re: SOTTOREPORT ACCESS con QUERY PER PARAMETRI

    Esistono due tabelle senza relazioni fra loro: DATI SOCI e COSTI.
    I campi DELLA TABELLA DATI SOCI sono i seguenti:
    ID SOCIO (contatore chiave primaria), COGNOME, NOME, DATA DI NASCITA (data), LUOGO DI NASCITA, PROVINCIA DI NASCITA, INDIRIZZO, CITTA O PAESE, CAP, PROVINCIA, NAZIONE, CODICE FISCALE, TEL FISSO 1, TEL FISSO 2, TEL FISSO 3, TEL CELL 1, TEL CELL 2, TEL CELL 3, FAX, EMAIL 1, EMAIL 2, EMAIL 3, N° TESSERA, DATA TESSERA (data), RINNOVO SI (si/no), RINNOVO NO (si/no), DATA RINNOVO (data), NOTE (memo), ALLEGATI (allegato), GITA 1, GITA 2, GITA 3, GITA 4, GITA 5, GITA 6, GITA 7, GITA 8, GITA 9. GITA 10. GITA 11, GITA 12, GITA 13, GITA 14, GITA 15, GITA 16, GITA 17, GITA 18, CENA SOCIALE, 1° CORSO ADULTI, 2° CORSO ADULTI, 3° CORSO ADULTI, ASSICURAZIONE SCI CLUB, 1° CORSO PILA, 2° CORSO PILA, MASCHIO, FEMMINA, TESSERA FISI (da gita 1 a tessera fisi tutti campi si/no)
    I campi della tabella COSTI sono i seguenti:
    IDCOSTO (contatore chiave primaria), QUOTA ISCRIZIONE (valuta), QUOTA CORSO SCI (valuta), TOTALE CORRISPOSTO (valuta)
    Le query sono 3: DATI SOCI INTESTATARIO query, DATI SOCI MINORE query e COSTI query.
    I campi della query DATI SOCI INTESTATARIO query sono i seguenti:
    COGNOME, NOME, CODICE FISCALE
    I campi della query DATI SOCI MINORE query sono i seguenti:
    COGNOME, NOME, DATA DI NASCITA, LUOGO DI NASCITA, INDIRIZZO, CITTA O PAESE, CODICE FISCALE
    I campi della query COSTI query sono i seguenti:
    QUOTA ISCRIZIONE, QUOTA CORSO SCI, TOTALE CORRISPOSTO
    Lo scopo che mi prefiggevo e che funziona salvo il duplice inserimento per stampare è quello di stampare un report con su cognome, nome e codice fiscale di un intestatario estratti dalla tabella DATI SOCI, cognome, nome, data di nascita, luogo di nascita, indirizzo, città o paese e codice fiscale di un minorenne estratto dalla tabella DATI SOCI e infine quota iscrizione, quota corso sci e totale corrisposto estratti dalla tabella COSTI.
    Ho creato 3 report basati sulle 3 query indicate con richiesta parametri e poi li ho inseriti in un report principale come sottoreport.
    Funziona cioè aprendo il report principale vengono richiesti cognome, nome dell' intestatario poi cognome, nome del minore infine quota iscrizione, quota corso sci e viene visualizzata un anteprima di stampa. Quando si passa alla stampa vera e propria vengono richiesti nuovamente ed è una rottura.
    Grazie
  • Re: SOTTOREPORT ACCESS con QUERY PER PARAMETRI

    Hai grossi problemi di NORMALIZZAZIONE. Questa parolaccia (molto odiata dai principianti! ) significa che non hai organizzato correttamente le tue tabelle. Ogni tabella deve avere campi omogenei ossia devono parlare un linguaggio comune relativo al NOME della TABELLA che li rappresenta. Mi spiego meglio concretamente.
    La tabella Soci potrebbe avere questi campi:

    VITTORIO64 ha scritto:


    ID SOCIO (contatore chiave primaria), COGNOME, NOME, DATA DI NASCITA (data), LUOGO DI NASCITA, PROVINCIA DI NASCITA, INDIRIZZO, CITTA O PAESE, CAP, PROVINCIA, NAZIONE, CODICE FISCALE

    VITTORIO64 ha scritto:


    TEL FISSO 1, TEL FISSO 2, TEL FISSO 3, TEL CELL 1, TEL CELL 2, TEL CELL 3, FAX, EMAIL 1, EMAIL 2, EMAIL 3,
    Secondo una antica impostazione di tabelle, forse questi campi potrebbero anche appartenere alla tabella Soci, ma vedo che tu vorresti tenere traccia di MOLTI Contatti. Io direi di predisporre una tabella Contatti con i seguenti campi:
    IDContatto (contatore, chiave primaria)
    TipoContatto (qui dentro ci scrivi Telefono, Cellulare, e-mail...)
    Contatto
    IDSocio (numerico)

    VITTORIO64 ha scritto:


    N° TESSERA, DATA TESSERA (data), RINNOVO SI (si/no), RINNOVO NO (si/no), DATA RINNOVO (data), NOTE (memo), ALLEGATI (allegato), GITA 1, GITA 2, GITA 3, GITA 4, GITA 5, GITA 6, GITA 7, GITA 8, GITA 9. GITA 10. GITA 11, GITA 12, GITA 13, GITA 14, GITA 15, GITA 16, GITA 17, GITA 18, CENA SOCIALE, 1° CORSO ADULTI, 2° CORSO ADULTI, 3° CORSO ADULTI, ASSICURAZIONE SCI CLUB, 1° CORSO PILA, 2° CORSO PILA, MASCHIO, FEMMINA, TESSERA FISI (da gita 1 a tessera fisi tutti campi si/no)
    Tutti questi campi devono appartenere ad altre tabelle. Bisogna ridisegnare correttamente tutto il progetto (normalizzandolo appunto).

    Tutti gli altri problemi sono a catena.

    Non ho parlato delle relazioni che dovresti essere tu a coglierne l'utilità e sapere dove metterle.
  • Re: SOTTOREPORT ACCESS con QUERY PER PARAMETRI

    Come già accennato non sono un programmatore. I campi della tabella DATI SOCI sono tutti relativi al socio anche quelli si/no delle gite a cui il socio ha partecipato quindi non capisco perchè devo fare più tabelle e che cosa ha a che fare con il mio problema.
    il DB che ho creato ha inserito 1340 record e funziona senza problemi da due anni.
    Volendo stampare un report (una pagina) per una detrazione fiscale che prevede un intestatario, un minore e i costi sostenuti dall'intestatario a favore del minore ho predisposto il report principale con i 3 sottoreport basati sulle 3 query per parametri. In questo modo posso estrarre i dati di due soci e stamparli sulla stessa pagina più i costi. Mi chiedo se c'è un altro modo ??
    Ho un report nel DB basato su una sola query per parametri e quando lo apro mi chiede i parametri una volta e poi vado in stampa senza problemi. Quest'ultimo report con i 3 sottoreport mi chiede due volte l'inserimento dei parametri: la prima volta per vedere l'anteprima e la seconda per stampare. E' come se avviando la stampa si riaprisse il report con richiesta dei parametri una seconda volta. Questo non me lo spiego ma comunque sono arrivato alla conclusione che sia dovuto al fatto che ci sono 3 sottoreport in un report principale
    Il fondo DB creato non è niente di complicato; c'è solo una tabella coi dati soci senza nessuna relazione quindi........
  • Re: SOTTOREPORT ACCESS con QUERY PER PARAMETRI

    Vittorio frena e/o fermati e rifletti. Non puoi andare avanti con un database così progettato. Nel forum nessuno può aiutarti e seguire il tuo discorso. I database funzionano se seguono delle regole di fondo che vanno rispettate. Il tuo database, l'ho già detto e lo ribadisco, non è assolutamente NORMALIZZATO. Prova a usare gli strumenti di controllo delle tue tabelle, Access fornirà certamente alcuni suggerimenti...anche se è sempre meglio avere le idee chiare a livello teorico e di base (presupposto necessario prima di aprire un thread in questo forum (leggi il regolamento)).
    Io ti dò i seguenti consigli:
    1. Leggi un manuale di base, il forum consiglia alcuni titoli, io ho cominciato da "McGraw-Hill: computer no problem - Access".
    2. Apri un nuovo thread nella sezione "Progettazione database" in cui esponi nuovamente il tuo scenario tabelle e richiedi cosa fare per normalizzarlo.
  • Re: SOTTOREPORT ACCESS con QUERY PER PARAMETRI

    Ok. Grazie per la disponibilità.
    Saluti

    Vittorio
Devi accedere o registrarti per scrivere nel forum
9 risposte