![]() |
Datenbank: Access • Version: 2003 • Zugriff über: SQL / Delphi FireDac
Laufende Nummer per SQL Update möglich?
Hallo, ich versuche die Datensätze in einer Stückliste zu aktualisieren z.B wenn ein Datensatz gelöscht wurde.
Beispiel: Datensatz 1 StckListLfdNr 0 Datensatz 2 StckListLfdNr 1 Datensatz 3 StckListLfdNr 2 usw. wenn ich jetzt den Datensatz 2 lösche sollte aktualisiert werden, damit es dann so aussieht: Datensatz 1 StckListLfdNr 0 Datensatz 3 StckListLfdNr 1 Irgendwie funktioniert es hiermit nicht: update StckList set StckListLfdNr = StckListLfdNr-1 where StckListNr ='1013030'; Wenn jemand mir auf die Sprünge helfen kann wäre ich sehr dankbar, da ich blutiger Anfänger bin. LG Harry |
AW: Laufende Nummer per SQL Update möglich?
Dein Code verändert auch die 0. Versuch es mal hiermit.
SQL-Code:
update StckList set StckListLfdNr = StckListLfdNr-1 where StckListNr ='1013030' AND StckListLfdNr > 2;
|
AW: Laufende Nummer per SQL Update möglich?
Hallo Uwe,
mit dem SQL script erhalten alle Artikel den gleichen wert. Es wird nicht durchnummeriert. LG Harry |
AW: Laufende Nummer per SQL Update möglich?
Es wird damit auch nicht durchnummeriert, sondern die nur die Lücke geschlossen. Wenn die Nummerierung vorher nicht stimmt, dann nach dem Script natürlich auch nicht.
Generell wäre ein Beispiel zum Reproduzieren empfehlenswert. |
AW: Laufende Nummer per SQL Update möglich?
Kann man denn generell einfach z.B. 10 Datensätze per Access-SQL durchnummerieren lassen?
Wenn ja, wie würde das SQL aussehen? LG Harry |
AW: Laufende Nummer per SQL Update möglich?
Du brauchst ein Kriterium nachdem Du die Datensätze sortieren kannst.
Und dann kannst Du ROW_NUMBER() verwenden um die Zeilennummer der Sortierten Liste (innerhalb des Queries) zu erhalten und damit dann die Laufende Nummer neu zu befüllen. |
AW: Laufende Nummer per SQL Update möglich?
[deleted]
|
AW: Laufende Nummer per SQL Update möglich?
Zitat:
![]() Bzw DCount ![]() Hilft das? |
AW: Laufende Nummer per SQL Update möglich?
Wenn ich es richtig interpretiere, geht es um eine Stückliste, bei welcher die jeweils nächste freie Positionsnummer vergeben, bzw. die Sortierung angepasst werden soll.
Meistens sind doch Positionsnummern auch noch mit anderen Dokumenten/Zeichnungen verknüpft. Spielt dies in Deinem Fall keine Rolle? |
AW: Laufende Nummer per SQL Update möglich?
Als reines SQL suchst Du nach einem korrelierten Update (correlated Update).
Hier ist soetwas für Access aufgeführt(Englisch). ![]() ..UPDATE VendorRegKeys INNER JOIN Users.. In Deinem Fall wäre es ungefähr ein Selfjoin. Du brauchst ein Select, das alle die Datensätze wiedergibt, die Du updaten möchtest. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:30 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