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.