Access - parametrický dotaz
Access - parametrický dotaz
Jakým způsobem mám postupovat, pokud chci, abych při použití parametrického dotazu mohl vybrat hodnoty ze seznamu ? Děkuji za odpovědi.
-
- člen HW spec týmu
-
Elite Level 12
- Příspěvky: 16106
- Registrován: květen 08
- Bydliště: České Budějovice
- Pohlaví:
- Stav:
Offline
Re: Access - parametrický dotaz
Vítej na PC-HELP
Pokud uvedeš nějaký konkrétní případ, můžem to poskládat.
Jinak obecně, výběr jmena a prijmeni z tabulky Osoba, kde prijmeni zacinaji na M:
Pokud uvedeš nějaký konkrétní případ, můžem to poskládat.
Jinak obecně, výběr jmena a prijmeni z tabulky Osoba, kde prijmeni zacinaji na M:
Kód: Vybrat vše
SELECT
jmeno,
prijmeni
FROM Osoba
WHERE prijmeni LIKE 'm%'
Nikdy neříkej, že to nejde, protože se najde někdo, kdo o tom neví a udělá to!
Chcete si nechat sestavit nový počítač?
Chcete si nechat sestavit nový počítač?
Re: Access - parametrický dotaz
Jde mi o to, že když zadám při tvorbě dotazu do kritéria [Zadejte druh zdroje], tak při spuštění dotazu je uživatel vyzván, aby zadal např. "přednáška, seminář, kniha, časopis". To jsou údaje, které předtím jsou vyplněny v tabulce. Potřebuji, aby při spuštění dotazu uživateli nejen vyskočilo okno "Zadejte druh zdroje", ale aby mohl pouze vybrat z již zadaných údajů. Domnívám se, že by bylo řešení, že při spuštění dotazu by se uživateli ulázal formulář, kde by z ListBoxu vybral možnou položku a ta by se předala jako kritérium do dotazu.
-
- člen HW spec týmu
-
Elite Level 12
- Příspěvky: 16106
- Registrován: květen 08
- Bydliště: České Budějovice
- Pohlaví:
- Stav:
Offline
Re: Access - parametrický dotaz
Myšlenka zajímavá. Naposledy když jsem se o to v Access pokoušel, tak jsem narazil na zcela zásadní problém. Bez příslušných VBA procedur (pokud je to s nimy vůbec možné) neumí Access vazby mezi formuláři na úrovní Master/Slave. Tzn. z jednoho formuláře "Master" (nad konkrétní tabulkou z DB) se spouští PopUp další formulář "Slave" - na kterém se označí hodnota jako parametr (rovněž ideální, kdyby byly parametry zobrazené z nějaké DB tabuky), a tento parametr se nastaví nad původním formulářem a dojde ke spuštění filtru zobrazených dat.
Rád bych, pokud někdo něco podobného v Accessu dokáže, protože jediné řešení jsem zatím viděl jen v kombinaci ASP.NET + SQL. Takže otázka zní, zda umí někdo předat parametr dotazu z jiného, než aktivního formuláře.
Rád bych, pokud někdo něco podobného v Accessu dokáže, protože jediné řešení jsem zatím viděl jen v kombinaci ASP.NET + SQL. Takže otázka zní, zda umí někdo předat parametr dotazu z jiného, než aktivního formuláře.
Nikdy neříkej, že to nejde, protože se najde někdo, kdo o tom neví a udělá to!
Chcete si nechat sestavit nový počítač?
Chcete si nechat sestavit nový počítač?
Re: Access - parametrický dotaz
Co se týká "vazeb master - slave" - to se dá snad zajistit pomocí relací a příslušných tabulek. Jsem si jist že základní koncept relací je přímo aplikovatelný i na formuláře / podformuláře v Accessu bez nutnosti psát VBA. Na úrovni VBA a tedy maximální svobody a možností, jsem na tyto blbosti vždy používal DAO Recordset načítaný z v Accessu navrženého dotazu s parametrem a pak tím plnil např. pole se seznamem. Nebo není problém otevřít datový list na základě Accesovského dotazu.
-
- člen HW spec týmu
-
Elite Level 12
- Příspěvky: 16106
- Registrován: květen 08
- Bydliště: České Budějovice
- Pohlaví:
- Stav:
Offline
Re: Access - parametrický dotaz
Nenašel bys nějaký příklad mezi dvěma formuláři, kdy se jeden otevírá z druhého a a mají vlastní datové zdroje? Např formulář s dotazníkem, kde vybírám jméno z tabulky uživatelů (ne přes seznam)?
Nikdy neříkej, že to nejde, protože se najde někdo, kdo o tom neví a udělá to!
Chcete si nechat sestavit nový počítač?
Chcete si nechat sestavit nový počítač?
Re: Access - parametrický dotaz
A kam tvůj dotaz směřuje? Pokud to nejde na základě relací, pokud jsou tedy naprosto nezávislé, tak vždycky se na tom druhém formuláři dá udělat třebas datový list a ten naplnit daty na základě dotazu a parametru.
-
- člen HW spec týmu
-
Elite Level 12
- Příspěvky: 16106
- Registrován: květen 08
- Bydliště: České Budějovice
- Pohlaví:
- Stav:
Offline
Re: Access - parametrický dotaz
Jestli nemáš nějaký příklad, jak propojit dva formuláře mezi sebou. Master má na sobě odkaz na slave - např. máš na formuláři frmMaster (dat. zdroj obsahuje tabulku Dotaznik s polem idJmeno) položku Jméno. Můžeš jej buď dopsat (kontrola s DB tabulkou Users) nebo si otevřeš (tlačítko) popup formulář frmSlave s datovým zdrojem tabulky Users a polem idUsers, kde vybereš hodnotu, která se přenese (označení+tlačítko) do frmMaster > idUserJmeno a následně uloží do tabulky Dotaznik.
Jak jsem psal nahoře, mám schopnosti napsat to v ASP.NET formulářích, ale přímo na formulářích aplikace Access se mi to nepovedlo nikdy oddělit.
Jak jsem psal nahoře, mám schopnosti napsat to v ASP.NET formulářích, ale přímo na formulářích aplikace Access se mi to nepovedlo nikdy oddělit.
Nikdy neříkej, že to nejde, protože se najde někdo, kdo o tom neví a udělá to!
Chcete si nechat sestavit nový počítač?
Chcete si nechat sestavit nový počítač?
Re: Access - parametrický dotaz
Těžko říct jak bych to řešil bez relací - asi dotazem. Ale prostě proč nevytvořit relaci 1:N mezi tabulkami Dotaznik a Users. Přes primární klíč např. idUser, který by se ukládal v tabulce Dotaznik, s tím že noví uživatelé by se zadávali / vybírali na podformuláři postaveném na Users. Mám pocit že co popisuješ je typický příklad relace 1:N. Takhle se v Access automaticky "propojují" formulář a podformulář - na základě předem vytvořených relací mezi tabulkami v návrhu databáze. Nehledě na to že přímo v poli primární tabulky lze zobrazovat další odpovídající hodnoty ze sekundární tabulky odpovídající hodnotě primárního klíče.
Samozřejmě že na základě primárního klíče IDUser by pak bylo možné i záznamy na formuláři filtrovat to je jasné, pokud by ti šlo o to, aby jsi zobrazoval jen ono IDUser co si vybereš na Podformuláři.
edit: Pokud ti jde o přenesení hodnoty ze sekundární tabulky do primární přes formuláře, tak co vím tak to Access automaticky nemá zabudováno v návrhu formulářů... ale není problém napsat ve VBA Form![Pole] = Form![SubForm]![Pole] nebo podobně a je to...
Samozřejmě že na základě primárního klíče IDUser by pak bylo možné i záznamy na formuláři filtrovat to je jasné, pokud by ti šlo o to, aby jsi zobrazoval jen ono IDUser co si vybereš na Podformuláři.
edit: Pokud ti jde o přenesení hodnoty ze sekundární tabulky do primární přes formuláře, tak co vím tak to Access automaticky nemá zabudováno v návrhu formulářů... ale není problém napsat ve VBA Form![Pole] = Form![SubForm]![Pole] nebo podobně a je to...
-
- člen HW spec týmu
-
Elite Level 12
- Příspěvky: 16106
- Registrován: květen 08
- Bydliště: České Budějovice
- Pohlaví:
- Stav:
Offline
Re: Access - parametrický dotaz
edit: Pokud ti jde o přenesení hodnoty ze sekundární tabulky do primární přes formuláře, tak co vím tak to Access automaticky nemá zabudováno v návrhu formulářů... ale není problém napsat ve VBA Form![Pole] = Form![SubForm]![Pole] nebo podobně a je to...
A přesně o to mi jde. "Jak na to" nevím a ani jsem na několika Access řešeních toto neviděl. Tudíž jsem od toho dal ruce pryč.
Nikdy neříkej, že to nejde, protože se najde někdo, kdo o tom neví a udělá to!
Chcete si nechat sestavit nový počítač?
Chcete si nechat sestavit nový počítač?
-
- Mohlo by vás zajímat
- Odpovědi
- Zobrazení
- Poslední příspěvek
-
- 7
- 1657
-
od atari
Zobrazit poslední příspěvek
28 lis 2023 11:26
-
- 0
- 906
-
od _FalcoN_
Zobrazit poslední příspěvek
22 kvě 2023 19:21
-
-
Datový model - aktualizace po přidání dalšího sloupce do Access
od MK_Vs » 27 črc 2023 12:05 » v Kancelářské balíky - 0
- 1988
-
od MK_Vs
Zobrazit poslední příspěvek
27 črc 2023 12:05
-
-
- 5
- 1718
-
od petr22
Zobrazit poslední příspěvek
06 zář 2023 19:26
-
- 2
- 1021
-
od petr22
Zobrazit poslední příspěvek
18 úno 2024 21:25
Kdo je online
Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 3 hosti