Datenkontrolle

Hallo Wissende,

habe jetzt meine Chinesischdatenbank in zwei Tabellen. Um euch diee Struktur zu zeigen, hier zwei beispielhafte Tabellenauszüge (in den echten stehen mehr und auch sinnvollere Daten…

Tabelle „Zeichen“, zwei Spalten, Zeichen und Umschrift. Die Spalte Zeichen ist als „ohne Duplikate“ definiert, dann gibts die Spalte „Aussprache“. Aussprachen kommen mehrfach vor.

A aah
a aah
B beh
b beh
D deh
d deh
...

Tabelle „Vokabeln“ mit 9 Spalten. In der ersten steht die Beschreibung, dann folgen je 4 Spalten mit Zeichen und Aussprachen.

Musikgruppe A B B A aah beh beh aah
Raum B a d beh aaa deh
...

Wie gesagt, in Wirklichkeit ist das tiefschürfender, aber die Einzelhiten erspare ich euch.

Ich möchte nun bestimmte Eingabefehler abfangen (nicht unbedingt direkt bei der Eingabe, aber spätestens bei einer regelmässig durchgeführten Konsistenzprüfung.

Folgendes möchte ich anfangen:

  • Zeichen, die in der Vokabeltabelle nicht auftauchen (im Beispiel b und D)
  • Zeichen oder Aussprachen, die in der Vokabeltabelle stehen, aber nicht in der Zeichentabelle sind (wie im Beispiel aaa als Schreibfehler)

Ich bin ziemlich „grün“ in Access und hoffe, da gibt es eine Funktion, die ihr mir nennen und erklären könnt. Ich wüsste momentan nicht, wie ich hier eine Abfrage gestalte sollte.

Vielen Dank

Hans-Jürgen

Hallo Unwissender :wink:

die Tabellen müssen zunächst in die Normalform(en) überführt werden.

habe jetzt meine Chinesischdatenbank in zwei Tabellen. Um euch
diee Struktur zu zeigen, hier zwei beispielhafte
Tabellenauszüge (in den echten stehen mehr und auch
sinnvollere Daten…

Tabelle „Zeichen“, zwei Spalten, Zeichen und Umschrift.

Hier fehlt eine 3. Spalte für den Primärschlüssel („ZID“)

Die Spalte Zeichen ist als „ohne Duplikate“ definiert,

das nützt hier nichts, weil Access nicht case-sensitive ist.

A=a

Umgehen kann man das, wenn man nicht das Zeichen selber als Text , sondern dessen Ascii-Wert abspeichert. Dann gibt es kein solches Problem. Ein- , bzw. Ausgabe (Anzeige) im Formualr ist dann per kleiner Funktion zu behandeln.

dann gibts
die Spalte „Aussprache“. Aussprachen kommen mehrfach vor.

A aah
a aah
B beh
b beh
D deh
d deh

ZID Z US
1 A aah
2 a aah
3 B beh
4 b beh
6 D deh
6 d deh

Tabelle „Vokabeln“ mit 9 Spalten.

Das ist grundsätzlich falsch und es fehlt auch hier das Primärschlüsselfeld.

In der ersten steht die

Beschreibung, dann folgen je 4 Spalten mit Zeichen und
Aussprachen.

Musikgruppe A B B A aah beh beh
aah
Raum B a d beh aaa deh

sollte so aussehen:

tblVokabeln:

VID (PK)
VBez (Text)
.
.

und weitere Tabelle tblVokabelUmschriften:

VUID (PK)
VU_VID (FS, PK-Wert (VID aus tblVokabeln)
VU_ZID (FS, PK-Wert (ZID) aus tblZeichen)

Wie gesagt, in Wirklichkeit ist das tiefschürfender, aber die
Einzelhiten erspare ich euch.

Ich möchte nun bestimmte Eingabefehler abfangen (nicht
unbedingt direkt bei der Eingabe, aber spätestens bei einer
regelmässig durchgeführten Konsistenzprüfung.

wirklich am Besten bei der Eingabe. Das Kind nicht nass werden zu lassen , wenn es schon ins Wasser gefallen ist, ist ungleich schwieriger…

Folgendes möchte ich anfangen:

  • Zeichen, die in der Vokabeltabelle nicht auftauchen (im
    Beispiel b und D)

Was nicht (in der Zeichentabelle) existiert, kann auch nicht verwendet werden.

  • Zeichen oder Aussprachen, die in der Vokabeltabelle stehen,
    aber nicht in der Zeichentabelle sind (wie im Beispiel aaa als
    Schreibfehler)

gibt es nicht, weil nur ID-Werte verarbeitet werden.

Ich bin ziemlich „grün“ in Access und hoffe, da gibt es eine
Funktion, die ihr mir nennen und erklären könnt. Ich wüsste
momentan nicht, wie ich hier eine Abfrage gestalte sollte.

Na die Zeit bringt die Reife :wink:))

Viele Grüße vom Bodensee
Franz, DF6GL

Moin Moin,

Tabelle „Zeichen“, zwei Spalten, Zeichen und Umschrift. Die
Spalte Zeichen ist als „ohne Duplikate“ definiert, dann gibts
die Spalte „Aussprache“. Aussprachen kommen mehrfach vor.

A aah
a aah
B beh
b beh
D deh
d deh

das sieht schon mal sehr gut aus :smile:

Tabelle „Vokabeln“ mit 9 Spalten. In der ersten steht die
Beschreibung, dann folgen je 4 Spalten mit Zeichen und
Aussprachen.

Musikgruppe A B B A aah beh beh
aah
Raum B a d beh aaa deh

ok, damit kann man „arbeiten“

Ich möchte nun bestimmte Eingabefehler abfangen (nicht
unbedingt direkt bei der Eingabe,

warum nicht gleich bei der Eingabe?

Einfach die Felder 2-5 als Pulldown-Felder definieren (mit beiden Spalten der Zeichen-Tabelle und die Felder 6-9 für die Eingabe sperren.

Je nach Auswahl der Eingabe dann den Inhalt der zweiten Spalte = Umschrift in das entsprechende Feld übernehmen. (mit VBA)

regelmässig durchgeführten Konsistenzprüfung.

die würde dann entfallen

  • Zeichen, die in der Vokabeltabelle nicht auftauchen (im
    Beispiel b und D)

?? das Beispiel verstehe ich nicht, b kommt doch vor?

Ich bin ziemlich „grün“ in Access

wir haben alle man angefangen…

Grüße aus Rostock
Wolfgang
(Netwolf)

Hi,

sorry hatte ich vergessen zu erwähnen: Eine Autowert-Spalte ist schon da, hatte ich in der Tabelle ausgeblendet (und dann auch im Bewusstsein.)

Am Thema ASCII erkennt man die Grenze meines Beispiels. In „echt“ sind die Werte voneinander komplett verschieden, werden aber teilweise gleich ausgesprochen. Nachfolgend einige Zeichenbeispiele:




In dieser Reihenfolge stehen sie auch im Lexikon. Wenn Du die einzeln und durcheinander in eine Tabelle kopierst und sortierst, sortiert er sie richtig, da scheint der UNICODE hinterlegt zu sein. Die Zeichen sind also wirklich eindeutig.

Die restliche Beschreibung klingt für mich ziemlich kompliziert, werde ich mir am Wochenende mal ansehen. Vielen Dank soweit, viele Grüße

Hans-Jürgen

Hi,

auch Dir schon mal vorab vielen Dank für die Antwort. Auch das werde ich mir am Wochenende genau ansehen.

Am liebsten ist es mir natürlich, wenn die Kontrolle gleich bei der Eingabe erfolgt.

Du hattest mir im ersten Post zu einem Formular geraten, aber das habe ich bisher noch nicht hinbekommen, von den Pull-Dowwn-Menüs bin ich daher noch ein wenig weiter entfernt…

Habe immerhin (übergangsweise!) mir eine Nachschlagespalte eingerichtet. Die läuft in der Vokabelerfassung, wenn ich ein Zeichen eingebe. Ich sehe dann die Einträge aus der Zeichentabelle und kann auswählen (aber leider sehe ich alle 455 Einträge…)

Wegen dieser Nachschlagespalte haben die Tabellen jetzt auch eine Beziehung zueinander. Ich denke, dies ist auch relevant, wenn ich ein Formular erstelle. Aber beim „wie“ bin ich noch etwas ratlos.

Mir ist auch klar, dass ich mir noch jede Menge Grundwissen auf anderem Wege zulegen muss (gibts da nicht diese DUMMIES-Bücher…?) da arbeite ich parallel noch dran.

Gruss

Hans-Jürgen

Hallo,

muss hier unbedingt einhaken und von der Verwendung der Zeichenfelder in einem Datensatz dringend abraten.

So eine Methode ist nicht brauchbar, es sei denn, es gibt eine maximale Anzahl von Zeichen in einer Vokabel, soll heißen, eine Vokabel darf eine bestimmte Zeichenlänge dann nicht überschreiten.

Eine möglicherweise gangbare Alternative wäre, die Vokabel (z. B. „AbbA“) in ein einziges Textfeld zu schreiben und danach mittels eines Buttons (und einer geeigneten Ereignisprozedur) die einzelnen Zeichen der Vokabel in einer Schleife zu durchlaufen und in einem weiteren Textfeld dir dazugehörenden Chines. Zeichen zusammenzubauen. Wenn es für ein Lateinisches Zeichen mehrere chin. Zeichen gibt, muss hat die entspr, auswahl getroffen werden.

auch Dir schon mal vorab vielen Dank für die Antwort. Auch das
werde ich mir am Wochenende genau ansehen.

Am liebsten ist es mir natürlich, wenn die Kontrolle gleich
bei der Eingabe erfolgt.

Du hattest mir im ersten Post zu einem Formular geraten, aber
das habe ich bisher noch nicht hinbekommen,

Erst müssen die TAbellen entspr. dem gewöhlten Konzept stimmen. Dann kommen die Formulare dran, mit denen die entspr. Datenmamipulationen durchgeführt werden.können

von den
Pull-Dowwn-Menüs bin ich daher noch ein wenig weiter
entfernt…

Die sind halb so schlimm wie sie aussehen :wink:

Habe immerhin (übergangsweise!) mir eine Nachschlagespalte
eingerichtet.

Nachschlagespalten sind 10 mal schlimmer als sie aussehen !
Lass die gleich ganz weg und vergiss sie wieder.

Die läuft in der Vokabelerfassung, wenn ich ein

Zeichen eingebe. Ich sehe dann die Einträge aus der
Zeichentabelle und kann auswählen (aber leider sehe ich alle
455 Einträge…)

Das ist doch ok so …? Wenn Du weniger (nicht alle) sehen würdest, würdest Du Dich erst recht beklagen. Wenn ein Folgezeichen in einem Vokabel-Wort nicht vom vorangegangenen abhängt, ist auch keine Einschränkung der angezeigten Listeneinträge möglich.

Wegen dieser Nachschlagespalte haben die Tabellen jetzt auch
eine Beziehung zueinander.

Nein, nicht wegen der Nachschlagefelder, sondern wegen der Datenzusammenhänge gibt es die Beziehungen. Die Nachschlagefelder (–Kombifelder im Formular ) visualisieren diesen Zusammenhang nur.

Ich denke, dies ist auch relevant,
wenn ich ein Formular erstelle. Aber beim „wie“ bin ich noch
etwas ratlos.

Mach einfach für jede Tabelle ein Formular mit dem Assistenten.

Mir ist auch klar, dass ich mir noch jede Menge Grundwissen
auf anderem Wege zulegen muss (gibts da nicht diese
DUMMIES-Bücher…?) da arbeite ich parallel noch dran.

http://www.donkarl.com
http://dbwiki.net/wiki/Hauptseite

Viele Grüße vom Bodensee
Franz, DF6GL

Hallo,

sorry hatte ich vergessen zu erwähnen: Eine Autowert-Spalte
ist schon da, hatte ich in der Tabelle ausgeblendet (und dann
auch im Bewusstsein.)

Nie die Autowert (PK)-Spalte ausblenden… die ist im Grunde das Wichtigste in einer DB…

Am Thema ASCII erkennt man die Grenze meines Beispiels. In
„echt“ sind die Werte voneinander komplett verschieden, werden
aber teilweise gleich ausgesprochen. Nachfolgend einige
Zeichenbeispiele:




Das ist mir völlig klar :wink:

In dieser Reihenfolge stehen sie auch im Lexikon. Wenn Du die
einzeln und durcheinander in eine Tabelle kopierst und
sortierst, sortiert er sie richtig, da scheint der UNICODE
hinterlegt zu sein. Die Zeichen sind also wirklich eindeutig.

Ja, das stimmt…

Die restliche Beschreibung klingt für mich ziemlich
kompliziert,

kann ich auch nachvollziehen. :wink:

Vielleicht ist mein Alternativ-Vorschlag im anderen Thread sogar in diesem Fall besser geeignet als eine strikte Normalisieung der Tabellen.

werde ich mir am Wochenende mal ansehen.

ok, tu das…

Viele Grüße vom Bodensee
Franz, DF6GL