Neuigkeiten:

Wenn ihr euch für eine gute Antwort bedanken möchtet, im entsprechenden Posting einfach den Knopf "sag Danke" drücken!

Mobiles Hauptmenü

Ausgewählte Datensätze kopieren und gleichzeitig Datum ändern

Begonnen von Tally, August 12, 2018, 19:53:31

⏪ vorheriges - nächstes ⏩

Tally

Hallo zusammen
Ich habe in einem Endlosformular inhaltlich pro Monat immer wiederkehrende Buchungen. Ich würde nun gerne alle Datensätze mit Stichtag 01.08. auswählen und in einem Zug kopieren und den Stichtag auf den 01.09. erhöhen (immer auf den 1. des Folgemonats). Alle anderen Inhalte des Datensatzes bleiben unverändert.
Vielen Dank für einen Lösungsvorschlag.
Gruss René

MzKlMu

Hallo,
Erstelle eine normale Abfrage die auf den Stichtag gefiltert wird. Darin ein Berechnetes Feld:
NeuerStichtag:DateAdd("m";1;Stichtag)
Diese Abfrage testest Du.
Wenn diese funktioniert wandelst Du diese in eine Anfügeabfrage um. Das Feld NeuerStichtag wird an Stichtag angefügt.
Abfrage speichern und per Doppelklick ausführen.

An einer Kopie der DB testen.
Gruß Klaus

Tally

Hallo Klaus
Vielen Dank. Es funktioniert beides, jedoch nur nacheinander. Möglicherweise habe ich Deine Angaben falsch verstanden. Mein Vorgehen war folgendes:
1. Erstellung der Abfrage mit NeuerStichtag:DateAdd("m";1;Stichtag) (hat funktioniert)
2. Umwandlung dieser Abfrage in eine Anfügeabfrage, Zähler und Stichtag gelöscht, NeuerStichtag an Stichtag angefügt (hat funktioniert)
Im Entwickermodus ist dies nachvollziehbar. Ich möchte aber für die Endnutzung diesen Vorgang an eine Schaltfläche binden und hier komme ich nicht weiter. Wie kann ich das Resultat der ersten Abfrage so speichern, dass ich dieses für die zweite (Anfügeabfrage) wieder verwenden kann, d.h. nacheinander im selben Durchgang? Hoffe, das ich mich nicht allzu kompliziert ausgedrückt habe.

Besten Dank; Gruss René


MzKlMu

Hallo,
das hast Du etwas missverstanden. Die 1.Abfrage war nur ein Hilfsmittel zur Erstelleung und Test der Anfügeabfrage. Diese Abfrage darf nicht gespeichert werden, sondern nur umgewandelt. Es gibt also nur eine Abfrage, nämlich die Anfügeabfrage. Der Ablauf ist also so:
1. Erstellung der Abfrage mit NeuerStichtag:DateAdd("m";1;Stichtag) nicht speichern sondern
2. direkte Umwandlung dieser Abfrage in eine Anfügeabfrage.

Wie hast Du Dir das gedacht mit dem Button ?
Wo soll der Stichtag herkommen der um einen Monat zu erhöhen ist ?
Soll der aus dem Formular genommen werden ?

Zeige hier mal den SQL Code der direkt umgewandelten Anfügeabfrage.
Gruß Klaus

Tally

Hallo Klaus
Der SQL-Code der ersten Abfrage lautet:
SELECT [Vergleichswert-Ziele].Zähler, [Vergleichswert-Ziele].Zielart, [Vergleichswert-Ziele].Stichtag, [Vergleichswert-Ziele].DurchschnittCH, [Vergleichswert-Ziele].BenchmarkCH, [Vergleichswert-Ziele].aktiv, DateAdd("m",1,[Stichtag]) AS NeuerStichtag
FROM [Vergleichswert-Ziele]
WHERE ((([Vergleichswert-Ziele].Stichtag) Like [geben Sie den gewünschten Zielwert ein:]));

Der SQL-Code für die Anfügeabfrage sieht wie folgt aus:
INSERT INTO [Vergleichswert-Ziele] ( Zielart, DurchschnittCH, BenchmarkCH, aktiv, Stichtag )
SELECT [Vergleichswert-Ziele].Zielart, [Vergleichswert-Ziele].DurchschnittCH, [Vergleichswert-Ziele].BenchmarkCH, [Vergleichswert-Ziele].aktiv, DateAdd("m",1,[Stichtag]) AS NeuerStichtag
FROM [Vergleichswert-Ziele];
Gruss
René

MzKlMu

Hallo,
das entspricht aber nicht meinem Vorschlag. Die Abfrage1 darf es so nicht geben. Deren Where Kalusel gehört in die Anfügeabfrage.
Diese Abfarge mit einem Namen speichern.
Und dann für den Button:
CurrentDb.Execute "AnfügeAbfrageName", dbFailOnError
Gruß Klaus

Tally

Hallo Klaus
Hab's hinbekommen. Die finale Abfrage sieht bei mir so aus:
INSERT INTO [Vergleichswert-Ziele] ( Zielart, DurchschnittCH, BenchmarkCH, aktiv, Stichtag )
SELECT [Vergleichswert-Ziele].Zielart, [Vergleichswert-Ziele].DurchschnittCH, [Vergleichswert-Ziele].BenchmarkCH, [Vergleichswert-Ziele].aktiv, DateAdd("m",1,[Stichtag]) AS NeuerStichtag
FROM [Vergleichswert-Ziele]
WHERE ((([Vergleichswert-Ziele].Stichtag) Like [geben Sie das gewünschte Datum ein:]));

Vielen Dank für Deine Unterstützung.
Gruss René