Printeri atribuute ei päritud objektid, mis kasutavad vaikeprinterit

Täpsem: nõuab asjatundjate kodeerimist, koostalitlusvõimet ja multikasutajaoskust. Käesolev artikkel kehtib Microsoft Accessi andmebaasifaili (mdb) või Microsoft Office Access 2007 andmebaasi (. accdb). See artikkel kehtib ka Microsoft Accessi projekt (. adp).

Sümptomid

Pärast seda, kui muudate programmiliselt Application. printer objekti atribuute, vormid ja aruanded, mis kasutavad vaikeprinterit automaatselt pärivad need sätted.

Põhjus

Salvestatud vormid ja aruanded talleta printeri teavet osana nende definitsioonist. Kui eelvaatate või prindite salvestatud vormid ja aruanded, kasutavad need objektid printeri teavet, mis on salvestatud nende sees asemel pärimine Application. printer objekti sätteid.

Lahendus

On kaks võimalikku lahendused, et sundida aruande kasutada praeguse printeri sätted. Microsoft pakub programmeerimise näiteid ainult illustratsioonil, ilma et garantii oleks kas väljendatud või kaudne. See hõlmab, kuid ei piirdu kaudsete garantiidega kaubastatavuse või sobivuse kohta konkreetsel otstarbel. See artikkel eeldab, et olete tuttav programmeerimiskeel, mis on tõestatud ja tööriistu, mida kasutatakse luua ja siluda protseduurid. Microsofti tugiteenuste insenerid võivad aidata selgitada konkreetse protseduuri funktsionaalsust, kuid nad ei muuda neid näiteid, et pakkuda lisatud funktsionaalsust või ehitada protseduure, mis vastavad teie konkreetsetele nõuetele.

Seadke printeri atribuudi Application. printer

Pärast seda, kui olete kohandanud Application. printer objekti atribuute, seadke vormi või aruande printeri atribuudi Application. printer objekti. See sunnib vormi või aruande hävitada oma praeguse DEVMODE struktuuri ja pärima uue rakenduse Application. printer objekti. Pange tähele, et see lähenemine on hea objekti printeri atribuutide ajutiselt muutmiseks. Printeri sätteid ei talletata objektiga, kui te ei Salvesta objekti hiljem selgesõnaliselt. See põhjustab ka objekti seadmiseks kindla printeriga ajaks, kui see on avatud. Objekti printeri atribuudi Application. printer objekti seadmiseks toimige järgmiselt.

  1. Avage näidisandmebaas Northwind. mdb.

  2. Sulgege peamine lülitiga vorm, kui see kuvatakse.

  3. Visual Basic Editori avamiseks vajutage klahvikombinatsiooni ALT + F11.

  4. Klõpsake menüü Lisamoodulit.

  5. Lisage uus moodul Visual Basic rakenduste jaoks koodi:

    Sub ChangePrinterSettingsForReport()   Dim rpt As Access.Report   Dim prtr As Access.Printer      Set Application.Printer = Nothing   Set prtr = Application.Printer      'Set the default printer's orientation to landscape   prtr.Orientation = acPRORLandscape   'Set the default printer's paper size to legal   prtr.PaperSize = acPRPSLegal   'Print Preview the Alphabetical List of Products Report   DoCmd.OpenReport "Alphabetical List of Products", acPreview   Set rpt = Reports("Alphabetical List of Products")   'Set the Printer property of the report to the   'Application.Printer object   Set rpt.Printer = prtr   'Uncomment the following line if you wish to save the object   'with the current settings   'DoCmd.Save acReport, rpt.NameEnd Sub
  6. Klõpsake ülaltoodud näidisprotseduuri ja seejärel menüü Käivita käsku Käivita sub/UserForm.

  7. Klõpsake menüü failsulgeda ja naasta Microsoft Accessi.

  8. Microsoft Office Access 2003 või Microsoft Access 2002, klõpsake menüü fail käsku Lehekülje häälestus ja seejärel klõpsake vahekaarti lehekülg . Microsoft Office Access 2007, klõpsake Microsoft Office ' i nuppu, osutagePrindijaklõpsake Prindi eelvaade. VahekaardilPrindi eelvaade klõpsake Lehekülje häälestus lehepaigutus rühma ja seejärel klõpsake vahekaarti lehekülg. Pange tähele, et aruande paberi suurus on seatud juriidiliseleja suund on seatud horisontaalseks.

  9. Sulgege aruanne.

  10. Prindi eelvaade toodete tähestikulises loendis aruanne uuesti. Pange tähele, et printeri sätteid ei salvestatud automaatselt koos aruandega.

Määrake objekti printeri sätted otse

