Einzelnen Beitrag anzeigen

Benutzerbild von MrSpock
MrSpock
(Co-Admin)

Registriert seit: 7. Jun 2002
Ort: Owingen
5.865 Beiträge
 
Delphi 2010 Professional
 
#19
  Alt 17. Jun 2003, 10:43
Hallo Gambit,

das habe ich befürchtet.
Das liegt daran, dass deine Einträge nicht alle gleich lang sind und die kürzeren Einträge nicht mit führenden Nullen oder Blanks aufgefüllt sind.

In diesem Fall, solltest du in der Query die MAX Funktion weglassen:

Select Regalnummer FROM DVDBank WHERE Regalnummer LIKE '%E' Du erhälst dann eine Datenmenge aller auf E endenden Regalnummern. Diese durchläufst du in einer Schleife:

Delphi-Quellcode:
while Not Query2.Eof do
begin
  { Wert ermitteln }
  Query2.Next
end;
Beim "Wert ermitteln" schneidest du das E ab:

Delphi-Quellcode:
try
  regNr := Query2.FieldByName('RegalNummer').AsString;
  Delete(regNr, length(regNr-1, 1);
  wert := StrToInt(regNr);
except
   { Fehler: RegalNr ist keine Nummer! }
end;
Wenn der so entdeckte Wert größer ist, als der soweit gefundene, dann ist es das (temporäre) Maximum.
Albert
Live long and prosper


MrSpock
  Mit Zitat antworten Zitat