Barvna shema: Temna
Trenutno dejavna stran: start » sl » Dokumentacija » Orodja za Microsoft Access » WKL Forms Object Library » how-to » Tiskanje merilnikov in grafikonov v poročilu

Tiskanje merilnikov in grafikonov v poročilu

Za vsak zapis poročila Access natisnite po en merilnik, kartico s ključnim kazalnikom ali grafikon – na primer debelino stene vsakega merilnega mesta z njegovo mejo in trendom –, tako da izpis ostane berljiv tudi na črno-belem tiskalniku ali tiskalniku s sivinami.

Zahteva WKL Forms Object Library 1.62 ali novejšo različico.

Pregled rešitve

  • Vezan WklGauge ali WklKpiCard v odseku s podrobnostmi prikaže vrednost vsakega zapisa: vir kontrolnika nastavite na polje, tako kot pri polju z besedilom.
  • WklChart v odseku s podrobnostmi sam prebere podatke vsakega zapisa prek LinkMasterFields in LinkChildFields. Access poročilu preda le polja, ki so vezana na kontrolnik: glavno polje (na primer ID) postavite v polje z besedilom v odseku s podrobnostmi; to je lahko nevidno.
  • Meje za vsak zapis: mejne črte in pasovi se z grafikonom ne shranijo. Nastavite jih v dogodku Format odseka s podrobnostmi, kjer so na voljo polja zapisa; kadar dogodek potrebuje podatke zapisa, na primer za TrendReaches, tam pokličite Requery.
  • Dogodek Format kot izraz: odseku s podrobnostmi nastavite lastnost dogodka =FormatMesto(), funkcijo pa zapišite v standardni modul. Poročilo tako ne potrebuje lastnega modula. Poročilo s kontrolnikom ActiveX in lastnim modulom lahko v datoteki ACCDE odpove z napako 459 (objekt ali razred ne podpira nabora dogodkov) – to je napaka programa Access, saj datoteka ACCDB deluje; vzrok in popravilo opisuje spodnja stran za odpravljanje težav.
  • PrintStyle: s privzeto vrednostjo wpsAutomatic merilnik in grafikon dodata vzorce, ko ju natisnete ali prikažete v predogledu tiskanja: šrafirana območja in pasove, črtkane nize in mejne črte, ki se razlikujejo po potezi. Na izpisu s sivinami tako ostanejo „slabo“, „opozorilo“ in „v redu“ ločeni.
  • Ozadje: merilnik s privzeto vrednostjo BackColor in grafikon s svetlo barvno shemo v poročilu nimata lastnega ozadja: skozi se vidi barva razdelka, tudi izmenična barva vrstic.

Izvedba

Poročilo rptMesta nad tabelo tblMesto (ID, Ime, MinDebelina) ima v odseku s podrobnostmi polja z besedilom txtId (vir kontrolnika ID, nevidno), txtIme in txtDosezeno, merilnik WKL Gauge gauDebelina z virom kontrolnika Debelina in grafikon WKL Chart chtDebelina, ki je v pogledu načrta vezan na meritve: RecordSource = tblMeritev, XField = Datum, YFields = Debelina, LinkMasterFields = ID, LinkChildFields = MestoID, ShowTrend = True. Polje z besedilom txtMinDebelina (vir kontrolnika MinDebelina) nosi mejo zapisa.

Lastnost dogodka Format (On Format) odseka s podrobnostmi je =FormatMesto(); poročilo nima lastnega modula. V standardnem modulu:

Option Compare Database
Option Explicit
 
Public Function FormatMesto() As Variant
    Dim r As Report, chart As Object, reached As Variant
    On Error GoTo ErrorHandler
 
    Set r = Reports("rptMesta")
    Set chart = r!chtDebelina.Object
    ' The data of this record before the chart is drawn: needed for TrendReaches below.
    chart.Requery
    chart.ClearReferences
    chart.AddReference r!txtMinDebelina, , "Minimum", wskBad
    reached = chart.TrendReaches(0, r!txtMinDebelina)
    r!txtDosezeno = IIf(IsNull(reached), "Trend ne doseže minimuma", "Minimum dosežen " & Format(reached, "m. yyyy"))
 
FinalHandler:
    Set chart = Nothing
    Set r = Nothing
    Exit Function
 
ErrorHandler:
    ' A repeating event: write the error into the record's line instead of showing a dialog for every record.
    Reports("rptMesta")!txtDosezeno = Err.Description
    Resume FinalHandler
End Function

Če želite barve ohraniti tudi na papirju, nastavite PrintStyle na wpsColor (na listu z lastnostmi ali v oblikovalniku, kartica PrintStyle). Če naj bodo vzorci vidni tudi na zaslonu, za bralce, ki se ne morejo zanesti na barve, nastavite wpsPatterns.

Opombe

  • Podprt izhod: predogled tiskanja in datoteka PDF, ki jo zapiše DoCmd.OutputTo, z eno sliko z mejami in trendom na zapis. Neposredno tiskanje na tiskalnik ne spada v podprti izhod; gonilnik tiskalnika, ki ne sporoča mešanja alfa, dobi kontrolnike z njihovim lastnim ozadjem.
  • Glavno polje brez kontrolnika se prebere kot prazno: grafikon tedaj prikaže „Ni podatkov“.
  • V poročilu ni dogodkov: kontrolniki WKL v poročilu ne sprožajo dogodkov (DataLoaded, RangeChange …); uporabite Requery v dogodku Format, kot je prikazano zgoraj.
  • V datoteki ACCDE se isto poročilo prav tako natisne, tudi z dogodkom Format kot izrazom.
  • WklKpiCard ohrani videz kartice: zasnovana je kot ploščica z obrobo. Njeno stanje je izpisano tudi z besedilom, zato vzorcev ne potrebuje.

Sorodne teme

sl/wiki/msaccess/comctl/how-to/print-gauges-and-charts-in-a-report.txt · Zadnja sprememba: uporabnika Wolfgang van der Stille