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
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
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
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
2 Kommentare
Neuester Kommentar
Hallo thomas1972,
das kannst du in Access mit einem Switch-Statement in einer SQL-Update-Abfrage erreichen: Hierbei ist TABELLE der Name deiner Tabelle
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
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");
Grüße Uwe
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
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