Centar za edukaciju-BiH



#1 11.09.2012 10:19
pmiroslav Van mreze
Clan
Registrovan od:02.02.2009
Postovi:1,458


Predmet:Nekorišteni objekti
Imam nekoliko velikih baza sa puno tablica, Querya, formi i ostalog.
Dosta ti objekata, pa i VBA coda ostalo je u njima, a ne koriste se .
Ima li načina da se pronađu nekorišteni objekti u Accessu kako bi ih mogao obrisati.
Pozdrav
↑  ↓

#2 11.09.2012 10:56
roko Van mreze
Clan
Registrovan od:02.02.2009
Postovi:236


Predmet:Re: Nekorišteni objekti
evo ti dve funkcije mislim da če ti dati podatke jedino je problem ako na nekoj formi koristiš unbound objekte ...
ipak dobiješ listu pa vidi

f1
Public Function SkupiResurse() As String
Dim frm As AccessObject
Dim rpt As AccessObject
Dim ctl As Access.Control
SkupiResurse = "Forms" & vbCrLf & vbCrLf
For Each frm In CurrentProject.AllForms
DoCmd.OpenForm frm.Name, acDesign, , , , acHidden
SkupiResurse = SkupiResurse & frm.Name & vbCrLf & "Recordsource:" & Forms(frm.Name).RecordSource & vbCrLf
For Each ctl In Forms(frm.Name).Controls
If ctl.ControlType = acListBox Or ctl.ControlType = acComboBox Then
SkupiResurse = SkupiResurse & ctl.Name & " RowSource: " & ctl.RowSource
End If
Next ctl
SkupiResurse = SkupiResurse & vbCrLf
DoCmd.Close acForm, frm.Name
Next frm
SkupiResurse = SkupiResurse & "Reports" & vbCrLf & vbCrLf
For Each rpt In CurrentProject.AllReports
DoCmd.OpenReport rpt.Name, acViewDesign, , , acHidden
SkupiResurse = SkupiResurse & rpt.Name & vbCrLf & "Recordsource:" & Reports(rpt.Name).RecordSource & vbCrLf
For Each ctl In Reports(rpt.Name).Controls
If ctl.ControlType = acListBox Or ctl.ControlType = acComboBox Then
SkupiResurse = SkupiResurse & ctl.Name & " RowSource: " & ctl.RowSource
End If
Next ctl
SkupiResurse = SkupiResurse & vbCrLf
DoCmd.Close acReport, rpt.Name
Next rpt
End Function

Public Function getRecordsource() As String
Dim frm As AccessObject
Dim rpt As AccessObject
getRecordsource = "Forms" & vbCrLf & vbCrLf
For Each frm In CurrentProject.AllForms
DoCmd.OpenForm frm.Name, acDesign, , , , acHidden
If Not Forms(frm.Name).RecordSource = "" Then
getRecordsource = getRecordsource & frm.Name & vbCrLf & "Recordsource:" & Forms(frm.Name).RecordSource & vbCrLf & vbCrLf
End If
DoCmd.Close acForm, frm.Name
Next frm
getRecordsource = getRecordsource & "Reports" & vbCrLf & vbCrLf
For Each rpt In CurrentProject.AllReports
DoCmd.OpenReport rpt.Name, acViewDesign, , , acHidden
If Not Reports(rpt.Name).RecordSource = "" Then
getRecordsource = getRecordsource & rpt.Name & vbCrLf & "Recordsource:" & Reports(rpt.Name).RecordSource & vbCrLf & vbCrLf
End If
DoCmd.Close acReport, rpt.Name
Next rpt
End Function

'' pozovi ih
Dim s As String
s = getRecordsource
MsgBox (s)
s = SkupiResurse
MsgBox (s)
↑  ↓

#3 11.09.2012 11:34
pmiroslav Van mreze
Clan
Registrovan od:02.02.2009
Postovi:1,458


Predmet:Re: Nekorišteni objekti
Ovo nije loše. Jedino dali znaš kako umjesto Msbox poruke koja na kraju izlazi, napraviti Report jer bi tako bilo preglednije.
Pozdrav
↑  ↓

#4 11.09.2012 12:27
zxz Van mreze
Administrator
Registrovan od:03.02.2009
Postovi:10,642


Predmet:Re: Nekorišteni objekti
roko ove procedure bi bilo dobro da imamo u koristan kod pa posto su tvoje dobro bi bilo da ih ti i postavis sa objasnjenjem cemu sluze i kako se koriste.
Podrska samo putem foruma, jer samo tako i ostali imaju koristi od toga.
↑  ↓

#5 11.09.2012 12:40
roko Van mreze
Clan
Registrovan od:02.02.2009
Postovi:236


Predmet:Re: Nekorišteni objekti
Nisu moje neg sam ih negdje skinuo i malo prepravio .
Isto sam tražio što nekoristim od silne queriya i formi...
↑  ↓

#6 11.09.2012 13:04
zxz Van mreze
Administrator
Registrovan od:03.02.2009
Postovi:10,642


Predmet:Re: Nekorišteni objekti
Svejedno opet su tvoje procedure.
Ti si ih nasao pa napisi sta hoces.
Podrska samo putem foruma, jer samo tako i ostali imaju koristi od toga.
↑  ↓

#7 20.09.2012 18:04
pmiroslav Van mreze
Clan
Registrovan od:02.02.2009
Postovi:1,458


Predmet:Re: Nekorišteni objekti
Iskoristi sam funkciju koju je priložio Roko i stvarno je vrlo korisna naročito funkcija' 'skupiResurse()'
koja izlista sve forme i reporte i pridruži im njihove Recordsourse odnosno tablice i querye.
Jedino što je ovdje problem što uglavnom treba imati popis nekorištenih tablica i querya.
Moje pitanje je dali bi se ova funkcija mogla nekako doraditi da izlista nekorištene objekte.
Možda koristeći query MSysObjects koji bi prikazao sve tablice i querye u bazi pa da se onda objekti dobiveni gornjom funkcijom usporede sa objektima iz MsysObject i prikažu samo nekorišten.
Pozdrav
↑  ↓

#8 21.09.2012 15:02
roko Van mreze
Clan
Registrovan od:02.02.2009
Postovi:236


Predmet:Re: Nekorišteni objekti
Mislim da se mogu automatizirati neke stavke programa ali na kraju ipak moaš sam pronači koje komponente ne koristiš i zašto
↑  ↓

Stranice (1):1


Sva vremena su GMT +01:00. Trenutno vrijeme: 1: 13 am.