jhaustein
Goto Top

Laufendende Nummer im Bericht

Hallo Gemeinschaft,

ich habe in einer Tabelle Reservierungen Datensätze - wenn eine Reservierung - - also der Abreisetag - länger als eine Woche her ist, dann wird in manchen Fällen eine Gutschrift geschrieben, für den Eigentümer einer Ferienimmobilie - nun brauche ich für die Erstellung dieser Abrechnung eine laufende Nummer - habe dafür eine weitere Tabelle angelegt tblGTNummer - dort würde vor der Erstellung der Abrechnung die Höchste Nummer mir holen und diese plus 1 in die Abrechnung schreiben wollen - weiss nur nicht, wie ich die Nummer in den Bericht bekomme- weil auch nicht jeder Datensatz eine Gutschrift bekommt - sonst hätte ich die id genommen

Content-Key: 2092968090

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

Printed on: May 11, 2024 at 00:05 o'clock

Member: em-pie
em-pie Mar 08, 2022 updated at 12:31:01 (UTC)
Goto Top
Moin,

recht dürftig deine Infos.
ich gehe mal davon aus, dass du einen MS SQL-Server "unten drunter" nutzt und deine Belege via SQL-Statements mit Daten gefüllt werden.

SELECT
  ...
  , [BELEGNR] = (Select TOP 1 (tblGTNummer.Nummer + 1) from tblGTNummer order by NUMMER desc)
  , ...
FROM
 Gutschriften

WHERE
 dies = 'jenes'  

Problem hierbei:
Du wirst so ohne weitere NIE die Nummer in deiner tblGTNummer erhöhen.

Mit was werden deine Buchungen verwaltet, also mit welchem Programm?
Kannst du Funktionen erstellen und nutzen?
Falls Ja müsstest du eine Funktion etablieren die folgendes macht (logischer Ansatz)

Hole die letzte Nummer aus tblGTNummer
Erhöhe diese Nummer um einen
Schreibe den neuen Wert in die tblGTNummer
gebe den neuen Wert zurück

Du musst natürlich sicherstellen, dass in den paar Millisekunden kein anderer eine Gutschrift erzeugen will.

Gruß
em-pie
Member: jhaustein
jhaustein Mar 08, 2022 at 12:34:48 (UTC)
Goto Top
ich arbeite mit Access
Member: em-pie
em-pie Mar 08, 2022 updated at 12:37:02 (UTC)
Goto Top
Wird für jede Gutschrift ein eigener Datensatz in einer Tabelle "Gutschriften" angelegt?
Und wird verhindert, dass jemand einen Datensatz (versehentlich) löschen kann?
Member: jhaustein
jhaustein Mar 08, 2022 updated at 12:55:33 (UTC)
Goto Top
so sieht die Tabelle aus

id__GNummer__Reservierungsnummer___Notiz

und ja - es wird für jede gutschrift ein ds angelegt

aber eben nicht für jede Reservierung

und ja - ds kann nicht gelöscht werden - dafür das Feld Notiz
Member: em-pie
em-pie Mar 08, 2022 at 13:07:49 (UTC)
Goto Top
so sieht die Tabelle aus
Welche Tabelle? Die der Gutschriften oder die der Reservierungen?

Kannst du mal ein paar fingierte Beispiele geben, aus denen das eindeutig ersichtlich wird?
Member: jhaustein
jhaustein Mar 08, 2022 at 13:12:02 (UTC)
Goto Top
Okay - ich habe eine Tabelle Reservierungen

id_Reservierungsnummer_Objektnr_Kundennr_Anreisetag_Abreisetag_abgerechnetam.....


und

meine Gutschriftentab

id__GNummer__Reservierungsnummer___Notiz
Member: em-pie
em-pie Mar 08, 2022 at 13:17:17 (UTC)
Goto Top
dann ist das doch eine popelige Aufgabe, welche ich dir oben schon geschrieben habe

SELECT
  ...
  , [BELEGNR] = (Select TOP 1 (tblGTNummer.Nummer + 1) from tblGTNummer order by NUMMER desc)
  , ...
FROM
 Gutschriften

WHERE
 dies = 'jenes'  
