< návrat zpět

MS Excel


Téma: Vyhledání dat rss

Zaslal/a 18.11.2020 15:05

Dobrý den,

rád bych požádal o pomoc se zadáváním a vyhledáním dat ve VBA. Na listu Home se mi spustí formulář, který umí vyhledat data dle pole "Sp.Zn." Vložte např. do pole Sp.Zn. hodnotu z Databaee sloupce D.

1) Úplně nahoře formuláře v oranžovém poli bych potřeboval nastavit výběr Úkonu podle listu ČÍSELNÍKY. Tj. Pokud se vybere "Žádost o povolení zk", tak aby se v políčku Úkon vybíralo jen z buněk C2:C16, pokud se vybere Typ Změna, pak bude Úkon k výběru z C17:C31 a pokud se byvere Typ Kontrola, pak se bude vybírat Úkon z C32:C37. Číselník lze jakkoli rozšířit / upravit.

2) každý zápis se uloží jako nový řádek. To je požadavek klienta. Když se vyhledává dle Sp.Zn., tak se vždy berou hodnoty z posledního řádku, obsahující Sp.Zn. To je správně. Formulář ale obsahuje list Kontroly, kde je Kontrola 1 - 3. Např. hodnota pole z listu Kontrola 1 - Datum oznámení se uloží do Database sloupce AV. Když by nastala Kontrola 2, v poli Úkon se vybere Oznámení o kontrole 2 a ve formuláři v listu Kontrola 2 se zapíše hodnota z pole datum oznámení do sloupce database - AV. To je správně.
Potřeboval bych ale nastavit vyhledání dle Sp.Zn. tak, aby se v listu Kontrola 1 vypsaly hodnoty z AV z řádku o kontrole 1 a do listu Kontrola 2 vypsala hodnota z AV z příslušného řádku o kontrole 2. Datové rozhraní databáze nelze upravit. není možné přidávat další sloupce.

Děkuji za případnou úvahu a pomoc.

Zaslat odpověď >

Strana:  1 2 3 4 5   další »
#048924
avatar
A čím to asi bude, že tomu prd rozumiem? 6citovat
#048927
elninoslov
Predpokladám, že ste priložil súbor s prílohou XLSM. Ale taký súbor fórum nezoberie. Musíte ho zabaliť do ZIP, ktorý je do cca 256 KB.citovat
#048938
avatar
Omlouvám se, nevšiml jsem si, že xlsm se nepřipojil. Zde to je.
Příloha: zip48938_kz.zip (69kB, staženo 18x)
citovat
#048940
avatar
Bod 1 např. takto:
Private Sub cmbTypZadosti_Change()
Dim oblast As Range, bunky As Range
Dim index1 As Integer, index2 As Integer
Dim nastavit As Boolean

Set oblast = Range("B2:B37") 'oblast Typ žádosti"
nastavit = True

index1 = 0
index2 = 0

For Each bunky In oblast 'prochází všechny buňky v oblasti
If cmbTypZadosti.Value = bunky.Value Then
If nastavit Then
index1 = bunky.Row
nastavit = False
End If
index2 = bunky.Row
End If
Next

cmbUkon.RowSource = "C" & index1 & ":C" & index2

End Sub
Příloha: zip48940_kz.zip (63kB, staženo 16x)
citovat
#048943
avatar
Ad1) Jiří497, děkuji, ale ten kód mi nefungoval.
Nakonec jsem předělal strukturu číselníků a vložil i nový kód, který funguje.
Private Sub cmbTypZadosti_Change()

Select Case cmbTypZadosti.Value
Case Is = "Žádost o povolení zk"
cmbUkon.RowSource = "ŽádostOPovoleníZK"
Case Is = "Změna"
cmbUkon.RowSource = "ZměnaZkoušky"
Case Is = "Kontrola"
cmbUkon.RowSource = "Kontrola"
End Select

End Sub

Problém ale je, že když vyberu kombinaci a kliknu na uložit, tak se nic nestane a formulář mi přeskočí na začátek. Až na 2. kliknutí na uložit se vše uloží tak, jak má. Nevíte náhodou proč tomu tak je?

Ad2) Nevíte náhodou, jak dohledat požadované hodnoty?
Příloha: zip48943_kz.zip (66kB, staženo 13x)
citovat
#048944
avatar
Samozřejmě že to nefungovalo. Neurčil jsem z kerého listu se to má načítat:
Set oblast = Worksheets("ČÍSELNÍKY").Range("B2:B37")

cmbUkon.RowSource = "ČÍSELNÍKY!C" & index1 & ":C" & index2

Školácká chyba:)citovat
#048946
avatar
Jiří497, stále je tam chyba, viz obrázek.
Ale již není třeba řešit. Jak jsem psal, přišel jsem na jiné řešení.
Pokud byste byl tak laskav a poradil s bodem 2. Je to stěžejní.
V případě, že bude vyplněny řádky:
Kontrola - Oznámení o kontrole 1 a v sloupci AV bude hodnota
a zároveň bude vyplněn řádek Kontrola - Oznámení o kontrole 2 a v sloupci AV bude hodnota,
pak bych potřeboval, aby se při spuštění formuláře a vyhledání daného SpZn vyplnilo políčko:
oznamenikontroly1 (hodnotu čerpat z řádku Kontrola - Oznámení o kontrole 1 a sloupce AV) a zároveň se dohledala i hodnota do políčka oznamenikontroly2 (hodnota je v řádku Kontrola - Oznámení o kontrole 2, sloupec AV)
Příloha: jpg48946_chyba.jpg.jpg (44kB, staženo 27x)
48946_chyba.jpg.jpg
citovat
#048947
avatar
ad 2) Přiložte soubor, kde je vložena kontrola 1, kontrola 2 a kontrola 3 včetně hodnot, které se mají načíst do formuláře.
Hodnoty pro kontrolu 1 - 3 odlište barevně.
Není mi to moc jasné.citovat
#048948
avatar
Vyzkoušejte, jestli pojede toto:
Příloha: zip48948_kopie-kz.zip (63kB, staženo 14x)
citovat
#048949
avatar
Mrknu na to ale až večer.
Možná někdo jiný bude rychlejší.citovat

Strana:  1 2 3 4 5   další »

Uživatelské menu

Nejste přihlášen(a)
avatar\n

Menu

Formulář Faktura

Formulář Faktura IV

Oblíbený formulář Faktura byl vylepšen a rozšířen.
Více se dočtete zde.

Helios iNuvio

Používáte podnikový systém Helios iNuvio? Potřebujete pomoci se správou nebo vyvinout SQL proceduru? Více informací naleznete na stránce Helios iNuvio.

On-line nástroje