Nummer aus Abfrage generieren
Moderator: Moderatoren
-
- **
- Beiträge: 42
- Registriert: Mi, 08.03.2017 20:46
Nummer aus Abfrage generieren
Hallo Forum,
ich habe es geschafft anhand der ID eine zusätzliche Nummer in einer Abfrage zu generieren (RG.NR)
besteht denn die Möglichkeit das diese RG.Nr noch den Zusatz bekommt aus Spalte "Datum " und zwar nur das Jahr .
Es soll hinterher so aussehen RG-0038/2017
RG-0041/2017
Liebe Grüße
Marco
ich habe es geschafft anhand der ID eine zusätzliche Nummer in einer Abfrage zu generieren (RG.NR)
besteht denn die Möglichkeit das diese RG.Nr noch den Zusatz bekommt aus Spalte "Datum " und zwar nur das Jahr .
Es soll hinterher so aussehen RG-0038/2017
RG-0041/2017
Liebe Grüße
Marco
- Dateianhänge
-
- RG-Nr.jpg (264.66 KiB) 9072 mal betrachtet
Re: Nummer aus Abfrage generieren
Moin,
wenn du die Abfrage hier im SQL Mode gepostet hättest, wäre es einfacher gewesen:sollte funktionieren.
Gruß R
wenn du die Abfrage hier im SQL Mode gepostet hättest, wäre es einfacher gewesen:
Code: Alles auswählen
'RG-'||REPEAT(0,4-LENGTH("ID"))||"recID"||' / '||YEAR("Datum") AS "RG.Nr"
Gruß R
- miniKasse MMove 1.0.6 Base Videotutorial
- Windows 10: AOO, LO Linux Mint: AOO, LO
-
- **
- Beiträge: 42
- Registriert: Mi, 08.03.2017 20:46
Re: Nummer aus Abfrage generieren
Hallo R
perfekt, macht was es soll.
Kann man das auch so einstellen , das er im nächsten Jahr wieder bei 1 anfängt
z.Bsp RG-0001/2018
Vielen Dank nochmal
Gruß
Marco
perfekt, macht was es soll.
Kann man das auch so einstellen , das er im nächsten Jahr wieder bei 1 anfängt
z.Bsp RG-0001/2018
Vielen Dank nochmal
Gruß
Marco
Re: Nummer aus Abfrage generieren
Ja, das geht, du kannst von der aktuellen ID die Maximale des Vorjahres abziehen.Marco Schade hat geschrieben: ↑Di, 11.04.2017 20:39 Kann man das auch so einstellen , das er im nächsten Jahr wieder bei 1 anfängt
Gruß R
- miniKasse MMove 1.0.6 Base Videotutorial
- Windows 10: AOO, LO Linux Mint: AOO, LO
-
- **
- Beiträge: 42
- Registriert: Mi, 08.03.2017 20:46
Re: Nummer aus Abfrage generieren
Hallo R,
danke für die Antwort.
Ich kann die Maximale ID der Jahre auslesen, aber ich bekomm es einfach nicht die Maximale ID des Vorjahres einzeln auszulesen.
Hast Du da einen Tip.
LIebe Grüße Marco
danke für die Antwort.
Ich kann die Maximale ID der Jahre auslesen, aber ich bekomm es einfach nicht die Maximale ID des Vorjahres einzeln auszulesen.
Hast Du da einen Tip.
LIebe Grüße Marco
Re: Nummer aus Abfrage generieren
Alle MAX_IDs aller Jahre:
Gruß R
Code: Alles auswählen
SELECT MAX( "ID" ) "MAX_ID", YEAR( "Datum" ) "MAX_YEAR" FROM "Tabelle1" GROUP BY YEAR( "Datum" )
- miniKasse MMove 1.0.6 Base Videotutorial
- Windows 10: AOO, LO Linux Mint: AOO, LO
-
- **
- Beiträge: 42
- Registriert: Mi, 08.03.2017 20:46
Re: Nummer aus Abfrage generieren
Hallo R,
das habe ich schon hinbekommen nur den Vorschlag von dir von der aktuellen ID die Maximale des Vorjahres abziehen , das will nicht funktionieren
Marco
das habe ich schon hinbekommen nur den Vorschlag von dir von der aktuellen ID die Maximale des Vorjahres abziehen , das will nicht funktionieren
Marco Schade hat geschrieben: ↑
Di, 11.04.2017 20:39
Kann man das auch so einstellen , das er im nächsten Jahr wieder bei 1 anfängt
Liebe GrüßeJa, das geht, du kannst von der aktuellen ID die Maximale des Vorjahres abziehen.
Marco
Re: Nummer aus Abfrage generieren
Tja, das ist ja blöd, geht aber.
Vielleicht läßt du uns an deinen Versuchen teilhaben, und lädst sie hier hoch, dann mag dir vielleicht jemand einen weiteren Tipp geben?
Ohne erkennbare Eigeninitiative deinerseits, bin ich wenig motiviert.
Gruß R
- miniKasse MMove 1.0.6 Base Videotutorial
- Windows 10: AOO, LO Linux Mint: AOO, LO
-
- **
- Beiträge: 42
- Registriert: Mi, 08.03.2017 20:46
Re: Nummer aus Abfrage generieren
Hallo R ,
Ja ich kann dich verstehen,
Ich habe die Beispieldatei mal angehangen in Abfrage Rechnung2 Habe ich die höchste ID des Jahres ausgelesen, ab er ich weis nicht, wie ich die ID des Vorjahres absprechen soll und die in die Formel einbauen soll .
Liebe Grüße Marco
Ja ich kann dich verstehen,
Ich habe die Beispieldatei mal angehangen in Abfrage Rechnung2 Habe ich die höchste ID des Jahres ausgelesen, ab er ich weis nicht, wie ich die ID des Vorjahres absprechen soll und die in die Formel
Code: Alles auswählen
'RG-' || REPEAT( 0, 4 - LENGTH( "ID" ) ) || "ID" || ' / ' || YEAR( "Datum" )
Liebe Grüße Marco
- Dateianhänge
-
- Datenbank 14.04.2017.odb
- (249.15 KiB) 152-mal heruntergeladen
-
- **
- Beiträge: 42
- Registriert: Mi, 08.03.2017 20:46
Re: Nummer aus Abfrage generieren
Hallo zusammen,
ich habe es jetzt geschafft die höchste ID des Vorjahres auszulesen , jetzt habe ich nur leider keine Idee , wie ich die höchste Id des Vorjahres abziehen kann in Abhängigkeit vom Datum. Damit die Rechnungsnummer im neuen Jahr wieder bei 1 beginnt.
Über eure Hilfe würde ich mich sehr freuen
Liebe Grüße Marco
ich habe es jetzt geschafft die höchste ID des Vorjahres auszulesen , jetzt habe ich nur leider keine Idee , wie ich die höchste Id des Vorjahres abziehen kann in Abhängigkeit vom Datum. Damit die Rechnungsnummer im neuen Jahr wieder bei 1 beginnt.
Über eure Hilfe würde ich mich sehr freuen
Liebe Grüße Marco
- Dateianhänge
-
- Datenbank 15.04.2017.odb
- (249.54 KiB) 135-mal heruntergeladen
Re: Nummer aus Abfrage generieren
Es geht schrittweise:
1. Abfrage für das Vorjahr 01_RECHNUNGEN
2. Abfrage für die höchste Rechnungsnummer je Jahr 02_MAX_YEAR_ID
3. Erzeugung der Rechnungsnummern 03_RECHNUNGSNUMMERN
4. Beschreibbare Abfrage der Rechnungen mit Rechnungsnummer 04_RECHNUNGSNUMMERN_BESCHREIBBAR
Damit das ganze funktioniert, darf keine ID fehlen, wie in deiner DB, in der nach der 16 die 82 kommt. Das passiert wenn man bereits erzeugte Datensätze löscht, die Auto ID zählt weiter hoch.
Korrigieren kann man das über Extras/SQL... z.B. so:wobei die 20 die nächste ID ist, und genau eins größer als die letzte ID.
Ausserdem sollte die ID bei 1 beginnen, damit die erste Rechnungsnummer auch die 0001 ist.so werden alle IDs um eins erhöht.
Gruß R
1. Abfrage für das Vorjahr 01_RECHNUNGEN
Code: Alles auswählen
SELECT "ID", "Datum", YEAR( "Datum" ) - 1 AS "LAST_YEAR" FROM "Rechnung"
Code: Alles auswählen
SELECT MAX( "ID" ) "MAX_ID", YEAR( "Datum" ) "MAX_YEAR" FROM "Rechnung" GROUP BY YEAR( "Datum" )
Code: Alles auswählen
SELECT
"ID",
'RG-' || REPEAT( 0, 4 - LENGTH( "ID" - IFNULL( "MAX_ID", 0 ) ) ) || "ID" - IFNULL( "MAX_ID", 0 ) || '/' || YEAR( "Datum" ) AS "RG.Nr."
FROM
"01_RECHNUNGEN"
LEFT OUTER JOIN
"02_MAX_YEAR_ID"
ON
"LAST_YEAR" = "MAX_YEAR"
Code: Alles auswählen
SELECT
"ID",
"Datum",
"KundeID",
"ZahlDatum",
"Gedruckt",
"Rechnungsbetrag",
"Rabatt%",
( SELECT "RG.Nr." FROM "03_RECHNUNGSNUMMERN" WHERE "ID" = "Rechnung"."ID" ) AS "RG.Nr"
FROM
"Rechnung"
Korrigieren kann man das über Extras/SQL... z.B. so:
Code: Alles auswählen
ALTER TABLE "Rechnung" ALTER "ID" RESTART WITH 20
Ausserdem sollte die ID bei 1 beginnen, damit die erste Rechnungsnummer auch die 0001 ist.
Code: Alles auswählen
UPDATE "Rechnung" SET ID = ID+1
Gruß R
- Dateianhänge
-
- Datenbank 15.04.2017.odb
- (23.39 KiB) 141-mal heruntergeladen
- miniKasse MMove 1.0.6 Base Videotutorial
- Windows 10: AOO, LO Linux Mint: AOO, LO
-
- **
- Beiträge: 42
- Registriert: Mi, 08.03.2017 20:46
Re: Nummer aus Abfrage generieren
Hallo R,
vielen lieben Dank, es funktioniert wiedereinmal perfekt.
Danke
Liebe Grüße
Marco
vielen lieben Dank, es funktioniert wiedereinmal perfekt.
Danke
Liebe Grüße
Marco