Pomocí MS Access, mám tabulku s názvem "Místa" a tabulku s názvem "Trasy". Chci vytvořit formulář, který bude v podstatě současné trasy tabulky pro uživatele (já.e vyberte "z" a vyberte "k") a budou filtrovat "na" umístění na základě toho, co uživatel zvolil pro "z" místo, tj. kaskádové combo box. Odpovídající "Trasy.ID" budou uloženy do výsledné tabulky na vyplnění formuláře.
Umístění má následující sloupce -
ID | Jméno | Poznámky |
---|---|---|
1 | Londýn | Velká Británie |
2 | Manchester | Velká Británie |
3 | Alabama | Spojené státy |
Trasy má následující sloupce -
ID | From_LID | To_LID | KM | Poznámky |
---|---|---|---|---|
1 | 1 | 2 | 450 | Pomocí M1 trasu |
2 | 2 | 1 | 450 | Pomocí M1 trasu |
3 | 1 | 2 | 485 | Použití uvnitř trasy |
4 | 2 | 1 | 485 | Použití uvnitř trasy |
5 | 1 | 3 | 5450 | Příliš daleko, aby zvážila |
6 | 3 | 1 | 5450 | Příliš daleko, aby zvážila |
Chci vytvořit formulář s css combo box - "ComboFrom", "ComboTo". Kde "ComboFrom", bude vyhledávat v tabulce pro seznam různých IDs, a pomocí spojení s místy, tabulka, mohu zobrazit místo jména. "ComboTo" je závislé na ID hodnotu v "ComboFrom" a bude proto vrátit pouze seznam míst, kde to odpovídá From_LocationID tras stolu.
Já mám první část více či méně hotovo. ComboFrom má na níže uvedený dotaz:
SELECT DISTINCT Location.Location_ID, Location.[Location Name], Location.Description
FROM Location INNER JOIN Route ON Location.Location_ID = Route.From_LID
ORDER BY Location.[Location Name];
ComboTo má na níže uvedený dotaz:
SELECT Location.Location_ID, Location.[Location Name], Location.Description, Route.From_LID
FROM Location INNER JOIN Route ON Location.Location_ID = Route.To_LID
WHERE (((Route.From_LID)=[Forms]![fmrRoute1]![From_LID]))
ORDER BY Location.[Location Name];
Ten kus kódu v "Kde" klauzule v ComboTo pole v podstatě dostane na vstup ID z ComboFrom a výstupy správné Id z odpovídajících To_LID seznamu. Pak jsem přidat vba proti aktualizace akcí pro ComboFrom na znovuspustitdotaz ComboTo pole.
Co mám potíže s přemýšlením, je způsob, jak získat příslušné trasy-ID se zobrazí správně. jsem.e když jsem si vybrat "1" pro ComboFrom, a "3" pro ComboTo, Trasa ID by mělo ukázat, "5" a "7" (kde "7" je nový rekord v Trasách tabulka). Mám zvláštní dotaz, který chcete vyhledat ComboFrom a ComboTo a vrátit výsledné Trasy ID? Pokud ano, jak to mám udělat, a připojit ji do pole ve formuláři, který se automaticky aktualizuje pokaždé, když ComboFrom a ComboTo pole změnit?
Existuje lepší způsob, jak dělat to, co jsem se snaží udělat?
Díky předem za jakoukoli pomoc!