Thread View: pl.comp.bazy-danych.msaccess
4 messages
4 total messages
Started by Jacek
Tue, 24 Apr 2018 12:45
Akces 2003 - =?iso-8859-2?Q?od¶wi¿enie?= okna Akcesa.
Author: Jacek
Date: Tue, 24 Apr 2018 12:45
Date: Tue, 24 Apr 2018 12:45
12 lines
375 bytes
375 bytes
Witajcie. Przy zamkniêciu formularza jest kod zwalniaj±cy wcze¶niej u¿yte zasoby. Powoduje to, ¿e w oknie Akcesa pozostaje 'bia³a plama, a czasami obramowanie tego zamkniêtego formularza. Jak od¶wierzyæ z poziomu kodu okno Akcesa? Pozdrawiam. --- Ta wiadomo¶æ zosta³a sprawdzona na obecno¶æ wirusów przez oprogramowanie antywirusowe Avast. https://www.avast.com/antivirus
Re: Akces 2003 - =?iso-8859-2?Q?od¶wi¿enie?= okna Akcesa.
Author: Jacek
Date: Fri, 11 May 2018 15:06
Date: Fri, 11 May 2018 15:06
118 lines
3731 bytes
3731 bytes
Dnia Tue, 24 Apr 2018 18:21:16 +0200, Zbigniew Bratko napisa³(a): > W dniu 2018-04-24 o 12:45, Jacek pisze: >> Witajcie. >> >> Przy zamkniêciu formularza jest kod zwalniaj±cy wcze¶niej u¿yte zasoby. >> Powoduje to, ¿e w oknie Akcesa pozostaje 'bia³a plama, a czasami >> obramowanie tego zamkniêtego formularza. >> Jak od¶wierzyæ z poziomu kodu okno Akcesa? >> > > [...] > > Spróbuj u¿yæ funkcji DoEvents pomiêdzy wywo³aniami zwalniaj±cymi > wcze¶niej u¿yte zasoby, b±d¼ ukryj formularz przed zwalnianiem zasobów. > > '_______________________________________________ > Private Sub Form_Unload(Cancel As Integer) > Me.Visible = False > DoEvents > End Sub > > Czasami u¿ywa siê kilkukrotnego wywo³ania: > > DoEvents: DoEvents: DoEvents Cze¶æ Zbyszku. Dziêkujê za porade. Mam jeszcze jedn± pro¶bê. Sci±gn±³em z sieci procedure do drukowania raportów z Akcesa 2003 do PDF, za pomoc± 'PDF Creatora'. Oto ona: Sub DrukujPDF2(Raport As String, Sc As String, Plik As String) 'Author : Ken Puls ( www.excelguru.ca) 'Macro Purpose: Print to PDF file using PDFCreator ' (Download from http://sourceforge.net/projects/pdfcreator/ ) ' Designed for early bind, set reference to PDFCreator Dim pdfjob As PDFCreator.clsPDFCreator Dim sPDFName As String Dim sPDFPath As String Dim sPrinterName As String Dim sReportName As String Dim lPrinters As Long Dim lPrinterCurrent As Long Dim lPrinterPDF As Long Dim prtDefault As Printer '/// Change the report and output file name here! /// sReportName = Raport sPDFName = Plik sPDFPath = Sc 'If Dir(sPDFPath) = "" Then MkDir (sPDFPath) 'Resolve index number of printers to allow changing and preserving sPrinterName = Application.Printer.DeviceName On Error Resume Next For lPrinters = 0 To Application.Printers.Count Set Application.Printer = Application.Printers(lPrinters) Set prtDefault = Application.Printer Select Case prtDefault.DeviceName Case Is = sPrinterName lPrinterCurrent = lPrinters Case Is = "PDFCreator" lPrinterPDF = lPrinters Case Else 'do nothing End Select Next lPrinters On Error GoTo 0 'Change the default printer Set Application.Printer = Application.Printers(lPrinterPDF) Set prtDefault = Application.Printer 'Start PFF Creator Set pdfjob = New PDFCreator.clsPDFCreator With pdfjob If .cStart("/NoProcessingAtStartup") = False Then MsgBox "Can't initialize PDFCreator.", vbCritical + _ vbOKOnly, "PrtPDFCreator" Exit Sub End If .cOption("UseAutosave") = 1 .cOption("UseAutosaveDirectory") = 1 .cOption("AutosaveDirectory") = sPDFPath .cOption("AutosaveFilename") = sPDFName .cOption("AutosaveFormat") = 0 ' 0 = PDF .cClearCache End With 'Print the document to PDF DoCmd.OpenReport (sReportName) 'Wait until the print job has entered the print queue Do Until pdfjob.cCountOfPrintjobs = 1 DoEvents Loop pdfjob.cPrinterStop = False 'Wait until PDF creator is finished then release the objects Do Until pdfjob.cCountOfPrintjobs = 0 DoEvents Loop pdfjob.cClose 'Reset the (original) default printer and release PDF Creator Set Application.Printer = Application.Printers(lPrinterCurrent) Set pdfjob = Nothing End Sub Potrzebujê j± tak przerobiæ, ¿eby móc wywo³aæ wiele razy z kolejnymi raportami. Pomo¿esz, proszê? --- Ta wiadomo¶æ zosta³a sprawdzona na obecno¶æ wirusów przez oprogramowanie antywirusowe Avast. https://www.avast.com/antivirus
Re: Akces 2003 - =?iso-8859-2?Q?od¶wi¿enie?= okna Akcesa.
Author: Jacek
Date: Mon, 14 May 2018 11:46
Date: Mon, 14 May 2018 11:46
61 lines
1687 bytes
1687 bytes
Dnia Mon, 14 May 2018 10:00:04 +0200, Zbigniew Bratko napisa³(a): > W dniu 2018-05-11 o 15:06, Jacek pisze: >> Dnia Tue, 24 Apr 2018 18:21:16 +0200, Zbigniew Bratko napisa³(a): >> > > > [...] > >> Mam jeszcze jedn± pro¶bê. >> >> Sci±gn±³em z sieci procedure do drukowania raportów z Akcesa 2003 do PDF, >> za pomoc± 'PDF Creatora'. >> >> Oto ona: >> >> Sub DrukujPDF2(Raport As String, Sc As String, Plik As String) >> 'Author : Ken Puls ( www.excelguru.ca) >> 'Macro Purpose: Print to PDF file using PDFCreator >> ' (Download from http://sourceforge.net/projects/pdfcreator/ ) >> ' Designed for early bind, set reference to PDFCreator > > [...] > >> End Sub >> >> Potrzebujê j± tak przerobiæ, ¿eby móc wywo³aæ wiele razy z kolejnymi >> raportami. >> Pomo¿esz, proszê? > > [...] > > > A takie co¶ nie pójdzie ? > > '___________________________________________________________________ > Private Sub Polecenie0_Click() > Dim vArray As Variant > Dim i As Long > vArray = Array("nazwaRaportu_1", "C:\tmp\", "Raport_1.pdf", _ > "nazwaRaportu_2", "C:\tmp\", "Raport_2.pdf", _ > "nazwaRaportu_3", "C:\tmp\", "Raport_3.pdf") > > For i = LBound(vArray) To UBound(vArray) Step 3 > Call DrukujPDF2(vArray(i), vArray(i + 1), vArray(i + 2)) > Next > > End Sub > > Sprawd¼, czy w ¶cie¿ce jest potrzebny backslash na koñcu. > Daj znaæ, czy siê uda³o. Hej. No w³a¶nie nie. Trzeba przerobiæ DrukujPDF tak, ¿eby w obiekcie 'pdfjob' metoda .cOption("AutosaveFilename") = sPDFName bangla³a. --- Ta wiadomo¶æ zosta³a sprawdzona na obecno¶æ wirusów przez oprogramowanie antywirusowe Avast. https://www.avast.com/antivirus
Re: Akces 2003 - =?iso-8859-2?Q?od¶wi¿enie?= okna Akcesa.
Author: Jacek
Date: Sun, 27 May 2018 18:37
Date: Sun, 27 May 2018 18:37
69 lines
2149 bytes
2149 bytes
Dnia Mon, 14 May 2018 23:21:24 +0200, Zbigniew Bratko napisa³(a): > W dniu 2018-05-14 o 11:46, Jacek pisze: >> Dnia Mon, 14 May 2018 10:00:04 +0200, Zbigniew Bratko napisa³(a): >> >>> W dniu 2018-05-11 o 15:06, Jacek pisze: >>>> Dnia Tue, 24 Apr 2018 18:21:16 +0200, Zbigniew Bratko napisa³(a): >> >>> [...] >>> >>>> End Sub >>>> >>>> Potrzebujê j± tak przerobiæ, ¿eby móc wywo³aæ wiele razy z kolejnymi >>>> raportami. >>>> Pomo¿esz, proszê? >>> >>> [...] >>> >>> >>> A takie co¶ nie pójdzie ? >>> >>> '___________________________________________________________________ >>> Private Sub Polecenie0_Click() >>> Dim vArray As Variant >>> Dim i As Long >>> vArray = Array("nazwaRaportu_1", "C:\tmp\", "Raport_1.pdf", _ >>> "nazwaRaportu_2", "C:\tmp\", "Raport_2.pdf", _ >>> "nazwaRaportu_3", "C:\tmp\", "Raport_3.pdf") >>> >>> For i = LBound(vArray) To UBound(vArray) Step 3 >>> Call DrukujPDF2(vArray(i), vArray(i + 1), vArray(i + 2)) >>> Next >>> >>> End Sub >>> >>> Sprawd¼, czy w ¶cie¿ce jest potrzebny backslash na koñcu. >>> Daj znaæ, czy siê uda³o. >> >> Hej. >> >> No w³a¶nie nie. >> Trzeba przerobiæ DrukujPDF tak, ¿eby w obiekcie 'pdfjob' metoda >> .cOption("AutosaveFilename") = sPDFName bangla³a. > > [...] > > Je¿eli za pomoc± tej procedury da siê wydrukowaæ jeden raport, > to dlaczego nie da siê wydrukowaæ jednego raportu, a potem za sekundê > (po zakoñczeniu dzia³ania procedury) drugiego raportu ??? > > Niestety, nie jestem w stanie Ci pomóc. > Ja przerabia³em Access 97, 2000, a potem 2007, 2010, 2016. > Nie wiem jak jest w Access 2003. > > W Access 2007 i zapewne w wy¿szych wersjach jest bardziej prosto: > '_________________________________ > Private Sub Polecenie0_Click() > DoCmd.OutputTo acOutputReport, "NazwaRaportu", _ > acFormatPDF, "C:\tmp\MojRaport.pdf", True > End Sub > > i wszystko "bangla" ;-) Uda³o mi siê z banglaniem;) Okaza³o siê, ¿e zamkniêcie procesu przed inicjalizacj±, dzia³a. --- Ta wiadomo¶æ zosta³a sprawdzona na obecno¶æ wirusów przez oprogramowanie antywirusowe Avast. https://www.avast.com/antivirus
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads