Access-o-Mania

Access-Forum => Tabelle/Abfrage => Thema gestartet von: BikeArno am Februar 04, 2021, 13:34:32

Titel: Aktualisierungsabfrage mit "Is Not Null" spinnt
Beitrag von: BikeArno am Februar 04, 2021, 13:34:32
Hallo Forum,

ich möchte aus zwei Tabellen eine Aktualisierungsabfrage eines Feldes umsetzen - aber ich bekomme es nur zur Hälfte hin. Im Anhang habe ich ein Beispiel dafür.

In der einen Haupttabelle stehen Originaleinträge für das Feld. Diese sollen nur dann mit den entsprechenden Feldeinträgen aus der Update-Tabelle überschrieben werden, wenn es dort Einträge gibt. Die meisten Zellen sind dort jedoch leer.

Mit der im Beispiel vorhandenen Abfrage mit den separaten funktioniert es auch. ABER nicht mehr in der Datenbank, in der diese Tabellen (neben anderen Tabellen und Abfragen) ebenfalls vorkommen. Dort werden mir immer alle Original-Einträge inkl. Leerzellen aus dem Update überschrieben. Als ob die Leerzellen als nicht leer gewertet würden.

Und hier komme ich nicht weiter. Wieso funktioniert das innerhalb der DB nicht, obwohl es doch separat geht? Was kann Ursache sein, was kann ich probieren. Bitte helft mir. Danke :-)

Titel: Re: Aktualisierungsabfrage mit "Is Not Null" spinnt
Beitrag von: ebs17 am Februar 04, 2021, 15:48:17
Zitatwas kann ich probieren
Prüfen, ob leer auch anderes als NULL enthalten könnte:
SELECT
   COUNT(*) AS alle,
   COUNT(Bundesland_K) AS BL,
   COUNT(Len(Bundesland_K) > 0) AS Inhalt,
   SUM(Bundesland_K IS NULL) * - 1 AS NL,
   SUM(Bundesland_K IS NOT NULL) * - 1 AS NNL
FROM
   2tbl_update
Titel: Re: Aktualisierungsabfrage mit "Is Not Null" spinnt
Beitrag von: BikeArno am Februar 04, 2021, 16:00:49

Danke, habe damit eine SQL-Abfrage ausgeführt. Ergebnis:
alle: 9558
BL: 9558
Inhalt: 9558
NL: 0
NNL: 9558

Was bedeutet das?
Titel: Re: Aktualisierungsabfrage mit "Is Not Null" spinnt
Beitrag von: ebs17 am Februar 04, 2021, 16:04:41
Zusammengefasst: Jeder Datensatz hat einen Inhalt. Eine Prüfung auf NOT NULL würde also kein abweichendes Ergebnis bringen.
Titel: Re: Aktualisierungsabfrage mit "Is Not Null" spinnt
Beitrag von: BikeArno am Februar 04, 2021, 16:10:44
Zitat von: ebs17 am Februar 04, 2021, 16:04:41Zusammengefasst: Jeder Datensatz hat einen Inhalt. Eine Prüfung auf NOT NULL würde also kein abweichendes Ergebnis bringen.

Tja, was heisst denn das für das o.g. Problem und wie löse ich das? Hat das vielleicht was damit zu tun, dass ich diese Tabelle mit einer Anfüge/Aktualisierungsabfrage befülle (auch die Leerzellen)?
Titel: Re: Aktualisierungsabfrage mit "Is Not Null" spinnt
Beitrag von: ebs17 am Februar 04, 2021, 17:52:41
Zitatdas o.g. Problem
... stellt sich bisher nur so dar, dass etwas anderes passiert als Du erwartest.

Also sollte man zum einen seine Erwartungen an die Realität anpassen und zum anderen die Realität an sich zu erkennen, also schauen, was man wirklich vor sich hat (Feldinhalte, zugehörige Felddefinitionen).

