Locate findet doch den Datensatz mit dem Kriterium, du mußt also nicht für jeden Datensatz in der Tabelle ein Locate ausführen.
Ich würde Artikelgruppe in eine eigene Tabelle auslagern.
Ein Filter blendet alle Datensätze eines DataSets( TTable, TQuery) aus welche nicht dem Filter entsprechen.
Delphi-Quellcode:
Table.Filter := '<Filterbedingung>';
Table.Filtered := True;
Ein
Query kappselt eine
SQL-Abfrage auf einen Datenbestand ( Kann Daten aus mehreren Tabellen) mit einbeziehen.
Zitat:
Als Ergebnis will ich nun die Einträge aus Position 1 u. 3 in ein bsp. Array oder so einfügen.
Geht das?
Ja,
-als Table mit Filter =: T
able.Filter := 'Artikelname='''Testartikel''' and Artikelgruppe='''A Artikelgruppe''' and ( Position = 1 or Position = 3)';
-Als
Query:
Delphi-Quellcode:
Query.SQL.Text := '
Select * from <tabelle> where :artikelgruppe = :artgrp and Artikelname = :artikel'
and Position
in ( :pos)'
;
Query.ParamByName( 'artgrp'
) := 'A Arikelgruppe'
;
Query.ParamByName( 'artikel'
) := 'Testartikel'
;
Query.ParamByName( 'artgrp'
) := '1,3'
;
Query.Open;