Warning: Illegal string offset 'status' in /home2/icentarb/public_html/icentar/print.php on line 190
iCentar » Racunari i oprema » Programirannje i baze podataka » Access » export u excel (redosled kao u reportu)
xl_kid 11.12.2012 08:08
Predmet:Re: export u excel (redosled kao u reportu)

Za formatiranje polja se možemo probati sa ovim kodom:

If ExcelSheet.Application.Cells.Range("D2").Value = "" Then
ExcelSheet.Application.Range("D2:E41").Borders.LineStyle = False
Else
ExcelSheet.Application.Range("D2:E41").Borders.LineStyle = True
...i možemo ga vezati za redni broj.

xl_kid 18.12.2012 12:44
Predmet:Re: export u excel (redosled kao u reportu)

Neko rešenje Disappointed

zxz 18.12.2012 23:31
Predmet:Re: export u excel (redosled kao u reportu)

Pa nisi mi odgovorio na post 29.

xl_kid 19.12.2012 09:19
Predmet:Re: export u excel (redosled kao u reportu)

Redni brojevi su promenjivi. Mogu biti od 10 do 40. Å to se tiče bojenja polja to ću ja da pokuÅ¡am. Ako mi negde zaÅ¡kripi pitaću te za pomoć.

zxz 19.12.2012 11:20
Predmet:Re: export u excel (redosled kao u reportu)

Citat:
Redni brojevi su promenjivi. Mogu biti od 10 do 40
Znaci ne pocinje uvijek od 1.
Hoces li da napravimo combo pa da ukucas od kojeg broja pocinje ako nemas neki parametar odakle krenuti.

Citat:
Å to se tiče bojenja polja to ću ja da pokuÅ¡am. Ako mi negde zaÅ¡kripi pitaću te za pomoć.
Nije problem u farbanj polja nego koliko polja ofarbati.
Ja sam samo pitao dali je fiksan broj redova ili nije.
Napr.
Moze se napraviti da je fiksan broj redova a da otvori novi sit ili novi dokument kada broj redova u bazi prelazi taj broj.
Drugi nacin je da se sve kodom odradi pa onda neka ide na vise stranica.
Tvoje je da odlucis kako ako sam samo dobro opisao moju zamisao.

xl_kid 20.12.2012 08:14
Predmet:Re: export u excel (redosled kao u reportu)

Nismo se razumeli za redne brojeve. Ovi uvek počinju od 1 ali se kreću od 10 do 40 (znači u rasponu 1-40 u proseku budu oko 25 ). Onaj prvi primer je ok. Samo kada bi mogao da se sredi da su redovi promenjivi i da je napomena na kraju. Potrebno mi je da se sve smesti na jednu stranu.

zxz 22.12.2012 15:34
Predmet:Re: export u excel (redosled kao u reportu)

