Access problem z kwerendą aktualizującą


(Mateuszrolnik) #1

Witam.

Załóżmy że mam 2 tabele: Pierwsza tabela to parametr o polach id, parametr1 i parametr2 oraz tabelę powierzchnia o polach id, wlasciwosc1, wlasciwos2 i parametrID. Do tego mam utworzony formularz gdzie dodaję powierzchnię i parametry. Jak stworzyć kwerendę aktualizującą aby nowo stworzone id w tabeli parametr wpisało do pola parametrID w nowo powstałej powierzchni.

Dziękuje i pozdrawiam

habuda

//EDIT Podczas prób rozwiązana tego problemu wykonałem kilka prób które teraz przedstawię. Przy wszystkich próbach założyłem że obie tabele zawierają taką samą liczbę regordów

Próba 1

Podczas 1 próby myślałem że jak wyciągnę max z tabeli tblParametr i wpisze go do tabeli tblPowierzchnia w kolumnie parametrID o id = max(tblParamer) to wszystko będzie dobrze. Okazało się jednak że nie można stosować wyrażeń w klauzuli where więc nic z tego

próba kodu sql

UPDATE powierzchnia 

SET parametrID = (Select Max(parametr.id) From parametr) 

WHERE powierzchnia.id = (Select Max(parametr.id) From parametr)

Próba 2

2 próba polegała na tym aby wyciągnąć wszystkie id z tabeli tblParamer i wpisać je do tabeli tblPowierzchnia gdzie będą występowiać identyczne id. Niestety w mysql ani w sql nie można tego wykonać gdyż nie można zrobić pętli

Próba 3

Przy przeszukiwaniu google natrafiłem na stronę na której pisano że można się odwołać do innej kwerendy poprzez 2 znaki @. Próba nie powidła się gdyż nie zgadzały się typy danych. Dodatkow dałem aby dawało do konkretnego id w tabeli tblPowierzchnia

Próba 4

Podczas tej próby próbowałem prze konwertować zwracaną wartość przy kwerendzie gdzie wciąga się max na wartość int jednak sposób dalej nie działa

Próba 5

W tej próbie zamieniłem typ pola parametrID na tekstowy i dawałem wykonywałem próby 3 i 4. Jednak spełzło to na niczym gdyż do pola przekazywana była wartość tekstowa "@@maxParametr"

Próba 6

Zarejestrowanie się i napisanie posta na forum dobrych programów

Próba 7

Odczekanie kilku godzina na odpowiedź jednak i ta próba nie przyniosła żadnych rezultatów

:frowning: :frowning: :shock: :? :-x :oops: #-o

-- Dodane 24.06.2011 (Pt) 20:19 --

Czy ktoś wie jak to zrobić lub prościej czy jest to w ogóle wykonalne