Aktywne Wpisy
Sl_w_k_1 +29
Naście lat temu byłem w Chicago.
Pracowałem na budowie 2 lata trzy miesiące 21 dni.
Pamiętam lokalnych polskich chłopaków którzy narzekali na zarobki.
Najzabawniejsze jest jednak jak spotkałem Szweda który też przyleciał w celach zarobkowych.
Po kilkunastu latach.
Jakiś czas temu zobaczyłem ciemnoskórego pana który w #krakow w zielonym kubraczku zamiatał boisko sportowe.
Kilka dni temu spotkałem kolejnych dwóch zagranicznych panów którzy wjechali samochodem na trawę żeby porobić porządki a potem tak
Pracowałem na budowie 2 lata trzy miesiące 21 dni.
Pamiętam lokalnych polskich chłopaków którzy narzekali na zarobki.
Najzabawniejsze jest jednak jak spotkałem Szweda który też przyleciał w celach zarobkowych.
Po kilkunastu latach.
Jakiś czas temu zobaczyłem ciemnoskórego pana który w #krakow w zielonym kubraczku zamiatał boisko sportowe.
Kilka dni temu spotkałem kolejnych dwóch zagranicznych panów którzy wjechali samochodem na trawę żeby porobić porządki a potem tak





Mirki czy jest tu ktos smigajacy niczym puma po Crystal Reports 2008 tudziez inny rocznik? Mam maly problem, jeden z tych co to powinno dzialac a nie dziala. Na bank cos zle robie. Mam baze danych Access do ktorej jestem podlaczony przez Crystala, jest tam tabela SODetail a w niej pole CustomerLine, ktore jest typu string[5]. W pole to wpisuje ilosc wykonanych produktow. No wiec jest formula To Do, ktora pokazuje ile jest jeszcze do zrobienia i wyglada tak
{SODetail.QuantityOrdered} - ToNumber({SODetail.CustomerLine})
Czyli od zamowionej ilosci odejmowana jest ilosc wykonana. Bez funkcji ToNumber wyskakuje oczywiscie blad bo nie moze odjac stringa od wartosci numerycznej. No i problem polega na tym, ze jak wpisze cos w to pole (CustomerLine) to dziala perfekcyjnie i pokazuje ile jest jeszcze do zrobienia, lacznie z "0" kiedy wartosci sa te same, tyle tylko ze kiedy nic nie jest wpisane (w CustomerLine) to niby traktuje to jak wartosc numeryczna (nie wyskakuje blad przy odejmowaniu) ale wynikiem jest pustka. W miejscu X na ponizszym obrazku powinna byc wartosc z Quantity.Ordered. Moim celem jest wyeliminowanie linii z To Do = 0, jednakze zawsze kiedy to robie znikaja takze linie ktore sa cale do zrobienia i maja ta pustke.
http://imghost.nottin.net/pics/434d8f129ba33f2a23bfbf165dd9c716.jpg
Spodziewalem sie, ze pusty string zostanie przekonwertowany do "0" czyli To Do powinno pokazywac Quantity.Ordered, ale nie pokazuje. Probowalem to omijac na rozne sposoby, ale ilekroc dotykam sie pola CustomerLine, ktore jest puste to wynikiem roznych formul jest pustka. Np. kiedy wpisze CustomerLine=10 a OrderQuantity tez jest 10 no to pokazuje ladnie zero do zrobienia. W SelectExpert record chcialem stworzyc warunek eliminujacy wykonane linie (skonczone produkty) wiec zrobilem po prostu wypisywanie wszystkich z To Do > 0 no i wtedy ta pustka z To Do traktowana jest jak zero i dana linia znika takze. Jednak mimo traktowania tego jako numer to zadne dzialania na tym nie dzialaja. Wymyslilem wiec ze omine To Do i zrobie warunek zeby pokazywane byly tylko te linie w ktorych wartosc rekordu Quantity.Ordered <> Customer.Line, no bo jak bedzie rowna to zrobione. I tu znowu to samo, dziala tylko jak cos jest wpisane, tzn. wynikiem porownania Quantity.Ordered (tu zawsze jest jakas liczba) do pustego pola nie jest false tylko true i linia znika. Caly czas oczywiscie konwertuje tego stringa do liczby. Probowalem roznych sztuczek typu konwersja do innego typu, czy sprawdzanie tego pola czy jest puste zliczajac ilosc znakow w nim wystepujacych, ale zawsze wychodzi to samo, rekordy z pustym Customer.Line po prostu zachowuja sie jak chca. Jak zrobie na przyklad tak:
{SODetail.CustomerLine} <> ToText({SODetail.QuantityOrdered})
albo tak
ToNumber({SODetail.CustomerLine}) <> {SODetail.QuantityOrdered}
to znikaja rekordy z pustym customerline a reszta zostaje, tam gdzie To Do jest 0 lub wiecej bo wtedy CustomerLine jest wypelniona. Jakim cudem porownanie tych dwoch pol wychodzi na odwrot, przeciez nie ma takiej opcji zeby pusty string czy number mial sie rownac czemukolwiek gdzie jest jakas wartosc?
Mam nadzieje ze wytlumaczylem w miare logicznie.. Szlag mnie trafi zaraz ...
Nz(ToNumber(..))zamiast samego
ToNumber()? Albo
IIF(ISNULL(ToNumber({SODetail.CustomerLine}),0,ToNumber({SODetail.CustomerLine}))(chociaż tylko zgaduję, bo to trochę rzeźba, kto wymyślił by wartości numeryczne trzymać w stringu?!)
If NumericText ({SODetail.CustomerLine}) Then
{SODetail.QuantityOrdered} - ToNumber({SODetail.CustomerLine})
Else
{SODetail.QuantityOrdered}
teraz tam gdzie byly puste miejsca To Do (ten X czerwony) pokazuje Quantity Ordered, wykorzystam to juz jakos, dzieki wielkie za natchnienie :)
http://imghost.nottin.net/pics/e4b0bbbb4391376fcb6da6acbc7a841c.jpg