PreuzmiIzvorni kôd (Visual Basic):
  1. Function ExelI()
  2. Dim Db As Database
  3. Dim Rs As Recordset
  4. Dim Temp
  5. Dim ExelO As Object
  6. Dim Celija As Object
  7. Dim Red As Integer, Kolona As Integer
  8. Dim I As Integer
  9.  
  10. On Error GoTo Greska:
  11. Set Db = CurrentDb()
  12. Temp = Db_Putanja
  13. Set Rs = Forms![T_Pregled_DA_G]![T_Pregled_DA_P subform].Form.RecordsetClone
  14. Set ExelO = CreateObject("excel.Application")
  15. FileCopy Temp & "qb.dll", Temp & "Pregled.xls"
  16. ExelO.Workbooks.Open (Temp & "Pregled.xls")
  17.  
  18. Red = 5
  19. Kolona = 3
  20. Set Celija = ExelO.Cells(Red, Kolona)
  21. Temp = Forms![T_Pregled_DA_G]![Referent_prodaje].Column(1)
  22. Celija.Value = Temp
  23. Red = 6
  24. Kolona = 3
  25. Set Celija = ExelO.Cells(Red, Kolona)
  26. Temp = Forms![T_Pregled_DA_G]![Datum]
  27. Celija.Value = Temp
  28. Red = 7
  29. Kolona = 3
  30. Set Celija = ExelO.Cells(Red, Kolona)
  31. Temp = Forms![T_Pregled_DA_G]![Pocetak_rada]
  32. Celija.Value = Temp
  33. Red = 8
  34. Kolona = 3
  35. Set Celija = ExelO.Cells(Red, Kolona)
  36. Temp = Forms![T_Pregled_DA_G]![Zavrsetak_rada]
  37. Celija.Value = Temp
  38. Red = 9
  39. Kolona = 3
  40. Set Celija = ExelO.Cells(Red, Kolona)
  41. Temp = Forms![T_Pregled_DA_G]![Dnevna_kilometraza]
  42. Celija.Value = Temp
  43. Red = 10
  44. Kolona = 3
  45. Set Celija = ExelO.Cells(Red, Kolona)
  46. Temp = Forms![T_Pregled_DA_G]![Broj_posjecenih_DM]
  47. Celija.Value = Temp
  48. Red = 15
  49. Rs.MoveFirst
  50. Do While Not Rs.EOF
  51. Red = Red + 1
  52. If Red > 35 Then
  53. ExelO.Rows("35:35").copy
  54. ExelO.Rows(Red & ":" & Red).Insert Shift:=xlDown
  55. End If
  56. Kolona = 2
  57.     For I = 0 To 17
  58.     Kolona = I + 1
  59.     Set Celija = ExelO.Cells(Red, Kolona)
  60.     If Kolona = 1 Then
  61.     Temp = Red - 15
  62.     Else
  63.     Temp = Rs.Fields(I)
  64.     End If
  65.     If Temp = True Then
  66.     Temp = "x"
  67.     ElseIf Temp = False Then
  68.     Temp = ""
  69.     End If
  70.     Celija.Value = Temp
  71.     Next I
  72. Rs.MoveNext
  73. Loop
  74.  
  75. Red = Red + 4
  76. Set Celija = ExelO.Cells(Red, 2)
  77. Temp = Forms![T_Pregled_DA_G]![Napomena]
  78. Celija.Value = Temp
  79. Set Celija = ExelO.Cells(1, 1)
  80. Celija.Clear
  81. Celija.Select
  82. ExelO.Visible = True
  83. Izlaz:
  84. Exit Function
  85. Greska:
  86. End Function
  87. Function Db_Putanja() As String
  88. '------------------------------------------------
  89. 'Ova funkcija pronalazi putanju postojee baze
  90. 'Autor funkcije ZXZ
  91. '------------------------------------------------
  92.    Dim Db As Database, Putanja As String
  93.    
  94.     On Error Resume Next
  95.     Set Db = DBEngine(0)(0)
  96.     Putanja = Db.Name
  97.     Do Until Right$(Putanja, 1) = "\"
  98.         Putanja = Left$(Putanja, Len(Putanja) - 1)
  99.     Loop
  100.  
  101.     Db_Putanja = Putanja
  102. End Function

zxz 26.12.2012 11:47
Predmet:Re: export u excel (redosled kao u reportu)

Prepravi ovaj dio koda.
Loop
If red>25 then
Red = Red + 4
else
red=39
endif
Set Celija = ExelO.Cells(Red, 2)
Temp = Forms![T_Pregled_DA_G]![Napomena]
Celija.Value = Temp
Set Celija = ExelO.Cells(1, 1)
Celija.Clear
Celija.Select
ExelO.Visible = True
Izlaz:
Exit Function
Greska:
End Function

xl_kid 26.12.2012 13:51
Predmet:Re: export u excel (redosled kao u reportu)

Opet isti problem.
Prilozi:
Pregled2.zip (Velicina datoteke:8.55 KB)

zxz 26.12.2012 15:33
Predmet:Re: export u excel (redosled kao u reportu)

