Bosna i Hercegovina



#1 11.09.2012-10:19
pmiroslav Offline
Clan
Registrovan/a od: 02.02.2009-10:32
Komentari: 1,359


Subject: 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 Offline
Clan
Registrovan/a od: 02.02.2009-00:23
Komentari: 236


Ocjena: Ocjena:100 Subject: 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 Offline
Clan
Registrovan/a od: 02.02.2009-10:32
Komentari: 1,359


Subject: 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 Offline
Administrator
Registrovan/a od: 03.02.2009-16:22
Komentari: 9,737


Subject: 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.
Pozdrav
↑  ↓

#5 11.09.2012-12:40
roko Offline
Clan
Registrovan/a od: 02.02.2009-00:23
Komentari: 236


Subject: 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 Offline
Administrator
Registrovan/a od: 03.02.2009-16:22
Komentari: 9,737


Subject: Re: Nekorišteni objekti
Svejedno opet su tvoje procedure.
Ti si ih nasao pa napisi sta hoces.
Pozdrav
↑  ↓

#7 20.09.2012-18:04
pmiroslav Offline
Clan
Registrovan/a od: 02.02.2009-10:32
Komentari: 1,359


Subject: 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 Offline
Clan
Registrovan/a od: 02.02.2009-00:23
Komentari: 236


Subject: 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


All times are GMT +01:00. Current time: 17.08.2018-02:47.