und die Belegnummer speicherst du halt fest ab. der nächste Beleg wird die neue Nummer ermitteln , um 1 erhöhen, apspeichern und gut.
Member: jhaustein
jhaustein Mar 08, 2022 at 13:19:44 (UTC)
Goto Top
... und ich habe eine Abfrage - diese zeigt mir die DS an, welche eine Gutschrift erhalten werden - Gutschrift ist eine Überweisung von uns für einen Eigentümer eines Hauses) - diese Tabelle wird abgearbeitet und dabei werden die Berichte ausgefüllt - ich benötige nun die fortlaufende Gutschriftsnummer aus der Tabelle Gutschriften und würde dann auch gerne die Reservierungsnummer in das entsprchende Feld in der Tab Gutschriften zurück schreiben
Member: jhaustein
jhaustein Mar 08, 2022 at 13:21:08 (UTC)
Goto Top
ja, bloss wie bekomme ich es in den Bericht und wie die Reservierungsnummer wieder in die Tab Gutschriften
Member: jhaustein
jhaustein Mar 08, 2022 at 13:26:01 (UTC)
Goto Top
im Bericht habe ich eine Datensatzquelle - in der bekomme ich aber nicht die höchste Nummer + 1 aus der Gutschriftentabelle
Member: jhaustein
jhaustein Mar 09, 2022 updated at 08:50:05 (UTC)
Goto Top
Hallo Gemeinschaft

ich weiss überhaupt nicht mehr, was ich da noch machen kann

habe mal eine neue db ertellt mit einer Tabelle1

in der Tabelle1
id_wert
1___4
2___5
3___6

nun habe ich einen Bericht erstellt und dort ein Textfeld

dann habe ich in das Textfeld als Datenherkunft

=DLookup("[wert]","Tabelle1","id=1") oder so
=DLookup("[wert]","Tabelle1","[id]=1")

da bekomme ich einen syntax Fehler

ich wäre schon weiter, wenn ich bei jedem Berichtsaufruf den höchsten Wert aus der Tabelle1 bekommen könnte - dann wäre ich auch in der Lage, mit diesem Wert weiter zuarbeiten
Member: jhaustein
jhaustein Mar 09, 2022 at 08:47:49 (UTC)
Goto Top
bekomme folgenden Fehler
Der von Ihnen eingegebene Ausdruck ist sytaktisch falsch ...
Member: em-pie
em-pie Mar 09, 2022 at 08:49:51 (UTC)
Goto Top
https://www.techonthenet.com/access/functions/domain/dmax.php

so müsste es auch mit DSLookup funktionieren.
Und noch mal: poste doch endlich mal Screenshots (anonymisiert)
Member: jhaustein
jhaustein Mar 09, 2022 at 08:51:49 (UTC)
Goto Top
anbei der screenshoot aus access
20220309
Member: jhaustein
jhaustein Mar 09, 2022 at 08:52:58 (UTC)
Goto Top
hier die tabelle
20220309a
Member: jhaustein
jhaustein Mar 09, 2022 at 08:54:20 (UTC)
Goto Top
fehlermeldung
20220309b
Mitglied: 1915348599
1915348599 Mar 09, 2022 updated at 09:07:03 (UTC)
Goto Top
Falsches Trennzeichen ...
=DomErsterWert("[Wert]";"Tabelle1";"[ID]=1")  
Member: jhaustein
jhaustein Mar 09, 2022 at 09:07:52 (UTC)
Goto Top
habe auch gerade gelesen, dass domwert mein freund ist - wie würdest du es machen, um den höchsten wert auszulesen
Mitglied: 1915348599
1915348599 Mar 09, 2022 updated at 09:15:08 (UTC)
Goto Top
Zitat von @jhaustein:

habe auch gerade gelesen, dass domwert mein freund ist
Wieso dann alle 2 Minuten ein überflüssiger Post?, Einfach mal in sich gehen und etwas länger lesen dann kommt das von ganz alleine ...
- wie würdest du es machen, um den höchsten wert auszulesen
=DomMax("[Wert]";"Tabelle1")  
RTFM!
DMin-Funktion und DMax-Funktion

screenshot
Member: jhaustein
jhaustein Mar 09, 2022 at 09:13:42 (UTC)
Goto Top
lieben dank