thomas1972
Goto Top

Access 2010. per SQL Tabelle ändern.

Hallo,

ich stehe vor einem kleinen Problem.
Wie bekomme ich es hin, wenn in einer Tabelle einer Spalte ein Datumswert steht und sollte dieses Datum >heute sein, soll in einer anderne Spalte ein Wort eingetragen werden
jetzt kommt es aber zu einer Bedingung
Sollte das Datumswert und ein weitere Datumswert >heute sein ,dann soll, ein anderes Wort stehen.
Beispiel

Tabelle1
Werte
A -> Text
B -> Datum
C -> Datum
D -> Text

Wenn in B Datum >heute, dann D = "angelegt",
wenn B & C <=heute, dann D = "OK-GO"
wenn B <heute und C>heute, dann "VOR GO"
wenn B Datum = "", dann D = "Nicht vorhanden"

Vielleicht kann mir hier jemand mit einem SQL string helfen

Content-ID: 217616

Url: https://administrator.de/forum/access-2010-per-sql-tabelle-aendern-217616.html

Ausgedruckt am: 11.04.2025 um 07:04 Uhr

colinardo
colinardo 23.09.2013 aktualisiert um 12:39:04 Uhr
Goto Top
Hallo thomas1972,
das kannst du in Access mit einem Switch-Statement in einer SQL-Update-Abfrage erreichen: Hierbei ist TABELLE der Name deiner Tabelle
UPDATE TABELLE SET TABELLE.D = Switch([TABELLE]![B]>Date(),"angelegt",[TABELLE]![B]<Date() And [TABELLE]![C]<Date(),"OK-GO",[TABELLE]![B]<Date() And [TABELLE]![C]>Date(),"VOR GO",[TABELLE]![B]="","Nicht vorhanden");
Du kannst den Code z.B. in der SQL-Ansicht einer Update-Abfrage einfügen. Die Namen der Spalten "B" und "C" musst du natürlich auch anpassen.

Grüße Uwe
Biber
Biber 23.09.2013, aktualisiert am 25.09.2013 um 20:19:48 Uhr
Goto Top
Moin thomas1972,

warum willst du denn die redundanten Information in der Tabelle sprechern?

Du kannst doch diese Werte jederzeit bei einen Lese-Select erzeugen lassen - wenn du es "UPDATEn" wolltest, dann musst du ja das Update-Statement jeden Tag (inclusive Feiertage und Wochenenden) über die gesamte Tabelle schrapeln lassen, weil sich das Vergleichskriterium "heute"/Date() naturgemäß so ziemlich täglich ändert.
In Schaltjahren sogar einmal öfter als in anderen Jahren.

Du kannst doch colinardos Ansatz auch zum Basteln einer "virtuellen Spalte" verwenden - bei M$ heisst es glaube ich "berechnete Spalte".

Grüße
Biber