![]() |
Datenbank: Paradox • Zugriff über: TQuery, TDataSource
PosNummern in Rechnungsdaten
Tabelle: Rechnungsdaten
Feld: PosNr (n)umerisch Hallo, die Rechnungsdaten (Artikel) werden in einem DBGrid angezeigt. Jeder Artikel erhält eine fortlaufende PosNr 1.0 Artikel1 2.0 Artikel2 3.0 Artikel3 ...
Delphi-Quellcode:
Problem:
TFRechnungen.QueryRechnungsdatenAfterInsert(DataSet. TDataSet);
begin //PosNr hochzählen with DataSet do if QueryRechnungsdaten.FieldByName('PosNr').IsNull then QueryRechnungsdaten.FieldByName('PosNr').AsInteger := NextKey('PosNr', 'Rechnungsdaten'); end; Mit dem ersten Artikel in einer neuen Rechnung muß die PosNr wieder bei 1.0 starten. Wie bitte erreiche ich das? Gruß Lombi |
Re: PosNummern in Rechnungsdaten
Was steckt hinter NextKey?
Ggf mußt du diese Funktion anpassen. |
Re: PosNummern in Rechnungsdaten
Delphi-Quellcode:
Gruß
function NextKey (fldName, tblName: String): Integer;
begin with TQuery.Create do begin DatabaseName := QueryRechnungen.DatabaseName; SQL.Text := Format('SELECT MAX(%s) FROM %s', [fldName, tblName]); Open; Result: succ(Fields[0].AsInteger); Close; end; Lombi |
Re: PosNummern in Rechnungsdaten
SQL-Code:
SELECT MAX(PosNr) FROM RechPos where RechPos.RechNr = RechNr;
|
Re: PosNummern in Rechnungsdaten
Hallo mkinzler,
danke für den Code, aber damit erhalte ich leider keine Veränderung. Die PosNr wird in einer neuen Rechnung einfach weiter hochgezählt und fängt nicht wieder bei PosNr. 1.0 für den ersten angelegten Artikel an. Grüße Lombi |
Re: PosNummern in Rechnungsdaten
Zitat:
Poste mal dei Metadaten der Tabelle. |
Re: PosNummern in Rechnungsdaten
Rechnungsdaten-Tabelle:
RechnungsNr I(nteger) PosNr N(umerisch) ArtNr A(lphanumerisch) ArtBez A(lphanumerisch) ArtBez2 A(lphanumerisch) Datum D(ate) Anzahl N(umerisch) EinzelPreis N(umerisch) GesamtPreis N(umerisch) MwSt N(umerisch) Rabatt N(umerisch) QueryRechnungsdaten DataSource: DataSourceRechnungen SQL.Text : SELECT * FROM Rechnungen WHERE RechnungsNr= :RechnungsNr; |
Re: PosNummern in Rechnungsdaten
Setze mal für RechnungsNr eine nicht vorhandene ein. Was bekommst du als Ergebnis der Max()-Funktion?
|
Re: PosNummern in Rechnungsdaten
Ungültiger Feldname.
Ich habe zusätzlich eine Query auf die Form gelegt: Name: QueryPosNr DataSource: DataSourceRechnungsdaten SQL.Text: SELECT MAX(PosNr) FROM Rechnungsdaten WHERE Rechnungsdaten.RechnungsNr = RechnungsNr; |
Re: PosNummern in Rechnungsdaten
SQL-Code:
SELECT MAX(PosNr)
FROM Rechnungsdaten WHERE Rechnungsdaten.RechnungsNr = 999999; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:52 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz