seřazení řádků v souboru   zodpovězená otázka

VB6/VBA

Zdravím, mám csv soubor ve kterém jsou data vypsány v tomto tvaru

jmeno;funkce;telefon;kancelář

Data v souboru mám seřazeny dle jména abecedně a potřebuji, aby na začátku souboru byly ty záznamy, které mají ve sloupečku kancelář uvedeno slovo účtárna, dále by pak bylo řazení záznamu zachováno dle abecedy

nahlásit spamnahlásit spam 1 / 1 odpovědětodpovědět

Dobrý den, možností je určitě několik. Například si můžete vytvořit uskupiny a každém záznamu jednu přiřadíte (např. účtárna bude skupina 1 a všichni ostatní budou skupina 2). Takže po načtení data nejdřív setřídíte podle skupin a pak podle abecedy v rámci každé skupiny.

nahlásit spamnahlásit spam 1 / 1 odpovědětodpovědět

nějaký skript mám, ale bohužel neumím VB, bylo by možné aby jsi mi ho poupravil

nahlásit spamnahlásit spam -3 / 3 odpovědětodpovědět

a bylo by možné aby jsi mi s tím skriptem pomohl ?

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Načetl bych data do dvourozměrného pole (záznam,udaj), přičemž bych použil ";" jako oddělovač. Poté využil objekt ListBox a jeho vlastnost Sorted a data předřídil a nakonec opět zapsal do souboru.

nahlásit spamnahlásit spam -1 / 1 odpovědětodpovědět

No nevím, jestli je to zrovna elegantní. Co takhle zkusit vytvořit např. ArrayList, naplnit ho objekty se dvěma vlastnostmi (zaznam, sort_udaj) a přes IComparable pak setřídit ?

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Uznávám, že to není elegantní ,ale funkční a jak jsem to zkoušel stačilo mi pět minut na naprogramování. A to jde, ne? :)

nahlásit spamnahlásit spam -1 / 1 odpovědětodpovědět

To, že něco funguje, neznamená, že je to správně a že by se to tak mělo dělat. ListBox je vizuální komponenta, na samotné setřídění dat ji nepotřebujete. Je hezké si umět poradit, ale když někdo navrhne vhodnější řešení (něco, co je na to určeno), tak se z něj poučte a nechoďte cestou "budu to dělat takhle, protože tkalhe už to umím a ono to nějak funguje".

To není přímo konkrétně na vás, ale tak obecně, protože to dělají skoro všichni.

nahlásit spamnahlásit spam 1 / 1 odpovědětodpovědět

Mrkněte na smajlík na konci mého příspěvku. Více nadhledu. Mimochodem jaké jsou tresty za pouzívání komponenty Listbox k třídění dat? :) (smajlík)

nahlásit spamnahlásit spam -3 / 3 odpovědětodpovědět

Potrestáte se sám tím, že sám sebe budete brzdit v získávání zkušeností. Taky to nesmíte vidět tak černobíle :)

nahlásit spamnahlásit spam 0 odpovědětodpovědět

.

nahlásit spamnahlásit spam 0 odpovědětodpovědět
                       
Nadpis:
Antispam: Komu se občas házejí perly?
Příspěvek bude publikován pod identitou   anonym.
  • Administrátoři si vyhrazují právo komentáře upravovat či mazat bez udání důvodu.
    Mazány budou zejména komentáře obsahující vulgarity nebo porušující pravidla publikování.
  • Pokud nejste zaregistrováni, Vaše IP adresa bude zveřejněna. Pokud s tímto nesouhlasíte, příspěvek neodesílejte.

přihlásit pomocí externího účtu

přihlásit pomocí jména a hesla

Uživatel:
Heslo:

zapomenuté heslo

 

založit nový uživatelský účet

zaregistrujte se

 
zavřít

Nahlásit spam

Opravdu chcete tento příspěvek nahlásit pro porušování pravidel fóra?

Nahlásit Zrušit

Chyba

zavřít

feedback