AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Laufende Nummer per SQL Update möglich?
Thema durchsuchen
Ansicht
Themen-Optionen

Laufende Nummer per SQL Update möglich?

Ein Thema von HCB · begonnen am 29. Mai 2023 · letzter Beitrag vom 2. Jun 2023
Antwort Antwort
Seite 1 von 2  1 2      
HCB

Registriert seit: 12. Feb 2020
172 Beiträge
 
Delphi 12 Athens
 
#1

Laufende Nummer per SQL Update möglich?

  Alt 29. Mai 2023, 12:44
Datenbank: Access • Version: 2003 • Zugriff über: SQL / Delphi FireDac
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
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.453 Beiträge
 
Delphi 12 Athens
 
#2

AW: Laufende Nummer per SQL Update möglich?

  Alt 29. Mai 2023, 16:09
Dein Code verändert auch die 0. Versuch es mal hiermit.
update StckList set StckListLfdNr = StckListLfdNr-1 where StckListNr ='1013030AND StckListLfdNr > 2;
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
HCB

Registriert seit: 12. Feb 2020
172 Beiträge
 
Delphi 12 Athens
 
#3

AW: Laufende Nummer per SQL Update möglich?

  Alt 30. Mai 2023, 16:12
Hallo Uwe,
mit dem SQL script erhalten alle Artikel den gleichen wert. Es wird nicht durchnummeriert.

LG Harry
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.453 Beiträge
 
Delphi 12 Athens
 
#4

AW: Laufende Nummer per SQL Update möglich?

  Alt 30. Mai 2023, 16:24
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.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
HCB

Registriert seit: 12. Feb 2020
172 Beiträge
 
Delphi 12 Athens
 
#5

AW: Laufende Nummer per SQL Update möglich?

  Alt 30. Mai 2023, 16:34
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
  Mit Zitat antworten Zitat
Benutzerbild von Phoenix
Phoenix
(Moderator)

Registriert seit: 25. Jun 2002
Ort: Hausach
7.640 Beiträge
 
#6

AW: Laufende Nummer per SQL Update möglich?

  Alt 30. Mai 2023, 16:43
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.
Sebastian Gingter
Phoenix - 不死鳥, Microsoft MVP, Rettungshundeführer
Über mich: Sebastian Gingter @ Thinktecture Mein Blog: https://gingter.org
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.071 Beiträge
 
Delphi 12 Athens
 
#7

AW: Laufende Nummer per SQL Update möglich?

  Alt 30. Mai 2023, 18:09
[deleted]
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.

Geändert von himitsu (30. Mai 2023 um 18:10 Uhr) Grund: ups, verlaufen
  Mit Zitat antworten Zitat
TigerLilly
Online

Registriert seit: 24. Mai 2017
Ort: Wien, Österreich
1.205 Beiträge
 
Delphi 11 Alexandria
 
#8

AW: Laufende Nummer per SQL Update möglich?

  Alt 30. Mai 2023, 18:50
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
Google spuckt dazu zB dieses aus:
https://www.huegemann-informatik.de/...ccess-tabellen

Bzw DCount
https://support.microsoft.com/de-de/...a-11a64acbf3d3

Hilft das?

Geändert von TigerLilly (30. Mai 2023 um 18:52 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von blawen
blawen

Registriert seit: 1. Dez 2003
Ort: Luterbach (CH)
677 Beiträge
 
Delphi 12 Athens
 
#9

AW: Laufende Nummer per SQL Update möglich?

  Alt 30. Mai 2023, 19:03
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?
Roland
  Mit Zitat antworten Zitat
jobo

Registriert seit: 29. Nov 2010
3.072 Beiträge
 
Delphi 2010 Enterprise
 
#10

AW: Laufende Nummer per SQL Update möglich?

  Alt 30. Mai 2023, 22:15
Als reines SQL suchst Du nach einem korrelierten Update (correlated Update).

Hier ist soetwas für Access aufgeführt(Englisch).
https://stackoverflow.com/questions/...uery-in-access

..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.
Gruß, Jo
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:38 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz