Felder in Tabellen hervorheben

strich

Neuer Benutzer
Beiträge
2
Hallo in die Runde,
ich habe eine ACCESS-Tabelle mit folgenden 6 Spalten:
Art | Datum | Ort | Beobachter | Anzahl | Bemerkungen
Die Spalten 1+3+4 sind Auswahlspalten. Bei den Spalten 2+5 gelten Einschränkungen, Spalte 6 ist freier Text.
Die Daten werden aus verschiedenen Vortabellen, teils ACCESS, teils EXCEL oder andere angefügt.
Nicht konforme Datensätze wandern dabei in eine Tabelle "Einfügefehler", was jedoch für die weitere Bearbeitung und Sortierung ungünstig ist. Ist es möglich, die Datensätze zunächst 1:1 zu übernehmen aber auf eine andere Weise kenntlich zu machen, dass sie nicht dem gewünschten Standard entsprechen? Beispielsweise indem Sie mit abweichender Hintergrundfarbe oder anderer Schriftfarbe dargestellt werden?
Vielen Dank für alle Infos dazu.
Stefan Richter
P.S.: ich bin ein ACCESS-Laie
 
Werbung:
Ist es möglich, die Datensätze zunächst 1:1 zu übernehmen aber auf eine andere Weise kenntlich zu machen, dass sie nicht dem gewünschten Standard entsprechen? Beispielsweise indem Sie mit abweichender Hintergrundfarbe oder anderer Schriftfarbe dargestellt werden?
Dein Vorschlag zur Farbgebung oder anderen Darstellungsformen ist bestimmt umsetzbar. Ausgangspunkt solcher Darstellungen ist immer die Datengrundlage. Die kann man aus (komplizierten) Abfragen gewinnen, die u.U. nicht offensichtlich oder durchschaubar sind oder man definiert dazu ein separates Feld, meinetwegen "Importstatus", wo die notwendigen Angaben hinterlegt werden.
Du könntest ein Verfahren definieren, bei dem die Daten (wie gehabt) im Fehlerfall in der Tabelle Einfügefehler landen (wie importiert) und gleichzeitig in modifizierter, standardisierter Form in der eigentlichen Zieltabelle. Jeder Satz in der Zieltabelle, der ein Pendant in der Tabelle Einfügefehler hat, ist also markiert, greifbar. Das kann man explizit in der Zieltabelle als Spalte hinterlegen, wenn möglich, damit es auf einfache Weise erkenntlich ist. Aber es hängt davon ab, wie die Verarbeitungsprozesse laufen.
Ist ein solches Feld vorhanden und in seiner Ausprägung auch noch variiert nach Fehlerart oder Fehlerkombinationen, kann entsprechend eine farbliche Darstellung für Reports usw. programmiert werden. Im Idealfall wären dann alle Felder in irgendeiner einheitlichen Weise anders dargestellt, die beim Import Fehler aufweisen und zur Ablage in der Zieltabelle verändert wurden / werden mussten / nicht den originalen Importwert haben.
 
Hallo Stefan,

in Access entsteht beim Import immer dann automatisch die Tabelle Einfügefehler, wenn die importierten Daten nicht den Feldtypvorgaben der Tabellendefinition der Zieltabelle entsprechen. Das ist nicht beinflussbar, was ja auch unsinnig wäre, weil dann inkonsistente Daten entstünden. Alle anderen Logikprüfungen, wie z. B. Das Feld Anrede darf nur dann Frau enthalten, wenn ein Feld Geschlecht den Wert für weiblich enthält, werden in Abfragen, bzw, dann in entsprechenden Formularen gemacht.
Desweiteren sind Tabellen eben Tabellen, also reine Daten, ohne irgendwelche Formatierung, wie man sie z.B. aus Excel kennt (Farbe, Schriftart, etc.).
Trotzdem ist dein Ansinnen recht einfach umzusetzen.
Importiere alle Daten in in eine Tabelle, deren Anzahl Felder und Feldnamen gleich denen der eigentlichen Zieltabelle sind, deren Feldtyp aber für alle Felder "kurzer Text" ist. Für diese Tabelle erstellst oder generierst mit dem Assistenten ein Endlosformular. Das Formular zeigt Dir dann alle Felder des Imports an. Nun kannst Du im Formular für jedes Feld die Prüfungen durchführen, die notwendig sind um die Datenformate für deine eigentliche Zieltabelle richtig zu stellen. Auch ist die Kennzeichnung falscher Sätze, bzw. Felder einfach über die "bedingte Formatierung" zu realisieren. Sie erfolgt quasi in Echtzeit, wenn der Wert eines Feldes den Regeln entspricht, die Du bei der bedingten Formatierung definiert hast. Die bedingte Formatierung rufst Du auf, indem Du in der Entwurfsansicht des Formulars auf dem Feld, welches z.B. unter einer bestimmten Bedingung eine andere Farbe haben soll, die rechte Maustaste drückst. Dann öffnet sich das entsprechende Bearbeitungsfenster.

Stehen nach Pflege im Formular alle Felder/Datensätze auf grün (oder was auch immer Du als OK definiert hast), kannst Du die Datensätze mit einer weiteren einfachen 1:1-Anfügeabfrage in deine eigentlich Zieltabelle überführen. Achte dabei darauf, das du doppelte Datensätze vermeidest, wenn die Anfügeabfrage versehentlich mehrfach mit derselben Importdatei ausgeführt wird.
Das erreichst Du durch Definition eines entsprechenden eindeutigen Indexes in der Zieltabelle. Dann verweigert Access automatisch den weiteren Import eines doppelten Satzes und shcreibt ihn wiederum in eine Tabelle "Einfügefehler". So kannst Du beliebig oft den Import versuchen, bis alle Daten passen.
 
Hallo Andreas,
Dein Vorschlag scheint mir für unsere Zwecke und mich als Laien am einfachsten umzusetzen.
Dir und natürlich auch an dabadepdu besten Dank für die ausführlichen und verständlichen Antworten!
Stefan Richter
 
Werbung:
Hi,

wenn die Daten in einem Endlosformular dargestellt werden gibt es doch die Funktion der bedingten Formatierung, wie Andreas richtig sagte. Da kann man Regeln hinterlegen, die dann die Inhalte der Daten auswerten- Z.B. kann mal negative Beträge rot darstellen und positive grün...nur mal als Bespiel. Ober etwas aufwendiger wäre es die Tabelle in einer Schleife durchzugehen und die inhalte entsprechend zu behandeln und dann die Eigentschaft backcolor oder andere anzupassen.
Access ist da sehr flexibel.

Martin
 
Zurück
Oben