Mam problem z uruchomieniem kwerendy z poziomu VBA - wywala mi błąd pt "Invalid columne name 'twr_kod'". Próbowałem uruchamiać to krokami (wywalając dane i joiny), ale dziala tylko wtedy, jak nie wrzuce zadnego polaczenia i i wyciagam dane z jednej tabeli. Albo raczej zanim dodam połączenie tranag z tranag (żeby wyszukać linki między FS/FSE z WZ/WZE).
Celem samej kwerendy jest utworzenie listy faktur (FS, FSE) wraz informacją, co zawierały. Większość faktur zawiera zarówno produkty, jak i usługi, stąd łączenie tranag z tranag.
Samo zapytanie wygląda tak:
Kod: Zaznacz cały
select
[Data dokumentu]=format(dateadd(day,spi.trn_data2,'18001228'),'yyy-MM-dd'),
[Miesiąc]=format(dateadd(day,spi.trn_data2,'18001228'),'MMMM'),
[Numer dokumentu]=cdn.numerDokumentu(spi.trn_gidtyp, spi.trn_spityp, spi.trn_trntyp, spi.trn_trnnumer, spi.trn_trnrok, spi.trn_trnseria, spi.trn_trnmiesiac),
[Klient]=knt_akronim,
[Kod towaru] = twr_kod,
[Kategoria]=case when left(twr_kod,1)='4' then 'Laminat zadrukowany' when left(twr_kod,1)='5' then 'Tuby' else 'Pozostała sprzedaż' end,
[Średnica]=case when left(twr_kod,1) in ('1','2','3','4','5') then substring(twr_kod,5,2) else '' end,
[Ilość] = tre_ilosc,
[Cena jednostkowa]=case when tre_ilosc>0 then tre_ksiegowaNetto/tre_ilosc else 0 end,
[Kwota netto] = ceiling(tre_ksiegowaNetto/tre_kursl*tre_kursm*100)/100,
[Kwota brutto] = ceiling(tre_ksiegowaBrutto/tre_kursl*tre_kursm*100)/100,
[Waluta]=tre_waluta,
[Sprzedaż PLN]=tre_ksiegowaNetto
from cdn.tranag Spi
join cdn.kntkarty on spi.trn_kntnumer= knt_gidnumer
join cdn.tranag ele on
case when ele.trn_SpiTyp<=0 then ele.trn_gidtyp else ele.trn_SpiTyp end = spi.trn_gidTyp --jeżeli dokument nie ma spinacza to ma się 'spiąć' z samym sobą
and case when ele.trn_SpiTyp<=0 then ele.trn_gidNumer else ele.trn_SpiNumer end = Spi.trn_gidNumer --jeżeli dokument nie ma spinacza to ma się 'spiąć' z samym sobą
join cdn.traelem on ele.trn_gidnumer = tre_gidnumer
join cdn.twrkarty on tre_twrnumer = twr_gidnumer
where spi.trn_trntyp in (3,20)
order by spi.trn_data2, spi.trn_gidnumer, tre_twrlp
Generalnie samo połączenie ODBC jest skonfigurowane poprawnie - inne zapytania działają bez zarzutu.
A wolałbym te dane wyciągać z pomocą VBA, a nie wykresu, bo tak jest po prostu szybciej
Macie jakieś pomysły jak to rozwiązać?
Dzięki,
B