Numero di record fissi in campo report + allegati

di il
21 risposte

Numero di record fissi in campo report + allegati

Salve a tutti. È da molto che non ho problemi con Access, ma recentemente un mio cliente mi ha chiesto un capriccio del tutto opinabile riguardo ai report per una fattura.
In pratica vuole che, anche se la fattura è di un solo articolo e quindi di un solo elemento, mostri comunque un minimo numero di righe vuote, "perché è più bello", o almeno di mostrare il totale in fondo alla pagina.
Nel primo caso, non sono riuscito a trovare una soluzione (se esiste), mentre nel secondo, ho provato a mettere il totale nel pié di pagina, ma in questo modo non viene calcolato.


Secondo problema:
Il database dovrebbe essere in grado, con un solo click, di generare automaticamente un tot numero di fatture a un determinato numero di clienti, e fin qui tutto ok.
Vorrei però che fosse anche in grado automaticamente di generare i relativi PDF e di inviarli tramite email ai clienti.
Non è un problema esportare il PDF, ma volevo sapere se c'è un modo di allegare dei file all'estensione CDO per inviare direttamente le email ai clienti, senza passare per Outlook (e quindi aprire un considerevole numero di finestre per ogni cliente).

Terzo problema:
Vorrei nascondere quel piccolo pulsante della freccia giù che compare nelle maschere quando si tratta di una casella combinata.

Grazie in anticipo, qualunque sia l'esito

