![]() |
Datensatz angenähert finden
Hi,
es geht um folgendes: ich suche einen Datensatz, weiß aber nicht ob er Nr. 10000 hat oder 11000. Weiß ich die Nr. genau und gebe diese manuell ein, so finde ich sie direkt. Wenn ich sie nun knapp verfehle, will ich vor und zurück blättern. Das geht ja auch mit next und prior, sofern ich alle Datensätze zur Verfügung habe. Für eine einzige Nr. ist das aber überflüssig. Wie machen das die anderen hier ? Soll ich einen Index auf das Suchfeld legen, ein zweites Datset oder wie ? Es geht um eine praktikable Lösung. |
Re: Datensatz angenähert finden
vielleicht so:
SQL-Code:
weis nicht ob der syntax stimmt , aber between sollte das sein was du suchst.
select *
from Tabelle where Nr 10000 between 11000 raik bevor mir robert wieder um die ohren haut
SQL-Code:
:mrgreen:
beetween 10000 And 11000
|
Re: Datensatz angenähert finden
ein Lösungsansatz wäre:
SQL-Code:
so erhält man die 10 der Nummer am nächsten kommenden Datensätze
SELECT * FROM tabelle ORDER BY ABS(<eingegebene Nummer> - Nr) ASC LIMIT 10
|
Re: Datensatz angenähert finden
hmmm, hmmm. Suche ich das ? :gruebel: Nee. 8) Habe ich mich verhauen und 10.000 ist in Wirklichkeit 99.999, was dann ? Intuitiv würde ich sagen : lege einen Index auf das Feld. Wer weiß also mehr ?
|
Re: Datensatz angenähert finden
hallo hansa,
was willst du mit einem Index erreichen. ein index dient dazu nur eindeutige werte in deiner db zu zulassen, oder die Suchgeschwindigkeit zu erhöhen. gehen wir von deinem letzten beispiel aus findest du den fehler schneller, wenn du einen Index drauflegst :mrgreen: der index sollte dir hier auch nicht helfen. raik |
Re: Datensatz angenähert finden
Zitat:
|
Re: Datensatz angenähert finden
versuche doch deine Suche mit anderen Begriffen weiter einzuschränken.
wenn du wie immer nur stückchenweise mit deinem problem rausrückst, kann dieser thread noch eine weile dauern :mrgreen: mfg raik :dance: edit: oder lege doch einen erweiterten index fest, der über mehrere Table felder geht; |
Re: Datensatz angenähert finden
Was ist denn mit dem 2. Dataset ? Das erste für direkte Eingabe und das zweite für alles über ein Feld (Spalte) ?
|
Re: Datensatz angenähert finden
Ich habe jetzt ein DBgrid für Kontrollzwecke auf die Form gelegt. Der positioniert sich aber immer auf die erste Zeile. Wenn ich die Nr. direkt eingebe und das DBgrid bzw. Dataset wäre auf diesen Datensatz positioniert, tja das wärs dann wohl. Der Rest wäre Kleinkram.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:14 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