Strona 1 z 1

prośba o pomoc - formularz z relacyjnymi tabelami i bieżąca

: czw lut 02, 2012 11:55 pm
autor: gatto
Mam do was ogromną prośbę. Od jakiegoś czasu próbuję stworzyć relacyjną bazę danych z formularzami ale nie potrafię przeskoczyć dwóch rzeczy
1. mam tabelę z osobami i drugą z jakąś tam oceną tych osób - jedna osoba może mieć wiele ocen no i teraz mając już wypełnioną tabelę z osobami chciałabym mieć taki formularz by u góry była rozwijana lista z osobami z pierwszej tabeli a po wybraniu osoby automatycznie id_osoby z tabeli osób przepisywało się do id_osoby w tabeli ocen a resztę wypełniałoby się ręcznie
próbowałam kombinować na wiele sposobów z formularzem i podformularzem ale coś mi nie wychodzi
2. chciałabym by przy wypełnianiu formularza datę można było edytować ale by domyślnie po otworzeniu formularza data była bieżąca tj z danego dnia, wiem, że to trzeba zrobić przez makro ale kompletnie nie wiem jak to zrobić, znalazłam w sieci coś takiego
"ALTER TABLE "YourTable" ALTER COLUMN "DateField" DEFAULT CURRENT_DATE;
ALTER TABLE "YourTable" ALTER COLUMN "TimeField" DEFAULT CURRENT_TIME;
ALTER TABLE "YourTable" ALTER COLUMN "DateTimeField" DEFAULT CURRENT_TIMESTAMP;"
ale jak próbuję to wpisać w zdarzenia to wywala mi błędy i nie chce działać
Dodam, że na samym sql się w miarę znam (pracowałam z mysql i php) ale openoffice, szczególnie makra to dla mnie dość nowy temat a muszę do pracy zrobić taką bazę.
Pomożecie????

Re: prośba o pomoc - formularz z relacyjnymi tabelami i bież

: ndz lut 05, 2012 12:51 pm
autor: Jan_J
gatto pisze:[...]znalazłam w sieci coś takiego
"ALTER TABLE "YourTable" ALTER COLUMN "DateField" DEFAULT CURRENT_DATE;
ALTER TABLE "YourTable" ALTER COLUMN "TimeField" DEFAULT CURRENT_TIME;
ALTER TABLE "YourTable" ALTER COLUMN "DateTimeField" DEFAULT CURRENT_TIMESTAMP;"
ale jak próbuję to wpisać w zdarzenia to wywala mi błędy i nie chce działać
Mi też.

Re: prośba o pomoc - formularz z relacyjnymi tabelami i bież

: pn lut 06, 2012 2:29 am
autor: Arghil
Poprawna składnia jest ciut inna*):

Kod: Zaznacz cały

ALTER TABLE "Nazwa tabeli" ALTER COLUMN "Nazwa kolumny" SET DEFAULT "wartość domyślna"};
czyli powinno raczej być tak:

Kod: Zaznacz cały

ALTER TABLE "YourTable" ALTER COLUMN "DateField" SET DEFAULT CURRENT_DATE;
ALTER TABLE "YourTable" ALTER COLUMN "TimeField" SET DEFAULT CURRENT_TIME;
ALTER TABLE "YourTable" ALTER COLUMN "DateTimeField" SET DEFAULT CURRENT_TIMESTAMP;
*) - Wątek w tym temacie na OO en

Re: prośba o pomoc - formularz z relacyjnymi tabelami i bież

: wt lut 07, 2012 9:47 pm
autor: gatto
Dzięki za pomoc ale nie za bardzo jednak sobie z tym radzę :(

jak konkretnie - od początku do końca powinno wyglądać makro przypisujące aktualną datę do pola?

Re: prośba o pomoc - formularz z relacyjnymi tabelami i bież

: śr lut 08, 2012 11:28 am
autor: Jan_J
Do pola? to we właściwościach formularza. Powyższa składnia ALTER TABLE deklaruje kolumnę data, w której przy wstawianiu nowego rekordu pojawi się data bieżąca, o ile wartość tej kolumny nie zostanie określona w żądaniu INSERT.

Rzecz w tym, że wizualizacja danych w formularzu następuje PRZED wstawieniem rekordu, więc siłą rzeczy tej daty jeszcze NIE MA w tabeli, zatem nie da się jej pobrać i wyświetlić.

Ja bym definiował pole formularza typu data, z bieżącą datą ustawianą jako wartość domyślna, a potem przepisywał ją do nowego rekordu. W takiej sytuacji klauzula DEFAULT current_date jest niepotrzebna (choć z drugiej strony nic nie szkodzi).