[ 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.
Copyright (C) 2001-2025 by www.elitesecurity.org. All rights reserved.