Wie auch: Du könntest Dich mit Arnostoner zusammenschalten: Felder in einer Tabelle überschreiben (http://www.office-loesung.de/p/viewtopic.php?f=167&t=858200)
Der hat zufällig gleichnamige Tabellen.
Titel: Re: Aktualisierungsabfrage mit "Is Not Null" spinnt
Beitrag von: BikeArno am Februar 04, 2021, 18:06:41
Update: Nach zwei Tagen Fehlersuche eines Laien - ein Zwischenstand, der vielleicht bei der gemeinsamen Fehlersuche weiterhilft:

Die Tabelle mit den Korrektureinträgen wird über eine Lösch/Anfüge/Aktualisierungsanfrage aktuell gehalten (Excel-Verknüpfung). Ich habe die Tabelle mit den Korrektureinträgen (also mit dem Feld, welches das Feld der Haupttabelle bei "0" überschrieben werden soll) einmal komplett gelöscht und reimportiert. Ergebnis: Es funktionierte die Abfrage, leere Zellen werden als solche erkannt! Aber nach der nächsten Lösch/Anfüge/Aktualisierung der Korrekturtabelle haatte ich das gleiche Ergebnis wie oben. Geht nicht ... Offenbar werden mit der Aktualisierung also alle leeren Felder irgendwie mit "leeren" Feldern überschrieben, die nicht als "Null" gewertet werden.

Wie gehe ich jetzt damit um? Wie kann ich diese Abfrage gestalten, dass sie das erwünschte Ergebnis bringt, auch nach der beschriebenen Tabellenaktualisierung???
Titel: Re: Aktualisierungsabfrage mit "Is Not Null" spinnt
Beitrag von: ebs17 am Februar 04, 2021, 18:21:39
ZitatExcel-Verknüpfung
Exceltabelle zum Lesen oder zum Schreiben?
In beiden Fällen gibt es Sonderzustände, abweichend von normalen Datenbanktabellen.

Zitatbei der gemeinsamen Fehlersuche
Naja,  bei Bröckcheninformationen würde ich eine Vokabel wie Gemeinsamkeit sehr im Hintergrund halten.
Titel: Re: Aktualisierungsabfrage mit "Is Not Null" spinnt
Beitrag von: MzKlMu am Februar 04, 2021, 18:50:47
Hallo,

siehe auch:
http://www.office-loesung.de/p/viewtopic.php?f=167&t=858200

und noch viele weitere Themen zum (fast) gleichen Sachverhalt.

Gemäß Forenregeln ist das zu unterlassen.
Titel: Re: Aktualisierungsabfrage mit "Is Not Null" spinnt
Beitrag von: BikeArno am Februar 04, 2021, 19:21:56
Zitat von: MzKlMu am Februar 04, 2021, 18:50:47Gemäß Forenregeln ist das zu unterlassen.

Danke für den Hinweis. Was schlagt ihr mir denn vor. Darf man also nur Fragen stellen, wenn man nicht zu blöd ist? Hat nicht jeder mal mit Access angefangen und dabei Probleme gehabt, an denen er verzweifelt ist? Gut, ich akzeptiere die Regel, aber sind denn in allen Foren nur die gleichen Meschen unterwegs? Warum gibt es dann verschiedene?

Der Link zu Office-Lösungen hilft mir leider nicht, da konkret dieses Problem dort nicht aktuell gelöst werden konnte. Und nur deshalb habe ich mich hier her gewandt. Ich weiß auch nicht, wen ich sonst fragen soll.

Ich würde dieses Thema dann hier belassen und hoffe ihr verstoßt mich nicht, sondern gebt mir eine Chance, das Problem zu lösen. ICh weiß, dass ihr das alles in eurer knappen Zeit macht und ich bin euch SEHR dankbar dafür.

Gruß Arno 
Titel: Re: Aktualisierungsabfrage mit "Is Not Null" spinnt
Beitrag von: MzKlMu am Februar 04, 2021, 19:25:18
Hallo,
Zitataber sind denn in allen Foren nur die gleichen Meschen unterwegs?
Ja, im wesentlichen.
Titel: Re: Aktualisierungsabfrage mit "Is Not Null" spinnt
Beitrag von: BikeArno am Februar 04, 2021, 19:31:48
Zitat von: ebs17 am Februar 04, 2021, 18:21:39Exceltabelle zum Lesen oder zum Schreiben?

Die Tabelle ist an eine Excel-Tabelle angebunden, die durch eine PowerQuery-Abfrage aus vier Excel-Tabellen geladen wird. Ich kann leider nichts zum Lesen oder Schreiben sagen - prüfe das aber gerne, wenn ich wüsste wie.
Titel: Re: Aktualisierungsabfrage mit "Is Not Null" spinnt
Beitrag von: BikeArno am Februar 05, 2021, 13:59:06
Habe inzwischen selbst eine mögliche Lösung des Problems gefunden. Falls andere User ähnliche Schwierigkeiten haben:

Das Feld mit den Korrekturen enthält, wie oben beschrieben, sehr viele Leerfelder. Diese Tabelle wurde mit PowerQuery generiert und in Access über eine Verknüpfung eingebunden. Danach wurden die Leerfelder nicht mehr als "leer" bzw. auch nicht als "NUll" (beides nicht) erkannt. Geholfen hat am Ende, direkt in PowerQuery die Leerzellen des Feldes mit einem alternativen Symbol oder Zeichen (z.B. 999) umzubenennen. Ins Kriterium der Access-Abfrage dann <>"999". Nun klappt es auch mit der Abfrage.

Danke für die obige Unterstützung. Gruß Arno