Je pravda, že stále neviem na čo mi je dobrý variant record. Viem/pochopil, že všetky hodnoty ukladá na jedno miesto pamäte. Ale tá variantnosť mi stále uniká 
Ak potrebuješ napríklad 10 záznamov.
Dopredu však nevieš, ktorý z nich má aký typ.
Povedzme, že prichádzajú do úvahy:
Každý z tých typov tuším zaberá 8 bytov pamäti.
Ak by si chcel pokryť 10 záznamov neznámeho typu (presnejšie jedného z tých troch), potreboval by si teda
- 3 ( nevieš dopredu ktorý z typov ) x
- 8 (miesto, ktoré zaberá v pamäti) x
- 10 ( počet záznamov)
Spolu
240 bajtov.
Ak použiješ variantný záznam, stačí ti v tomto prípade:
- 1 (lebo variant, môžeš si vybrať aký typ použiješ, nepotrebuješ všetky tri) x
- 8 (miesto, ktoré zaberá v pamäti) x
- 10 ( počet záznamov)
Spolu iba
80 bajtov.
(+-. Možno niečo málo zaberie skrytá réžia)V tomto ideálnom prípade to teda dáš na tretinu (lebo všetky tri typy potrebujú akurát po 8 bajtov).
Čosi by si však ušetril aj keď by si potreboval kombinovať Byte, Integer, či SmallInt a pod.
Samozrejme počas využívania/napĺňania poľa, už musíš poznať typ. Takže sa prepínaš pomocou CASE
typ of.. To v oboch prípadoch. Variantný record tú informáciu typu nesie so sebou.
Konkrétne využitie:
- Databázy (pri čítaní SQL výsledkov)
- Excel (tam môžeš v stĺpci miešať jablká z hruškami)
Ak si používal ADO, tam všetky data išli cez Variant ( nie je to presne ten istý Variantný záznam ako sa tu riešil, ale pole Variantov ). Zmysel je podobný. Namiesto
XY.AsInteger použíješ
XY.Value. V prípade Value môže byť kľudne aj Blob.