Promotic
WikipediaLinkedInYoutubeTwitterFacebook

FindValue - metoda objektu PmDataTable

Popis:
Metoda nalezne řádek v daném sloupci, který má (nebo nemá) zadanou hodnotu.
Syntaxe:
FindValue(RowFrom As Long, vCol As Variant, Value As Variant, FindType As Long) As Long
Volání:
n = oDataTable.FindValue(RowFrom, vCol, Value, FindType)
Parametry:
RowFrom(Long) Číslo řádku, od kterého se má hledat (včetně tohoto řádku).

Hodnota >=0 znamená, že je to index řádku (indexováno od 0).

Hodnota -2 znamená poslední řádek.

vCol(Variant) Určení sloupce, ve kterém se mají porovnávat hodnoty řádků. Musí být typu String nebo celé číslo.

Pokud je String, pak je to název sloupce.

Pokud je celé číslo >=0, pak je to index sloupce (indexováno od 0).

Hodnota -2 znamená poslední sloupec.

Value(Variant) Hledaná hodnota. Datový typ této hodnoty by měl být stejný jako datový typ daného sloupce.
FindType(Long) Typ hledání. Pokud je 0, pak se hledá od zadaného řádku dále (včetně tohoto řádku) a hledá se řádek se stejnou hodnotou jakou má parametr Value. Následující hodnoty se mohou sčítat (pokud si logicky neodporují) a změnit tak typ hledání:
1 - Pokud je hodnotou text (datový typ String), tak například "abc" a "aBc" se považují za stejné texty (nerozlišuje velká/malá písmena).
2 - Pokud je hodnotou text (datový typ String), tak se porovnávají jen počáteční znaky v textech. Počet počátečních znaků je roven počtu znaků v hledané hodnotě (v parametru Value). Tzn. pokud je v hledané hodnotě text "abc", pak hodnoty s ním stejné jsou například texty: "abcxy", "abc", "abc xy", atd.
4 - Pokud je hodnotou text (datový typ String), tak se porovnává, zda je hledaná hodnota uvnitř textu buňky řádku. Tzn. pokud je v hledané hodnotě text "abc", pak hodnoty s ním stejné jsou například texty: "xyabcz", "abc", "xabc", atd. Tento typ hledání nelze kombinovat s typem 2.
8 - hledá se od zadaného řádku zpět (včetně tohoto řádku)
16 - hledá se řádek s hodnotou menší nebo rovno než hodnota parametru Value.
32 - hledá se řádek s hodnotou větší nebo rovno než hodnota parametru Value.
80 - hledá se řádek s hodnotou menší než hodnota parametru Value.
96 - hledá se řádek s hodnotou větší než hodnota parametru Value.
112 - hledá se řádek s hodnotou jinou než hodnota parametru Value.
Vrácená hodnota:
Pokud nalezne, pak vrací číslo nalezeného řádku. Když řádek nenalezne, vrací zápornou hodnotu.
Příklad:
Najdeme všechny řádky, které nemají v 0-tém sloupci text začínající na "hhcc" (nerozlišuje velká/malá písmena). Nalezené řádky se vypíší do položky Debug_info INFO systému.
Dim nF
nF = -1
Do
  nF = oDataTable.FindValue(nF+1, 0, "hHcC", 1+2+112)
  If nF>=0 Then Pm.Debug "Find row=" & nF
Loop While nF>=0
© MICROSYS, spol. s r. o.Tavičská 845/21 703 00 Ostrava-Vítkovice