[ aldabic @ 02.10.2004. 19:50 ] @
Pozdrav svima

Interesuje me da li je moguce praviti izvestaj iz access-ove baze u excel tabelu?
Kroz neku formu/masku odabrati vrstu izvestaja i kreirati je kao excelb tabelu, koja se moze snimiti, odstampati...
[ Goran Aničić @ 02.10.2004. 21:03 ] @
Postoji više opcija. Određeni stepen automatizacije može se postići korišćenjem OLE konektivnosti i VBA koda. Primer uvezenih izveštaja iz Accessa, ali u ovom slučaju u Word što je kompatibilno sa Excelom, možeš videti u tekstu Izveštaji u Word-u iz Access-a.
[ gosha @ 03.10.2004. 20:18 ] @
Od access-a 2000 (a možda i ranije) postoji opcija eksporta reporta u excel.
Nije nešto ekstra ali pogledaj možda ti odgovara.

Pozdrav Goran.
[ aldabic @ 08.10.2004. 14:06 ] @
Hvala na savetima!
Obican export daje suvise jednostavne izvestaje, moracu da dodajem VBA kod...

POZDRAV
[ maxum @ 08.10.2004. 15:21 ] @
Evo vrlo jednostavan VBA kod gdje mozes na svoj vec kreirani Excel fajl, ubaciti podatke iz Access tabele ili query-a...

Javi ako ti bude trebao primjer, pa cu ti ga poslati mail-om...

*******************************************************

Private Sub Izvjestaj_Click()

Dim rsHeading As Recordset
Dim rsDetails As Recordset
Dim row As Integer

Dim xlApp As Excel.Application
Dim xlWb As Excel.Workbook
Dim xlWs As Excel.Worksheet

Dim strPath As String
strPath = "d:\My Documents \" ovdje unesi direktorij gdje se nalazi Excel fajl

Set db = CurrentDb()
Set rsHeading = db.OpenRecordset("select * from TABELA/QUERY") SQL upit

row = 6 pocetni red u Excel fajlu

If rsHeading.RecordCount > 0 Then
Set xlApp = CreateObject("excel.application")
Set xlWb = xlApp.Workbooks.Open(strPath & "\FAJL.xls") ime Excel Fajla
Set xlWs = xlWb.Sheets("Sheet1") Sheet u Excel fajlu

Do Until rsHeading.EOF = True

With xlWs

.Cells(row, 2) = rsHeading!Polje1
.Cells(row, 3) = rsHeading! Polje2
.Cells(row, 4) = rsHeading! Polje3
.Cells(row, 5) = rsHeading! Polje4
.Cells(row, 6) = rsHeading! Polje5

End With

row = row + 1
rsHeading.MoveNext

Loop


End If


xlApp.Visible = True
Set xlApp = Nothing

End Sub

[ maxum @ 04.12.2004. 08:08 ] @
Evo upload-ovao sam jednostavan praktican primjer Exporta izvjestaja u Excel. Naravno ovaj primjer se moze jos doraditi ali opet sve zavisi od potrebe...

[ phactor @ 07.01.2005. 20:29 ] @
...probao sam ovaj tvoj primjer ali mi izbaci sljedeci error:

missing or broken reference dao2535.tlb ...

...kako da se ovo isparvi i u cemu je fora?
[ maxum @ 11.01.2005. 12:57 ] @

Citat:
phactor: ...probao sam ovaj tvoj primjer ali mi izbaci sljedeci error:

missing or broken reference dao2535.tlb ...

...kako da se ovo isparvi i u cemu je fora?



Pogledaj da li su ti odgovarajuci References ukljuceni...

Ja koristim Win 2000 + MS Access 2002 i evo mozes pogledati koji su kod mene 'references' ukljuceni.
[ dragan.zm @ 05.01.2009. 05:45 ] @
Ovo je i meni pomoglo puno, hvala. Samo jel ko zna kako mogu koristiti ovaj isti kod al da snima excel fajl automatski pod drugim imenom po mogucnosti ime-datum.xsl na odredjenu lokaciju.

[ Trtko @ 05.01.2009. 07:30 ] @
Evo ti moj kompletni kod s kojim sam prepisivao iz tablice u excel datoteku.
Napominjem da si moras prvo iskreirati PRAZNA.XSL na folderu iz kojeg startas
svoj program.
Vjerojatno se da i to srediti , meni se nije dalo.

Prepravi si ako ti to pase.


Private Sub tipeks_Click()

PPDEF = Application.CurrentProject.Path
PPopen = PPDEF + "\prazna.xls"
dput = Dir(PPopen)

If Len(dput) < 3 Then
MsgBox "NE POSTOJI EXCEL TABLICA " + PPopen + " MORATE JE KREIRATI"
Exit Sub
End If

Set objexcel = CreateObject("Excel.Application")
objexcel.Workbooks.Open (PPopen)

objexcel.Application.Visible = True

Dim dato11 As Database
Dim rek11 As Recordset
Set dato11 = CurrentDb
Dim sqlupit11 As String
sqlupit11 = "select * from finstatement"
Set rek11 = dato11.OpenRecordset(sqlupit11)

kolona = 1

Do While Not rek11.EOF

objexcel.Cells(1, kolona).Value = rek11.Fields("CompanyName").Value
objexcel.Cells(2, kolona).Value = rek11.Fields("CurrencyUnit").Value
objexcel.Cells(3, kolona).Value = rek11.Fields("Currency").Value
objexcel.Cells(4, kolona).Value = rek11.Fields("startdate").Value
objexcel.Cells(5, kolona).Value = rek11.Fields("enddate").Value
objexcel.Cells(6, kolona).Value = rek11.Fields("version").Value


statid = rek11.Fields("statementid").Value


Dim dato2 As Database
Dim rek2 As Recordset
Set dato2 = CurrentDb
Dim sqlupit2 As String
sqlupit2 = "select * from finitem where statementid=" & statid
Set rek2 = dato2.OpenRecordset(sqlupit2)

red = 10

Do While Not rek2.EOF
objexcel.Cells(red, kolona).Value = "'" & rek2.Fields("accountid").Value
objexcel.Cells(red, kolona + 1).Value = rek2.Fields("Accountvalue").Value
red = red + 1
rek2.MoveNext
Loop
rek2.Close
Set dato2 = Nothing

kolona = kolona + 2
rek11.MoveNext
Loop

rek11.Close
Set dato11 = Nothing
objexcel.Application.Visible = False
objexcel.Application.DisplayAlerts = False

odmjdefault = "FPuvozDD_" + Format(DATUMOD, "mm") + "_" + Format(datumdo, "mm") + "_" + Format(datumdo, "yyyy")
odmj = InputBox("Unesi ime .XLS datoteke", "EXPORT PODATAKA", odmjdefault)

PPDEF = Application.CurrentProject.Path

' snimi excel

objexcel.Workbooks(1).SaveAs PPDEF + "\" + odmj
objexcel.Application.Quit
objexcel.Application.DisplayAlerts = True

MsgBox "Podaci su prepisani u " + PPDEF + "\" + odmj + ".XLS"
End Sub


Nisam gledao
to ti je dao i @maxum

pozdrav
[ dragan.zm @ 05.01.2009. 16:33 ] @
kako ja vidim ovdje ima dosta dodatnog koda koji me sbunjuje, meni treba da dodam na vec postojeci gornji kod da snima na odredjenu lokaciju sa datumom snimanja tj =today()

Probao sam prilagoditi ovo tvoje ali jos sam slab sa vba codom.

Hvala ipak na trudu.