musikschaf
Goto Top

Access Feldnamen umbenennen?

Hallo miteinander!

Ich hab hier eine kleine "Problematik", bei der ich eure fachliche Hilfe brauche.
Und zwar ziehen wir hier von einem unserer Server per EDP-Viewer eine Userliste, die dann in eine Access-Datenbank exportiert wird. (Datei heißt bspw. "xyz", die jeweils neu angelegte Tabelle heißt bspw. "mar07-29")
Nun sind hier allerdings die Feldnamen (also die Überschriften) jeweils nach den im Programm benutzten Variablennamen benannt - sind teilweise also sehr kryptisch. (und vor allem: Teilweise viel zu lang!)

Nun hätt ich gern einen "Automatismus", der mir alle Überschriften (also diese kryptischen Namen) in bestimmte Namen umschreibt. (Bspw. von "bdcmdpwgrp1" in "UCM 1") Ist sowas möglich?? Wichtig ist hierbei zu beachten, dass sich der Name der Tabelle ja jeden Tag ändert, da ja jeden Tag neue Tabellen angelegt werden. Also heute z.B. "mar07-29", gestern "mar07-28" etc.... Ich glaube, darin liegt die eigentliche Herausforderung....

Ist sowas überhaupt möglich?
Wär schon schön....

Beste Grüße!

das
Musikschaf

Content-Key: 55341

Url: https://administrator.de/contentid/55341

Printed on: April 23, 2024 at 20:04 o'clock

Member: Biber
Biber Mar 29, 2007 at 11:37:11 (UTC)
Goto Top
Moin musikschaf,