Teine lahendus on programmiliselt seada objekti ise printeri sätted, selle asemel, et määrata need Application. printer atribuut. Objekti printeri atribuudi üksikute atribuutide seadmine on sarnane kasutaja käsitsi muutmine Printeri sätted dialoogiboksis Lehekülje häälestus . Kui seate programmiliselt objekti printeri sätted otse, salvestatakse sätted objekti automaatselt. Objekti printeri sätete otse seadmiseks toimige järgmiselt.

  1. Avage näidisandmebaas Northwind. mdb.

  2. Sulgege peamine lülitiga vorm, kui see kuvatakse.

  3. Visual Basic Editori avamiseks vajutage klahvikombinatsiooni ALT + F11.

  4. Klõpsake menüü Lisamoodulit.

  5. Lisage uus moodul Visual Basic rakenduste jaoks koodi:

    Sub ChangePrinterSettingsForReport()   Dim rpt As Access.Report     DoCmd.OpenReport "Alphabetical List of Products", acPreview   Set rpt = Reports("Alphabetical List of Products")         'Set the default printer's orientation to landscape   rpt.Printer.Orientation = acPRORLandscape   'Set the default printer's paper size to legal   rpt.Printer.PaperSize = acPRPSLegalEnd Sub
  6. Klõpsake ülaltoodud näidisprotseduuri ja seejärel menüü Käivita käsku Käivita sub/UserForm.

  7. Klõpsake menüü failsulgeda ja naasta Microsoft Accessi.

  8. Klõpsake menüü fail käsku Lehekülje häälestusja seejärel vahekaarti lehekülg . Microsoft Office Access 2007, klõpsake Microsoft Office ' i nuppu, osutagePrindijaklõpsake Prindi eelvaade. VahekaardilPrindi eelvaade klõpsake Lehekülje häälestus lehepaigutus rühma ja seejärel klõpsake vahekaarti lehekülg. Pange tähele, et aruande paberi suurus on seatud juriidiliseleja suund on seatud horisontaalseks.

  9. Sulgege aruanne.

  10. Prindi eelvaade toodete tähestikulises loendis aruanne uuesti. Pange tähele, et printeri sätted salvestati automaatselt koos aruandega.

Olek

Selline käitumine on disain.

Lisateave

Vormidel ja aruannetes talletatakse struktuuri nimega DEVMODE nende määratluse osana. DEVMODE struktuur on Microsoft Windowsi struktuur, mis määratleb printeri teavet konkreetse objekti. Näiteks salvestatakse elemendid, nagu paberi suurus, paberalus ja suund, selle struktuuri osana. Uue vormi või aruande objekti loomisel vormi või aruande objekti automaatselt pärimisel DEVMODE struktuuri Application. printer objekti. Kui salvestate vormi või aruande, DEVMODE struktuuri, mis on päritud automaatselt saab salvestada koos sellega. Vaikimisi printeri atribuudid Application. printer objekti on sama vaikeprinteriks Microsoft Windowsis. Siiski on võimalik programmiliselt muuta neid atribuute, et Microsoft Access kasutab erinevate atribuutide kogum vaikeprinterit. Tabelid, päringud, vaated ja salvestatud protseduurid ei talleta printeri teavet oma määratluse osana. Seetõttu tabelid, päringud, vaated või salvestatud protseduurid printimisel nad alati kasutavad praegused sätted, mis on määratletud Application. printer objekti.

Käitumise taasesilekutsumise sammud

  1. Access 2003 või Access 2002, avage proovi andmebaasi Northwind. mdb.

  2. Sulgege peamine lülitiga vorm, kui see kuvatakse.

  3. Menüü Vaade käsk andmebaasiobjektidja klõpsake aruanded.

  4. Klõpsake aknas andmebaasi tähestikulises loendis toodete aruanne ja klõpsake menüü fail käsku Lehekülje häälestus.

  5. Klõpsake vahekaarti lehekülg ja veenduge, et dialoogiboksis printeri jaotises on valitud suvand vaikeprinteri .

  6. Klõpsake nuppu OK , et sulgeda dialoogiboks Lehekülje häälestus .

  7. Klõpsake menüü Lisamoodulit.

  8. Lisage mooduli järgmine Visual Basic rakenduste jaoks koodi:

    Sub ChangePrinterSettings()   'Set the default printer's orientation to landscape   Application.Printer.Orientation = acPRORLandscape   'Set the default printer's paper size to legal   Application.Printer.PaperSize = acPRPSLegalEnd Sub
  9. Klõpsake ülaltoodud näidisprotseduuri ja seejärel menüü Käivita käsku Käivita sub/UserForm.

  10. Klõpsake menüü failsulgeda ja naasta Microsoft Accessi.

  11. Menüü Vaade käsk andmebaasiobjektidja klõpsake päringuid.

  12. Klõpsake toodete tähestikulises loendis ja klõpsake menüü fail käsku Prindi eelvaade.

  13. Klõpsake menüü fail käsku Lehekülje häälestus.

  14. Klõpsake vahekaarti lehekülg . Pange tähele, et suund suvand on seatud maastikul ja paberi suurus suvand on seatud juriidiline ootuspäraselt.

  15. Klõpsake nuppu LoobuLehekülje häälestus dialoogiboksi sulgemiseks ja seejärel sulgege päring.

  16. Menüü Vaade käsk andmebaasiobjektidja klõpsake aruanded.

  17. Andmebaasi aknas klõpsake tähestikulises loendis toodete aruanne ja klõpsake Eelvaade.

  18. Klõpsake menüü fail käsku Lehekülje häälestus.

  19. Klõpsake vahekaarti lehekülg . Pange tähele, et suvandi suund väärtuseks on seatud vertikaalne ja paberi suurus suvand on seatud täht, mis erineb Application. printer objekti tehtud sätetest.

Kas vajate veel abi?

Täiendage oma oskusi
Tutvuge koolitusmaterjalidega
Kasutage uusi funktsioone enne teisi
Liitu Microsofti Insideri programmis osalejad

Kas sellest teabest oli abi?

Täname tagasiside eest!

Täname tagasiside eest! Tundub, et võiksime teid kokku viia ühega meie Office'i tugiagentidest, kes aitab teil probleemi lahendada.

×