Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Kreiranje masovnih PDF fajlova za svaki zapis

[es] :: Access :: Kreiranje masovnih PDF fajlova za svaki zapis

[ Pregleda: 1017 | Odgovora: 5 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

blingaro
Igor Malinkov
Uprava prihoda
Beograd

Član broj: 187756
Poruke: 81
87.116.183.*



+1 Profil

icon Kreiranje masovnih PDF fajlova za svaki zapis20.11.2021. u 08:02 - pre 28 meseci
Imam tabelu sa nekoliko redova. Treba da za svaki zapis kreiram poseban pdf fajl (da ga nazovem u formatu BrojPoziva& “-“&PIB i da ga smestim u tekući folder. Probao sam sa nekim kodom da to izvedem, ali nešto neće. Da li bi neko mogao da pomogne, s obzirom da u stvarnosti postoji nekoliko stotina redova. Hvala.
Prikačeni fajlovi
 
Odgovor na temu

bokinet

Član broj: 29844
Poruke: 574



+50 Profil

icon Re: Kreiranje masovnih PDF fajlova za svaki zapis20.11.2021. u 12:18 - pre 28 meseci
MailMerge moze da posluzi ali moze i na druge nacine sve zavisi kako treba da izgleda taj pdf sto se tice podataka koji se generisu.

Brzinski na prvu u kodu je problem polje PIB koje se koristi za naziv file jer ga nema u recordsetu koji je otvoren pa je pozljeno dodati i to polje u upit ili povuci sva polja.
Code:

    'Set rs = CurrentDb.OpenRecordset("SELECT BrojPoziva FROM PoziviKT")
    Set rs = CurrentDb.OpenRecordset("SELECT * FROM PoziviKT")



Evo celog koda za Command Button koji je ispravljen malo da bi radilo.

Code:

    Dim rs                    As DAO.Recordset
    Dim sFolder               As String
    Dim sFile                 As String

    On Error GoTo Error_Handler

    sFolder = Application.CurrentProject.Path & "\"

    'Set rs = CurrentDb.OpenRecordset("SELECT BrojPoziva FROM PoziviKT")
    Set rs = CurrentDb.OpenRecordset("SELECT * FROM PoziviKT")
    
    With rs
        
        .MoveFirst
        
        Do While Not .EOF
        
            sFile = Nz(![BrojPoziva], "") & "-" & Nz(![PIB], "") & ".pdf"
            sFile = sFolder & sFile
            
            'DoCmd.OpenReport "PoziviKT", acViewReport, , "[BrojPoziva]=" & ![BrojPoziva]
            DoCmd.OpenReport "PoziviKT", acViewReport, , "[BrojPoziva]='" & ![BrojPoziva] & "'", acHidden
            
            DoCmd.OutputTo acOutputReport, "PoziviKT", acFormatPDF, OutputFile:=sFile, OutputQuality:=acExportQualityPrint
           
            DoCmd.Close acReport, "PoziviKT"
            
            DoEvents
            
            .MoveNext
            
        Loop
    End With

    Application.FollowHyperlink sFolder

Error_Handler_Exit:
    On Error Resume Next
    If Not rs Is Nothing Then
        rs.Close
        Set rs = Nothing
    End If
    Exit Sub

Error_Handler:
    If Err.Number <> 2501 Then
        MsgBox "The following error has occured" & vbCrLf & vbCrLf & _
               "Error Number: " & Err.Number & vbCrLf & _
               "Error Source: cmd_GenPDFs_Click" & vbCrLf & _
               "Error Description: " & Err.Description & _
               Switch(Erl = 0, "", Erl <> 0, vbCrLf & "Line No: " & Erl) _
               , vbOKOnly + vbCritical, "An Error has Occured!"
    End If
    Resume Error_Handler_Exit




[Ovu poruku je menjao bokinet dana 20.11.2021. u 14:07 GMT+1]
 
Odgovor na temu

blingaro
Igor Malinkov
Uprava prihoda
Beograd

Član broj: 187756
Poruke: 81
87.116.167.*



+1 Profil

icon Re: Kreiranje masovnih PDF fajlova za svaki zapis20.11.2021. u 14:32 - pre 28 meseci
Boki,

Care, majstore, pre svega ljudino. Hvala ti do neba. Ako ima neka knjiga utisaka, negde da te pohvalim, javi.
 
Odgovor na temu

bokinet

Član broj: 29844
Poruke: 574



+50 Profil

icon Re: Kreiranje masovnih PDF fajlova za svaki zapis20.11.2021. u 14:59 - pre 28 meseci
Ziveli i svako dobro.

p.s. ubaciti podrsku da se proverava da li file vec postoji pa ako postoji da se dodaju sufiksi na kraju file-a kao sto recimo rade web browser-i prilikom preuzimanja file-ova ako je isti vec preuzet posto moze da se desi u zavisnosti od kozistentnosti i tacnosti podataka da nema jedna od 2 vrednosti na osnovu koje se vrsi generisanje naziva file-a pa ako je vise takvih zapisa sa istim nazivom moze da bude problem oko pdf file-ova na izlazu jer ce u tom slucaju biti verovatno prepisani pa tako da umesto da bude recimo 5 file-ova onda bude 1 ako ni jedan od tih 5 nema pib/broj ili su iste vrednosti.
Takodje, ne bi bilo lose da se broj formatira sa vodecim nulama ispred. Pa recimo ako se ocekuje da ce biti najvise 10,000 takvih pdf-ova onda bude naziv file 00001-<pib>.pdf ... 09999-<pib>.pdf ... 10000-<pib>.pdf
 
Odgovor na temu

blingaro
Igor Malinkov
Uprava prihoda
Beograd

Član broj: 187756
Poruke: 81
87.116.183.*



+1 Profil

icon Re: Kreiranje masovnih PDF fajlova za svaki zapis20.11.2021. u 19:52 - pre 28 meseci
Boki,

Razmišljanje je na mestu. Međutim, brojevi poziva su unikatni i vezani su za tekuću godinu, tako da se može samo dodati godina na kraju i problem je rešen. Bitno je da ja imam kôd koji vrši funkciju. Sve ostalo su varijante i nadogradnja.
 
Odgovor na temu

bokinet

Član broj: 29844
Poruke: 574



+50 Profil

icon Re: Kreiranje masovnih PDF fajlova za svaki zapis20.11.2021. u 20:27 - pre 28 meseci

Dobilo bi se naziv file-a jednake duzine sto je lakse za navigaciju kroz file sistem pre svega.

Ako je za godinu onda moze i format godina[4]-rb[0:5]-pib[9]

Primer:
2021-00001-103920327.pdf
2021-00010-103920327.pdf
2021-00100-103920327.pdf
2021-01000-103920327.pdf
2021-10000-103920327.pdf

ili

202100001-103920327.pdf
202100010-103920327.pdf
202100100-103920327.pdf
202101000-103920327.pdf
202110000-103920327.pdf

Pa tako i sortiranje bi bilo lakse isto kroz file sistem sto se tice i same godine jer bi recimo sve sto je 2021 bilo redom a potom dalje 2022 odnosno pre '21, bili file-ovi za 2020.
 
Odgovor na temu

[es] :: Access :: Kreiranje masovnih PDF fajlova za svaki zapis

[ Pregleda: 1017 | Odgovora: 5 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.