Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Problem z kwerendą tworzącą tabele

1 view
Skip to first unread message

Tomasz Kiełpiński

unread,
Oct 23, 2008, 6:08:09 AM10/23/08
to
Witam,

Mam dwie tabele połączone przez ODBC do bazy.

W jednej jest pole PoleTekst (Tekst,255) w drugiej PoleNota(Nota)
Obie tabele mają wspólne pole ID, które pozwala na ich zjoinowanie

Zależy mi na tym aby w tabeli docelowej wartość w polu PoleNowe była zależna
od funkcji:

IIf(IsNull([PoleTekst]);[PoleNota];[PoleTekst]) As PoleNowe

Funkcja ta działa w kwerendzie wybierającej, natomiast w nowej tabeli
wartości, które zostały pobrane z [PoleNota] są puste.

Co mam z tym zrobić?

PS. Podejrzewam problem z niezgodnością typów pól. Próbowałem
przekonwertować zarówno wartość [PoleNota] jak i całego wyrażenia na String
(CStr()). Zamiast kwerendy tworzącej tabelę testowałem również kwerendę
dołączającą po poprawieniu typu PoleNowe z Tekst,255 (Takie automagicznie
się utworzyło razem z tabelą) na Nota. I nic :(

Pozdrawiam,
Kiełpiś

--
Pieczło, jaszczągów maźnych rój Tomasz Kiełpiński
Wiroświdrował na zegawie, a.k.a. "Kiełpiś"
Błahudy był szczoptaków strój Odpowiadając prywatnie,
I gwiczał świbłąk w trawie usuń: FALSZYWY z adresu

CMHQ_Widget

unread,
Oct 23, 2008, 6:37:58 PM10/23/08
to
> PS. Podejrzewam problem z niezgodnością typów pól.

Jest jedna kwestia z którą miałem też kiedyś problem (skrypty do Accessa).
Nie mogłem dojść do tego co jest nie tak przez długi czas aż któregoś dnia
odpaliłem kod i krok po kroku prześledziłem wszystko łącznie z wartościami
zmiennych w pamięci w danym momencie. Problem polegał na tym, że robiąc
kwerendę miałem warunki z pól. W trakcie tworzenia bazy dodałem parę pól,
które w większości bazy nie były nigdy ruszone. I tutaj powstał problem.
Wszystkie rekordy tworzone po dodaniu tego pola miały wartość pola "", a te
poprzednie Null. I co się okazuję, każdy warunek zwraca inny wynik dla
wartości puste a inny dla null. Dla IFa z tego co pamiętam zawsze zwracał
false. Warunek nie wyświetlał rekordu przy tworzeniu kwerendy i był problem.
Być może to ten sam problem. Odpalanie STRa chyba wtedy nie pomoże bo to i
tak null czyli brak wartości.

IMHO, chociaż geekiem nie jestem i dawno w tym nie siedziałem, problem
polega w tej części: IsNull([PoleTekst]. Jeżeli gdzieś masz wpisaną spację
lub pole było edytowane i zostawiłeś je puste to masz wartość puste a nie
null, czyli masz Nie jeżeli to pole jest puste, Tak jeżeli nigdy nie miało
ustawionej wartości. Poszukaj, podejrzewam że o to może się rozbijać
problem.


--
Widget

Tomasz Kiełpiński

unread,
Oct 24, 2008, 3:27:02 AM10/24/08
to

A myślałem, że zdążyłem z cancelem :) Sorry i dzięki za cenne wskazówki :)

Pozdrawiam,

Kiełpiś


--
Był czas mrutszławy, ślibkie skrątwy Tomasz Kiełpiński
Na wałzach wiercząc świrypły, a.k.a. "Kiełpiś"
A mizgłe do cna borogłątwy Odpowiadając prywatnie,
I zdomne świszczury zgrzypły. usuń: FALSZYWY z adresu

0 new messages