Fórum pro uživatele kancelářského balíku OpenOffice | LibreOffice
 

#1 Re: Base » Fromulář » 15. 5. 2014 15:04:08

Tak jsem to zkoušel horem dolem, ale pořád nic. Jakmile tam je relace, tak editovat nelze.
Mám dvě tabulky A a B.
Tabulka A je hlavní a obsahuje primární klíč ID, pole ID_B a další pole s daty.
Tabulka B je pomocná obsahuje primární klíč ID (doplnil jsem ID_A, kde hodnoty ID = ID_A) a data.
- Když vytvořím dotaz z těchto dvou tabulek a chci získat všechny záznamy z tabulky A, tak vytvořím relaci mezi A.ID_B a B.ID (buď levé nebo pravé spojení) - pak však záznamy editovat nelze (zkoušel jsem to pro všechny typy spojení).
- Mimochodem, zkoušel jsem to i v návrhovém okně relací, ale tam nelze vytvořit jinou relaci než na primární klíč (vyskočí chyba).
- Zkusil jsem tedy vytvořit dotaz s relací A.ID_B a B.ID_A (ani jedno není primární klíč) - záznamy přesto editovat nelze.
SELECT "A".*, "B"."Data" FROM { OJ "B" RIGHT OUTER JOIN "A" ON "B"."ID_A" = "A"."ID_B" }
Z toho co jste psal, tak jsem nezkusil jedině to s tou hodnotou NULL, protože nevím jak a kde.
Napadá vás ještě něco v čem by mohla být chyba?
Poslal bych obrázek, ale nevím zda sem lze vložit.

#2 Re: Base » Fromulář » 13. 5. 2014 15:45:36

Ano jsou tam vazby na klíče. Zkusím to předělat a dám vědět jak to dopadlo.
Díky

#3 Re: Base » Fromulář » 13. 5. 2014 14:32:32

Tak jsem se právě zjistil, že problém je v tvorbě dotazu. Jakmile je v dotazu více tabulek a mezi nimi relace, tak nelze editovat žádné pole, které ten dotaz zobrazí.
Je to chyba Base nebo dělám chybu já?

#4 Re: Base » Fromulář » 13. 5. 2014 13:37:12

Asi se k tomu špatně vyjadřuji, ale v zásadě jste porozuměl o co mi jde. Určitě jsem neměl v úmyslu zpětnovazebně automaticky opravovat data v dotazu. V podstatě řeším ceník kde mám už nějaké předpokládané ceny za úkony, pak podle výkazu celkové ceny a ceny za jednotku chci porovnat zda předpokládaný čas na úkon odpovídá skutečnosti. Asi by bylo lepší mít ty tabulky dvě - v jedné to co se předpokládá a v druhé to co se uskutečnilo a pak to porovnávat. Ale problém je, že už ty data mám všechny pohromadě a záznamů je tam hodně někde údaj s předpokladem je jinde není a to samé na straně výkazu. Prostě mám obavu, že když bych to rozděloval tak v tom udělám binec.
Chtěl bych si jen ve formuláři zobrazit výpočet dat z výkazu a ručně ho opravit v poli předpokladu, proto ty tři sloupce.

#5 Re: Base » Fromulář » 11. 5. 2014 22:11:55

Dobrý den, chápal bych to když bych chtěl změnit hodnotu, která je použita v zobrazovaném výpočtu. Jestliže však použiju pro výpočet data ze dvou sloupců a chci opravit podle toho data ve třetím sloupci, tak by tomu nic nemělo bránit. No nic v Accesu asi před 10-ti lety jsem řešil něco podobného a tam šlo myslím zadat jako zdroj prvku formuláře přímo ten vzorec, ale už si to nepamatuji.
Napadlo mně že by to mohlo jít pomocí podformuláře, kde mohu zobrazit data z jiné tabulky/dotazu, jen nevím jak zařídit, aby se synchronizoval posun po záznamech v obou tabulkách. Tuším, že to asi nepůjde. Nebo snad jo?

#6 Re: Base » Fromulář » 10. 5. 2014 09:20:30

Dobrý den, děkuji za odpověď, ale asi to není to s čím mám problém, aliasu rozumím. Problém je v tom, že když postavím formulář na dotazu nelze v něm editovat data podkladní tabulky tohoto dotazu, takže buď mohu vidět původní i vypočtená data, ale nemohu nic změnit nebo vidím jen původní data, ale nevím jakou hodnotu mám změnit, protože nevidím to co je vypočteno.

S Base jsem zkoušel experimentovat cca před 5 lety, kdy ještě nebylo moc použitelné a s databázemi mám jen mírné zkušenosti (něco jsem dělal v Accesu)

Dík.

#7 Base » Fromulář » 8. 5. 2014 16:40:45

dehet
Odpovědí: 12

Dobrý den,
zkouším vytvořit formulář, který by umožňoval zobrazit kontrolní data (podíl dvou sloupců) a zároveň umožňoval zobrazit údaj z tabulky, který by byl editovatelný (oprava podle vypočteného údaje).

V nastavení dat pro formulář jsou tři možnosti:
1. data z tabulky - pak je pole editovatelné, ale nedovedu/nejde ve formuláři zobrazit data vypočtená
2. data z dotazu (pole nejsou editovatelná) (dotaz obsahuje výpočet a spojuje dvě tabulky, možná je chyba zde?)
3. data z SQL (pole nejsou editovatelná) (dotaz spojuje dvě tabulky, dtto)

Dovedl by někdo poradit jak na to?

Díky!

Zápatí

Používáme FluxBB