jensgebken

Access - Vertausche Zellenwerte

Hallo Gemeinschaft,

habe eine Access Tab mit folgendem Problem

die Tab sieht so ähnlich aus

id__Datum___Gas___Wasser__Strom

nun ist mir im Script anfänglich ein Fehler passiert beim Füllen der Tabelle

ich muss nun bis Datum 31.10.2023 prüfen, ob die Werte bei Strom höher sind als bei Gas - wen dem nicht so ist, müssen die beiden Werte vertauscht in die Tabelle geschrieben werden

könnt ihr dabei helfen
Auf Facebook teilen
Auf X (Twitter) teilen
Auf Reddit teilen
Auf Linkedin teilen

Content-ID: 7652336108

Url: https://administrator.de/forum/access-vertausche-zellenwerte-7652336108.html

Ausgedruckt am: 03.06.2025 um 07:06 Uhr

StefanKittel
StefanKittel 26.06.2023 um 10:00:58 Uhr
Goto Top
Moin,

ja, da gibt es mehrere Wege.
Welcher für Dich funktioniert hängt von Deinen Fähigkeiten ab.

Zuerst ein Backup erstellen!

a) Visual Bassic (VBA)
Alle Datensätze durchgehen und wenn erforderlich die jeweiligen Werte in das richtige Feld schreiben.

b) Abfrage mit Hilfsspalte
Eine Abfrage erstellen wo Strom>Gas ist und die Werte in zwei Hilfsspalten GasNeu und StromNeu schreiben.
Dann eine Abfrage erstellen der diese Spalten in die andere Spalte schreibt.

c) Abfrage mit Hilfstabelle
Eine Abfrage erstellen welche die Werte in eine neue Tabelle schreibt.
Dann die alte Tabelle löschen

d) Excel
Alles nach Excel kopieren und von Hand bearbeiten.
Dann die Tabelle löschen und von der Excel-Datei importieren.

e) Werte von Hand korrigieren

Stefan
jensgebken
jensgebken 26.06.2023 um 10:21:02 Uhr
Goto Top
Danke - a) bekomme ich hin - dachte es gäbe nur eine elegantere query ohne hilfstabelle
jensgebken
jensgebken 26.06.2023 um 11:26:47 Uhr
Goto Top
--- mist doch nicht - dachte es geht wie in excel - kann mir bitte jemand helfen vba - wie so eine schleife aussehen müsste
7426148943
Lösung 7426148943 26.06.2023 aktualisiert um 12:26:41 Uhr
Goto Top
Da braucht es keine Hilfstabelle ... Einfach ne SQL Update Abfrage erstellen ...
UPDATE Zählerstände 
SET Gas = Strom, Strom = Gas
WHERE ((Gas > Strom) AND (Datum <= #10/31/2023#));

Zeppel
em-pie
Lösung em-pie 26.06.2023 um 12:17:59 Uhr
Goto Top
Moin,

ACCESS kann ja auch SQL Queries:

Als allererstes BACKUP erstellen!

Danach
UPDATE myTable 
SET 
  Strom = CASE WHEN Strom > Gas THEN Gas ELSE Strom END
  , Gas = CASE WHEN Strom > Gas THEN Strom ELSE Gas END
WHERE Datum <= '31.10.2023'  

Alles ungetestet, aber das sollte i. d. R. funktionieren
StefanKittel
StefanKittel 26.06.2023 um 12:35:18 Uhr
Goto Top
Zitat von @jensgebken:
Danke - a) bekomme ich hin - dachte es gäbe nur eine elegantere query ohne hilfstabelle
Es geht auch mit einer Query. Aber hier gilt KISS. Keep it simple stupid. Der Mehraufwand mit backup, testen, wiegt Deinen Anwendungsfall nicht auf. Und wenn Du es aus dem Ärmel geschüttelt hättest, hättest Du ja nicht gefragt.
jensgebken
jensgebken 26.06.2023 um 13:29:53 Uhr
Goto Top
Herzlichen Dank für die Hilfestellung