PreuzmiIzvorni kôd (Visual Basic):
  1. Function ExelI()
  2. Dim Db As Database
  3. Dim Rs As Recordset
  4. Dim Temp
  5. Dim ExelO As Object
  6. Dim Celija As Object
  7. Dim Red As Integer, Kolona As Integer
  8. Dim I As Integer
  9.  
  10. On Error GoTo Greska:
  11. Set Db = CurrentDb()
  12. Temp = Db_Putanja
  13. Set Rs = Forms![T_Pregled_DA_G]![T_Pregled_DA_P subform].Form.RecordsetClone
  14. Set ExelO = CreateObject("excel.Application")
  15. FileCopy Temp & "qb.dll", Temp & "Pregled.xls"
  16. ExelO.Workbooks.Open (Temp & "Pregled.xls")
  17.  
  18. Red = 5
  19. Kolona = 3
  20. Set Celija = ExelO.Cells(Red, Kolona)
  21. Temp = Forms![T_Pregled_DA_G]![Referent_prodaje].Column(1)
  22. Celija.Value = Temp
  23. Red = 6
  24. Kolona = 3
  25. Set Celija = ExelO.Cells(Red, Kolona)
  26. Temp = Forms![T_Pregled_DA_G]![Datum]
  27. Celija.Value = Temp
  28. Red = 7
  29. Kolona = 3
  30. Set Celija = ExelO.Cells(Red, Kolona)
  31. Temp = Forms![T_Pregled_DA_G]![Pocetak_rada]
  32. Celija.Value = Temp
  33. Red = 8
  34. Kolona = 3
  35. Set Celija = ExelO.Cells(Red, Kolona)
  36. Temp = Forms![T_Pregled_DA_G]![Zavrsetak_rada]
  37. Celija.Value = Temp
  38. Red = 9
  39. Kolona = 3
  40. Set Celija = ExelO.Cells(Red, Kolona)
  41. Temp = Forms![T_Pregled_DA_G]![Dnevna_kilometraza]
  42. Celija.Value = Temp
  43. Red = 10
  44. Kolona = 3
  45. Set Celija = ExelO.Cells(Red, Kolona)
  46. Temp = Forms![T_Pregled_DA_G]![Broj_posjecenih_DM]
  47. Celija.Value = Temp
  48. Red = 15
  49. Rs.MoveFirst
  50. Do While Not Rs.EOF
  51. Red = Red + 1
  52. If Red > 35 Then
  53. ExelO.Rows("35:35").copy
  54. ExelO.Rows(Red & ":" & Red).Insert Shift:=xlDown
  55. End If
  56. Kolona = 2
  57.     For I = 0 To 17
  58.     Kolona = I + 1
  59.     Set Celija = ExelO.Cells(Red, Kolona)
  60.     If Kolona = 1 Then
  61.     Temp = Red - 15
  62.     Else
  63.     Temp = Rs.Fields(I)
  64.     End If
  65.     If Temp = True Then
  66.     Temp = "x"
  67.     ElseIf Temp = False Then
  68.     Temp = ""
  69.     End If
  70.     Celija.Value = Temp
  71.     Next I
  72. Rs.MoveNext
  73. Loop
  74. If Red > 35 Then
  75. Red = Red + 4
  76. Else
  77. Red = 39
  78. End If
  79. Set Celija = ExelO.Cells(Red, 2)
  80. Temp = Forms![T_Pregled_DA_G]![Napomena]
  81. Celija.Value = Temp
  82. Set Celija = ExelO.Cells(1, 1)
  83. Celija.Clear
  84. Celija.Select
  85. ExelO.Visible = True
  86. Izlaz:
  87. Exit Function
  88. Greska:
  89. End Function
  90. Function Db_Putanja() As String
  91. '------------------------------------------------
  92. 'Ova funkcija pronalazi putanju postojee baze
  93. 'Autor funkcije ZXZ
  94. '------------------------------------------------
  95.    Dim Db As Database, Putanja As String
  96.    
  97.     On Error Resume Next
  98.     Set Db = DBEngine(0)(0)
  99.     Putanja = Db.Name
  100.     Do Until Right$(Putanja, 1) = "\"
  101.         Putanja = Left$(Putanja, Len(Putanja) - 1)
  102.     Loop
  103.  
  104.     Db_Putanja = Putanja
  105. End Function