hört sich durchaus nach einer lösbaren Aufgabe an, aber ein paar Details fehlen noch...
  • In welchem Format liegt denn die "Exportdatei" vor? *.csv, *.xml, *.txt, *.mdb??
  • Wie soll der Import laufen? Auf Knopfdruck? Oder im Hintergrund ohne Benutzerzutun jeden Freitag um 14h?
  • Diese Mimik mit "Jedes Mal eine neue Tabelle anlegen" ist ja ein ganz netter Zwischenschritt, aber: Was ist denn das Zielder ganzen Aktion? Geht es nur um die jeweils aktuell vorhandenen User? Oder braucht ihr irgendwo allen Ernstes einen Vergleich "Zeig mir alle User User, die am 13.Januar 2004 berechtigt waren und es am 14.2.2006 nicht mehr waren"? Wäre nicht ein "neues" Datenmodell ("Userliste mit Historisierung" bzw. "Gültig von/bis sinnvoller als das stumpfe 1:1-Kopieren?
  • A propos unnütze Kopien - werden denn die Import-Dateien nach erfolgreichem Reinsaugen pulverisiert oder bleiben die einfach für schlechte Zeiten dort liegen?

Gruss
Biber
Member: musikschaf
musikschaf Mar 29, 2007 at 12:44:31 (UTC)
Goto Top
Hallöchen!

Danke für die Info - das macht mir ja zumindest schon mal Mut!! *froi*
Nun zu deinen Fragen:

  • Das Format der Exportdatei kann ich mir aussuchen (*.csv, *.mdb) - derzeit mach ich es so, dass ich als Tabelle in eine bestehende mdb exportiere....
  • Der Import kann auf Knopfdruck laufen - klar... schön wäre es auch, wenn er einfach von Mo-Fr immer so gegen 8 Uhr oder so laufen würde. Knopfdruck würde aber reichen. Je nachdem, was einfacher ist....
  • Über die "Mimik der Aktion" hab ich mir noch nicht so viele Gedanken gemacht - geb ich zu... Sinn machen würde es folgendermaßen: Er holt von Mo - Fr täglich die aktuellen Daten und schreibt da die Überschriften... am Fr schmeißt er von Mo-Do raus - und fängt am Mo dann wieder von vorne an...
  • Bislang wird da noch gar nichts pulverisiert... .

Bin leider sehr "uninformiert", wie man so was alles lösen kann..... Hoffe, genügend Auskünfte gegeben zu haben & vielleicht ein paar Programmierer zum Arbeiten motivieren zu können... *zwinker*

beste Grüße
vom
Musikschaf
Member: Biber
Biber Mar 29, 2007 at 13:29:08 (UTC)
Goto Top
Moin nochmal, musikschaf,

sorry, wenn ich da manchmal so penetrant bin mit meinen Rückfragen.
Aber ich muss nochmal nach dem Sinn der ganzen Aktion fragen (weil Du mich jetzt ein bisschen verwirrt hast mit dem "Fr schmeisst er Mo-Do raus").

Also: Ziel ist...
  • immer alle "aktuellen" Benutzer laut Server lokal als Kopie zu haben?
  • alle Benutzer "historisiert" aufzubewahren, um feststellen zu können, wer war in welchem Zeitraum jemals berechtigt?
  • oder eine Mischung aus beidem?

Ich frage auch deshalb, weil (auch bei mir im Unternehmen) relativ unsensibel mit Benutzerdaten umgegangen wird.
Viele "sichere" Serversysteme bzw Benutzerverwaltungssysteme haben irgendeine Administrations-Funktion der Art "Gib mir alle Benutzer der Berechtigungsgruppe AppzX" oder "Zeig mir alle Angehörigen der Admin-Grupe von AppzY".
Und leider werden über solche Schnittstellen oft die Benutzerdaten abgefragt und dann lokal und unverschlüsselt gespeichert, weil "..steht doch kein Passwort im Klartext drin, ist doch nicht sensibel.." (heisst es).
Richtig absurd wird es dann, wenn auf diese relativ offen rumliegende Kopie der Benutzerdaten dann tatsächlich eine "Berechtigungsprüfung" gemacht wird statt gegen das tatsächliche Authentifizierungssystem zu prüfen.

Vor solchem Unfug würde ich Dich jedenfalls abzuhalten versuchen, bevor wir hier rein handwerklich machbare Lösungen zusammenschroten.
Deshalb meine Rückfrage.

Grüsse
Biber
Member: musikschaf
musikschaf Mar 29, 2007 at 14:07:28 (UTC)
Goto Top
Moinsen Biber....

Penetranz kann nicht schlecht sein, wenn man mit dem Ergebnis dann was anfangen kann... :D
Bei uns wird mit der ERP-Software ABAS gearbeitet, die ab Montag in den Live-Betrieb übergehen soll. Nun werden da derzeit ständig neue Benutzerdaten angelegt - und Abas schmeißt mit den wildesten Nummern um sich. Der Passwort-Datensatz hat eine eigene Nummer, beinhaltet die Mitarbeiter-Nummer, aber z.B. nicht den vollen Namen des Mitarbeiters - diesen muss man sich anhand der MItarbeiter-Nummer dann wieder aus dem Mitarbeiter-Stammsatz holen.. Alles nicht so einfach.
Zugreifen kann man über den Analyzer - zu dem wir (netterweise) bis Dato noch nicht einen Hauch von Schulung hatten.

Nun hätte ich gern für uns drei Administratoren eine Liste, in der ich die Benutzernamen (aus der MA-Liste), die MA-Nummern, die Nr. des Passwort-Datensatzes sowie die entsprechenden Berechtigungen (UCM) sehe.
Diese Liste wirft mir der Analyzer artig aus - allerdings eben nur mit dem oben beschriebenen Müll als Überschriften.

Derzeit ändern sich die Daten fast täglich - daher mein "Sicherungstick", es täglich abgleichen zu lassen. An und für sich ist das überflüssig. Haste schon Recht..

Folgender Vorschlag zur Güte: Auf "Knopfdruck" soll er die vorliegende Datei "reinholen", die Überschriften umbenennen und ihr den Namen "A1" geben. Wenn ich dann das zweite Mal auf den Knopf drücke, dann soll er die ehemalige A1 zur "B1" machen und die neuen Daten wieder als "A1" einlesen. So hab ich immer zwei Datensätze: den Tagesaktuellen und - im Notfall - den vom letzten Knopfdruck....
Zugriff darauf haben eh nur meine beiden Admin-Kollegen und meine persönliche Wenigkeit...

Ließe sich so was damit anfangen? Auch aus Sicherheitstechnischer Sicht? Was meinst du?

Besten Gruß & Dank schon mal!


musikschaf
Member: Biber
Biber Mar 29, 2007 at 14:58:18 (UTC)
Goto Top
Moin musikschaf,

danke auch für Deine Geduld...eigentlich hast Du ja eine ganz simple handwerkliche Frage gestellt und jetzt sind wir eher auf einer konzeptionellen Ebene gelandet...
Ließe sich so was damit anfangen? Auch aus Sicherheitstechnischer Sicht? Was meinst du?
*grummel*... Benutzerdaten lokal speichern... in einer M$-MDB-Datei....*grmpff*...
Na ja, ich will nicht päpstlicher sein als Euer Datenschutzbeauftragter, aber ... ich würde es nicht als Musterlösung verkaufen wollen.
Solche Provisorien halten jahrzehntelang, siehe ABAS... <grinz>.

Okay, mir würden jetzt zwei oder drei Strategien einfallen, wie man/frau es angehen könnte.
1) Holprig-manuell: die Importdatei als .csv-Datei anlegen lassen, die erste Zeile mit den Überschriften per Batch/Skript ersetzen lassen lassen
2) Halbautomatisiert-aufwändig: Importdatei als .csv-Datei anlegen lassen, mit VBA Satzwiese einlesen lassen und ebenso Satzweise in eine neue/vorhandene Tabelle mit den "richtigen" Feldnamen schreiben lassen.
3) Provisorisch-unaufwändig:diese Importtabellen gar nicht ummuddeln, sondern einfach öffnen (welche von wievielen auch immer) und für diese Tabellen innerhalb von 2 Minuten jeweils einen VIEW/eine Abfrage anlegen, die sinngemäß so aussieht:
select  bdcmdpwgrp1 as "UCM 1" , kryptischesFeld2 as UserSternzeichen, asldfnawblubb as Username  from  mar07-29 order by bla.."  


