Moja tabela w bazie (dla uproszczenia) wygląda tak:
- ID (INT)
- Cena (INT)
- Ilosc (INT)
- Suma (INT)
W formularzu mam możliwość edytowania wszystkich pól, ale chciałbym, aby pole "Suma" mi się automatycznie generowało z pół Ilosc*Cena. Da się tak zrobić?
Ustawianie pola obliczając inne pole
Ustawianie pola obliczając inne pole
OpenOffice 3.1 na Gentoo Linux
Re: Ustawianie pola obliczając inne pole
Da się zrobić poprzez kwerendę:
SELECT "id" AS "id", "nazwa" AS "nazwa", "ilosc" AS "ilosc", "cena" AS "cena", "ilosc" * "cena" AS "wartosc" FROM "towar"
Nie trzeba wpisywać ręcznie można wyklikać przez kreatora a na końcu dodać pole "ilość" * "cena".
W formularzu zmieniasz ustawienia pola "wartość" na "wymagana wartość: NIE", "możliwość edycji: NIE"
(+ zał.)
PS
Napisałeś "suma" ja to nazwałem z rozpędu "wartość" (ilość * cena).
Plik *.odb spakowałem zipem bo forum ma blokadę ładowania załączników bazodanowych.
SELECT "id" AS "id", "nazwa" AS "nazwa", "ilosc" AS "ilosc", "cena" AS "cena", "ilosc" * "cena" AS "wartosc" FROM "towar"
Nie trzeba wpisywać ręcznie można wyklikać przez kreatora a na końcu dodać pole "ilość" * "cena".
W formularzu zmieniasz ustawienia pola "wartość" na "wymagana wartość: NIE", "możliwość edycji: NIE"
(+ zał.)
PS
Napisałeś "suma" ja to nazwałem z rozpędu "wartość" (ilość * cena).
Plik *.odb spakowałem zipem bo forum ma blokadę ładowania załączników bazodanowych.
- Załączniki
-
- wartosc.odb.zip
- (8.71 KiB) Pobrany 359 razy
OOo3.1.1 na Ubuntu 9.04
Re: Ustawianie pola obliczając inne pole
Przez niedopatrzenie. Odblokowałemforum ma blokadę ładowania załączników bazodanowych
JJ
LO (24.2|7.6) ∙ Python (3.12|3.11|3.10) ∙ Unicode 15 ∙ LᴬTEX 2ε ∙ XML ∙ Unix tools ∙ Linux (Rocky|CentOS)
LO (24.2|7.6) ∙ Python (3.12|3.11|3.10) ∙ Unicode 15 ∙ LᴬTEX 2ε ∙ XML ∙ Unix tools ∙ Linux (Rocky|CentOS)
Re: Ustawianie pola obliczając inne pole
Z tego co pamiętam to rozwiązywanie tego typu problemów przez kwerendy miało wiele niedoskonałości... Można to zrobić jakoś inaczej?
OpenOffice.org 3.1, Windows Vista/XP
Re: Ustawianie pola obliczając inne pole
"Inaczej" tzn. inaczej wewnątrz silnika bazy czy "inaczej" poza silnikiem?
Można wykonać działanie z poziomu makra:
- pobierz wartości z danego rekordu bazy
- przypisz je do zmiennych BASICa
- wykonaj działanie
- wynik przypisz do danego rekordu bazy
Tylko co wtedy z uaktualnianiem danych?
Wewnątrz silnika można próbować jeszcze poprzez tabelę wirtualną (nie sprawdzałem):
Wydaje mi się, że przez kwerendę jest najprościej i najbardziej naturalnie.
Można wykonać działanie z poziomu makra:
- pobierz wartości z danego rekordu bazy
- przypisz je do zmiennych BASICa
- wykonaj działanie
- wynik przypisz do danego rekordu bazy
Tylko co wtedy z uaktualnianiem danych?
Wewnątrz silnika można próbować jeszcze poprzez tabelę wirtualną (nie sprawdzałem):
Kod: Zaznacz cały
SELEC VIEW "tab_wirt" as SELECT "pole" FROM "tabela"
OOo3.1.1 na Ubuntu 9.04