21 Risposte

  • Re: Numero di record fissi in campo report + allegati

    Proviamo a risolvere i problemi separatamente.

    Per il totale da visualizzare in fondo al Report intendi il totale di uno specifico campo o di più campi?
    che tipo di operazione di totale devi effettuare: somma, conteggio?
    in ogni caso il totale prova a metterlo nel piè di pagina report scrivendo ad esempio in un textbox:

    =Somma([campo1])

    dove campo1 è il campo da sommare (se numerico) altrminenti

    =Conteggio([campo1])
  • Re: Numero di record fissi in campo report + allegati

    Holy87 ha scritto:


    Terzo problema:
    Vorrei nascondere quel piccolo pulsante della freccia giù che compare nelle maschere quando si tratta di una casella combinata.
    Piuttosto che mostrare il campo "casella combinata", includi nel tuo report il campo della tabella di origine. Se il report poggia su una query, includi nella query la tabella che origina quel campo e trascina il campo di testo diretto, poi dici al report che deve prelevare valori da questo campo.
  • Re: Numero di record fissi in campo report + allegati

    Temo di essermi spiegato male.
    @Angelo_Tbp
    So come si fa una somma, ma il mio problema è un altro.

    Semplificando, avendo due tabelle in questo modo:
    Fatture: IDFattura, Numero, Cliente, Data (IDFattura come chiave)
    Dettaglio: IDDettaglio, IDFattura, Descrizione, Prezzo, Quantità (IDDettaglio come chiave)

    Ho un report che si divide in questo modo:
    Intestazione report
    - Logo dell'azienda e dati
    Intestazione IDFattura
    - Dati sulla fattura come numero, data, cliente ecc...
    Corpo
    - Elenco dei record "Dettaglio" collegati a IDFattura, con descrizione, prezzo e quantità
    Piè di pagina IDFattura
    - Calcolo Somma(Prezzo*Quantità) (più iva ecc...)
    Piè di pagina pagina
    - Niente
    Piè di pagina report
    - Niente

    Così mi funziona, ma il mio problema è che dovrebbe comunque mostrarmi delle righe vuote nel Dettaglio o, se non è possibile, mettermi il totale sempre in fondo alla pagina. Però se lo metto nel Piè di Pagina, l'espressione Somma non trova i dati.

    @OsvaldoLaviosa
    Il problema si presenta su una maschera, e questo sistema non funziona purtroppo.
  • Re: Numero di record fissi in campo report + allegati

    Però se lo metto nel Piè di Pagina, l'espressione Somma non trova i dati.
    Forse il problema è questo...

    1. Tasto destro del mouse nella struttura del report;
    2. Abilita "Intestazione Piè di pagina report";
    3. Metti il campo somma nell' "Intestazione Piè di pagina report" e non nel "Intestazione Piè di pagina".
    Il problema si presenta su una maschera, e questo sistema non funziona purtroppo.
    si potrebbe ovviare creando una sorta di automatismo con textbox e listbox a comparsa...
    Immagine Esempio
    Immagine Esempio

    [
  • Re: Numero di record fissi in campo report + allegati

    Angelo_Tbp ha scritto:


    Però se lo metto nel Piè di Pagina, l'espressione Somma non trova i dati.
    Forse il problema è questo...

    1. Tasto destro del mouse nella struttura del report;
    2. Abilita "Intestazione Piè di pagina report";
    3. Metti il campo somma nell' "Intestazione Piè di pagina report" e non nel "Intestazione Piè di pagina".
    Il problema si presenta su una maschera, e questo sistema non funziona purtroppo.
    si potrebbe ovviare creando una sorta di automatismo con textbox e listbox a comparsa...
    textbox.jpg
    textbox.jpg

    [
    Purtroppo mettendolo a piè di pagina report la situazione non cambia: non viene visto a fine pagina. La soluzione a cui ho pensato in queste ore è generare automaticamente dei record vuoti nei dettagli, ma è un metodo poco ortodosso che vorrei evitare.

    Per quanto riguarda la listbox, ho provato a convertirla in textbox ma in questo modo mi restituisce soltanto l'ID.

    EDIT: Ho risolto il problema della listbox creando un textbox con la seguente espressione
    =DLookUp("Condominio";"Clienti";"[ID] = " & [Cliente])
  • Re: Numero di record fissi in campo report + allegati

    =DLookUp("Condominio";"Clienti";"[ID] = " & [Cliente])
    Per quanto riguarda la funzione DLookUP, che restituisce solo la prima occorrenza di un recordset derivato da una query, avallando quanto suggerito dalla guida integrata di access , cito:
    “Anche se è possibile utilizzare la funzione DLookup per visualizzare un valore di un campo contenuto in una tabella esterna (tabella della chiave esterna: Tabella, ad esempio Ordini clienti, contenente un campo chiave esterna, ad esempio IDCliente, che rappresenta il campo chiave primaria di un'altra tabella del database, ad esempio Clienti, e che generalmente si trova sul lato "molti" di una relazione uno-a-molti.), potrebbe risultare più pratico creare una query contenente i campi necessari da entrambe le tabelle e quindi basare la maschera o il report su tale query. “
    Per fare questo, se non ho male interpretato i tuoi precedenti post, nell’origine Record della Maschera potrebbe andare la seguente Query:
    “SELECT Fatture.IDFattura, Fatture.Numero, Fatture.Cliente, Fatture.Data, Clienti.Condominio FROM Clienti INNER JOIN Fatture ON Clienti.IDCliente = Fatture.Cliente;“ 
    dove eventualmente potrai aggiungere altri campi... e poi nell’Origine del textbox passeresti il campo “Condominio”

    -----------------

    Per quanto riguarda la famosa somma che non viene visualizzata io ho provato a fare una simulazione e, ricreando il tuo DB sulla base dei tuoi precedenti post, ci sono riuscito

    Potresti postare esattamente la funzione di somma che hai utilizzato nel piè di pagina IDFattura?

    Io ho messo:
     =Somma([Prezzo]*[Quantita]) 

    da inserire nel “piè di pagina IDFattura” .

    A me funziona e sono riuscito a riportare il totale generale su ogni pagina stampata…

    Nel caso funzionasse anche a te:
    Cambia il “nome elemento” nelle proprità del controllo dove hai messo la somma generale e poi, nel “piè di pagina pagina” metti un altro textbox con Origine Controllo
     =[…nome elemento del textbox dove hai calcolato la somma…] 
  • Re: Numero di record fissi in campo report + allegati

    Effettivamente, una query come base della maschera è molto più rapida della funzione DLookUp, che impone continui calcoli per ogni record. Modificherò subito le proprietà, grazie del suggerimento.
    Comunque, nel report la funzione che ho utilizzato è identica:
    =Somma([Prezzo]*[Quantità])
    Come detto prima, inserendolo a Piè di pagina IDFattura funziona, ma non esce in fondo alla pagina ma appena sotto il campo, mentre a me serve, come nel normale piè di pagina, farlo uscire proprio in fondo alla pagina.
    Mi rendo conto io stesso che è una richiesta assurda, ma il mio cliente è fissato che una buona fattura debba essere piena di righe, anche se c'è solo un articolo.
  • Re: Numero di record fissi in campo report + allegati

    Ottimo allora .
    la risoluzione al tuo problema è nella parte finale del mio ultimo post
    Nel caso funzionasse anche a te:
    Cambia il “nome elemento” nelle proprità del controllo dove hai messo la somma generale e poi, nel “piè di pagina pagina” metti un altro textbox con Origine Controllo

    =[…nome elemento del textbox dove hai calcolato la somma…] 
    Mi spiego meglio:
    1. Se non lo hai fatto crea un textbox vuoto nell' "Intestazione Piè di pagina IDFattura"
    2. Setta la sua proprietà -origine controllo- =Somma([Prezzo]*[Quantità])
    3. Setta la sua proprietà -visible- a false
    4. Setta la sua proprietà -Nome Elemento- a "TotaleGenerale"
    5. Crea un altro textbox nell' "Intestazione Piè di pagina pagina"
    6. Setta la sua proprietà -origine controllo- =[TotaleGenerale]



    Per inserire le righe vuote ti dico che la cosa si può fare, come anche migliorare la gestione dell'invio delle mail...

    Dimmi se intanto riesci a risolvere i 2 problemi sopra e poi andiamo avanti
  • Re: Numero di record fissi in campo report + allegati

    Angelo_Tbp ha scritto:


    Ottimo allora .
    la risoluzione al tuo problema è nella parte finale del mio ultimo post
    Nel caso funzionasse anche a te:
    Cambia il “nome elemento” nelle proprità del controllo dove hai messo la somma generale e poi, nel “piè di pagina pagina” metti un altro textbox con Origine Controllo

    =[…nome elemento del textbox dove hai calcolato la somma…] 
    Mi spiego meglio:
    1. Se non lo hai fatto crea un textbox vuoto nell' "Intestazione Piè di pagina IDFattura"
    2. Setta la sua proprietà -origine controllo- =Somma([Prezzo]*[Quantità])
    3. Setta la sua proprietà -visible- a false
    4. Setta la sua proprietà -Nome Elemento- a "TotaleGenerale"
    5. Crea un altro textbox nell' "Intestazione Piè di pagina pagina"
    6. Setta la sua proprietà -origine controllo- =[TotaleGenerale]



    Per inserire le righe vuote ti dico che la cosa si può fare, come anche migliorare la gestione dell'invio delle mail...

    Dimmi se intanto riesci a risolvere i 2 problemi sopra e poi andiamo avanti
    Grazie, avevo già provato questo metodo inizialmente, ma non mi funzionava (?) Ora che ho riprovato invece, funziona. Forse ho fatto qualche errore prima, mah!
  • Re: Numero di record fissi in campo report + allegati

    Ne sono felice l'importante è risolvere.

    Se sei sempre interessato a far apparire le famose righe vuote (valide ovviamente solo in fase di stampa e dunque non facenti parte del recordset) ho bisogno di sapere alcune cose:
    - Il report è strutturato in modo da mostrare tutte le fatture che fanno capo ad un solo cliente?
    - in caso affermativo: Quanti record possono essere visualizzati in una singola pagina?
    - tra i campi presenti nel dettaglio quali sono i campi di tipi numerico? che valori possono assumere?

    tutto questo ovviamente solo se sei ancora intenzionato a volerle far apparire...
  • Re: Numero di record fissi in campo report + allegati

    Angelo_Tbp ha scritto:


    Ne sono felice l'importante è risolvere.

    Se sei sempre interessato a far apparire le famose righe vuote (valide ovviamente solo in fase di stampa e dunque non facenti parte del recordset) ho bisogno di sapere alcune cose:
    - Il report è strutturato in modo da mostrare tutte le fatture che fanno capo ad un solo cliente?
    - in caso affermativo: Quanti record possono essere visualizzati in una singola pagina?
    - tra i campi presenti nel dettaglio quali sono i campi di tipi numerico? che valori possono assumere?

    tutto questo ovviamente solo se sei ancora intenzionato a volerle far apparire...
    Se appaiono è sempre meglio, a meno che non creo troppo disturbo dato che vi ho già fatto perdere un bel po' di tempo

    Comunque, il report è strutturato in modo da mostrare tutte le fatture che fanno a capo a un solo cliente, ma tramite la condizione where della maschera, imposto che venga visualizzata solo la fattura con IDFattura selezionato.
    Tra i campi presenti nel dettaglio ci sono
    IDDettaglio (inutile comunque, viene usato solo per la chiave), IDFattura (per l'associazione con la fattura), prezzo e quantità.
  • Re: Numero di record fissi in campo report + allegati

    Dunque un elenco dei dettagli della fattura... e quanti ne possono venire visualizzati al massimo in una singola pagina?

    esempio: se sono 52

    37 nella prima e 15 nella seconda --> dunque 37 per pagina... questo dato puoi darmelo solo tu!
  • Re: Numero di record fissi in campo report + allegati

    Ciao a Tutti
    ho un problema che non riesco a risolvere.
    HO creato una maschera dinamica di inserimento dati contenente i seguenti campi
    [nome alimento], [quantità], [prezzo] e poi un textbox con (costo=[quantità*prezzo])
    Ho inserito nel piè di pagina della maschera un textbox che mi riporti la somma del costo di ciascun alimento, ossia somma[costo] ma mi da #Errore.
    Potete aiutarmi a trovare una soluzione
    Grazie
  • Re: Numero di record fissi in campo report + allegati

    vicio ha scritto:


    Ciao a Tutti
    ho un problema che non riesco a risolvere.
    HO creato una maschera dinamica di inserimento dati contenente i seguenti campi
    [nome alimento], [quantità], [prezzo] e poi un textbox con (costo=[quantità*prezzo])
    Ho inserito nel piè di pagina della maschera un textbox che mi riporti la somma del costo di ciascun alimento, ossia somma[costo] ma mi da #Errore.
    Potete aiutarmi a trovare una soluzione
    Grazie
    Lasciando ai moderatori e amministratori l'intervento sul fatto che questo post sia in coda ad un thread abbastanza datato, suggerisco di porre attenzione su questi aspetti:
    costo=[quantità]*[prezzo]
    somma([costo])
Devi accedere o registrarti per scrivere nel forum
21 risposte