Das [Variante 3] würde den geringsten Aufwand bedeuten, euch über die nächsten Tage retten und eindeutig dokumentieren, dass es keine Dauerlösung werden soll.

Aber die Wahl der Strategie wäre jetzt wieder Dein Part.

Gruss
Biber
Member: musikschaf
musikschaf Mar 30, 2007 at 06:01:39 (UTC)
Goto Top
Moin moin!

So - nachdem gestern der Feierabend dazwischen kam, komm ich heute doch direkt wieder vorbei um zu schauen, was du schönes ausgeheckt hast... :D
Zu den Lösungen...

zu 3) Irgendwie scheint das so zwar Sinn zu machen - aber: Dann muss ich ja jedes Mal den Namen der exportierten Datei in dem Script ändern. Oder seh ich das falsch?

zu 2) Kann ich mir irgendwie noch nicht allzu viel drunter vorstellen....

zu 1) klingt eigentlich für mich als "beste" Lösung - auch, wenn du gegenteiliger Meinung bist. Aber ich denke, so ließe es sich am "einfachsten" bewerkstelligen. So kann ich die *.csv-Datei umbenennen und dann die korrekte Datei in Access importieren lassen (geht der Import eigentlich auch per Batch?)

Tjo... wie mach ich das denn mit dem "ren" per Batch?

(Mensch, so langsam musste mich echt für ein Dummbrot halten!)

Schönen Tag wünscht

das
musikschaf