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-Key: 217616

Url: https://administrator.de/contentid/217616

Printed on: April 19, 2024 at 13:04 o'clock

Member: colinardo
colinardo Sep 23, 2013 updated at 10:39:04 (UTC)
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
Member: Biber
Biber Sep 23, 2013, updated at Sep 25, 2013 at 18:19:48 (UTC)
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