PDA

Vollständige Version anzeigen : Tool für Leichen !


berndh
06.03.2001, 10:57
Hallo,
kennt jemand von Euch ein Tool, das nicht mehr benutzte Tabellen, Abfragen, Formulare, Makros und Module ausfindig macht ?

Danke für Eure Mühe !!!

Sascha Trowitzsch
06.03.2001, 11:06
Scherzkeks!
Wozu brauchst du das?? Sollen sie ordentlich bestattet werden?

Woher soll Access wissen, ob jemals noch eine Tabelle oder gar ein Modul benutzt wird. Ein solches Prophetentool gibt's nicht - vielleicht aber Datenbanken mit eingebauter astrologischer Beratung?

Im Ernst: Was meinst du damit?
Bei Tabellen kann man immerhin das Datum des letzten Zugriffs rauskriegen, aber Abfragen, Makros, Module?

Schreib noch was dazu. Finde die Frage hochinteressant.

Ciao, Sascha

berndh
06.03.2001, 11:25
Vielleicht fehlt Dir ja ein bißchen Phantasie ! Stell Dir vor es ist ein Formular oder Bericht vorhanden die Daten von einer Tabelle oder Abfrage bezieht die es nicht mehr gibt. Diese kann man doch dann getrost löschen oder ist das zu astrologisch ? Genauso kann ich mir vorstellen, daß es Makros und Module gibt, die ein Entwickler zum Testen erstellt hat und vergessen hat diese zu löschen. Diese verweisen dann auf Tabellen, Formulare.... die vielleicht nicht mehr vorhanden sind oder aber umbenannt sind.
Vielleicht kann ich mit diesen Ausführungen für ein besseres Verständnis beitragen.

M.f.G
Scherzkeks

Sascha Trowitzsch
06.03.2001, 11:36
Sorry, es ist mir immer noch zu astrologisch.
Was du von diesem Tool forderst ist nichts weniger, als dass es die Intelligenz des Entwicklers hat.
Stell dir doch bitte mal vor, du hättest in einem Modul die Zeile:

Set rst=CurrentDb.Openrecordset("TabelleX",dbOpenDynaset)

...und TabelleX gibt's nicht mehr.

Dann müsste das Tool doch einen Syntax-Parser haben, der diese Zeile analysiert, feststellt, dass es sich ums Öffnen einer Datensatzquelle geht, diese suchen und prophezeien, dass der Code so wohl nicht geht.
Sollte es die Prozedur dann löschen?? Was , wenn vor der Prozedur per Abfrage oder VBA eine Tabellenerstellung für TabelleX passiert?
Dann ist der Code eben nicht obsolet.

Tja, ich warte schon seit Jahren auf solch intelligente Software.

So long, Sascha

Kevin
06.03.2001, 16:36
Wieso??

Probiere es doch mal:

1.Hole Dir die Daten der Datenherkunft(Tabellen) von Abfragen und die Datenherkunft(Tabellen/Abfragen) von Berichten und Formularen.
Und ziehe sie von allen TBL und QRY ab.

2.Dann durchsuche noch in allen Prozeduren , Feldinhalten(FRM,REP) und Abfragekriterien nach Namen der TBL,QRY,FRM,REP,MOD,CLS,FRMCLS und REPCLS (Bei Makros hab ich kein Plan, wie man das machen könnte)
und lasse sie Name für Name durchsuchen und beim finden streichen.(In ner Tabelle wo Du einmalig alle Objekte drinstehen hast).

Alles was dann noch übrig bleibt wird nicht benutzt (TBL/QRY)
Für FRM,.. kommt jedes Objekt ja min. einmal vor, deshalb müßtest Du aufpassen und da nur beim zweiten mal, kann man es als benutzt kennzeichnen bzw. schliesse sie dann jeweils bei der Überprüfung aus.
Bei Funktionen die auch Übergeben must doch nochmals aufpassen wenn Du sie nicht von der Routine ausschließt.

Wenn Du das Modul dafür geschrieben hast darfst Du Dich dann nicht wunderen, wenn Dein Compi erstmal 2 Stunden rechnet. ;)

Gruß Kevin

Datterich
08.03.2001, 10:39
Hat nicht jemand mal Lust soein DIng zu machen??

Sascha Trowitzsch
08.03.2001, 10:56
Es gibt soviele freie und kommerzielle Access-Tools und ne Menge Autoren, die sich die aberwitzigsten Lösungen einfallen lassen.
An der "Lust" liegt es also sicher nicht, dass das noch niemand in Angriff genommen hat (...soweit ich weiß...), sondern dass die Realisierung eher unwahrscheinlich erscheint.
Aber wenn Kevin meint, das geht, dann lass ich mich gern eines Besseren belehren. Mit so einem Tool könnte er ohne Zweifel Geld verdienen.

Ciao, Sascha

Walther
08.03.2001, 11:21
Hallo Kevin!

Seid bitte vorsichtig! Diese Namen können immer noch besser versteckt sein als man denkt. So könnten sie z.B. durch Aneinanderhängen von Strings entstehen.

Trotzdem: Die makros könnte man in VBA umwandeln http://www.microsyskramer.de/ubb/smile.gif

Aber die entstehende Liste würde ich höchstens als Grundlage für teiefer Überlegungen benutzen. Siehe oben


Walther

Kevin
08.03.2001, 12:05
Hi,

an die "Fusion" der Objektnamen hatte ich wirklich nicht gedacht. DANKE

Mal ne Frage,
ich habe leider keinen Plan wie es mit dem "Rechtsschutz" aussieht, da ich bisher alles immer nur für die Firma machte.
Da Ihr irgendwie mein Ergeiz erweckt habt würde ich mich dennoch mal gerne daran wagen.
Reicht es aus wenn man drauf hinweist, das man für Folgeschäden keine Haftung übernimmt und die Benutzung auf eigene Gefahr geschiet??

Gruß Kevin

klemens
09.03.2001, 20:27
ich findas auch gefährlich:
denk mal an sowas:

constant c_tab as sting = "TBL_"

for i in 1..5 do
create_temp_table( c_tab & "temptable" & i )
for-ende

sowas zu finden ist sicher schwer.
und, wenn, dann könnte das immernoch "toter" code sein ( if 1=2 then.. )

noch wildere konstelationen: der tabellenname ist in einer tabelle, der dann durch ein drop-down feld vom benutzer ausgewählt wird... ich mach so dinge zb bei berichten. die berichts-auswahl bau ich damit dynamisch zusammen.

ausserdem, solche sachen löschen ist _mir_ zu gefährlich.
wenn ich bei einder tabelle nicht mehr sicher bin, dann benamse ich sie erst mal auf "xxx_tabele" um.
Wenn das dann wieder erwarten doch irgendwo verwendung gefunden hat, dann biste froh.

.klemens