< návrat zpět

MS Excel


Téma: EmptyString / Null z Access na Blank v Excel rss

Zaslal/a icon 2.9.2016 21:20

Ahoj,
on to v inom vlákne písal už xlnc (a i eLCHa), že Excel úplne nespolupracuje podľa očakávania s Access pri prevode datových typov, takže neviem, či nasledovné je možné:
Do Excelu chcem nakopírovať výsledok dotazu z Access (prosté copy/paste, ale úplne rovnaké by to bolo i keby som použil datové pripojenie).
V dotaze potrebujem pevnú štruktúru stĺpcov, odpovedajúcu štruktúre stĺpcov v tabuľke v exceli (práve kvôli jednoduchému copy/paste). Potrebujem, aby jeden zo stĺpcov bol prázdny. Na nič iné, než na inštrukciu SELECT "" AS EstimatedSavings, prípadneSELECT NULL AS EstimatedSavings som neprišiel. Tým pádom ale obsah stĺpca nie je prázdny, ale obsahuje nullstrings. Ja by som potreboval, aby bol prázdny. V opačnom prípade, keď to nakopírujem do Excelu, daný stĺpec nie je prázdny, ale obsahuje uvedené nullstrings, čo potom vzorec nevyhodnotí ako číslo, resp. pokiaľ očakáva číslo, tak v danom prípade vyhodnotí ako chybu. Nechcem to riešiť podmienkou vo vzorci, skutočne by som preferoval, keby daná bunka zostala skutočne prázdna. Dá sa nejak?

Zaslat odpověď >

Strana:  « předchozí  1 2
icon #032639
avatar
@daal
Myslím, že by to mohlo vracet true na test fce ISBLANK true jak pro NullString tak i NULL hodnotu.
Aleši, ďakujem. Je to tak, ako píšeš. Null po prenose dát Tvojou procedúrou do Excelu vyhodnotí ISBLANK ako TRUE. Budem sa na to musieť pozrieť a ten kód bližšie preštudovať. Určite použijem pre študijné potreby - s DAO nemám skúsenosti. Pokiaľ budem mať čas, tak Tvoj nápad adaptujem, v danom prípade by som preferoval volanie tých procedúr z Accessu, nie z Excelu, ale s tým si už pohrám.

@mepexg
Ináč nechápem potrebu prenášať údaje z Accessu cez schránku, keď Excel dokáže načítavať priamo z Accessových tabuliek.
A už vôbec nechápem prečo používať Access, keď Excel má PowerQuery a PowerPivot.

Že to nechápeš, ešte neznamená, že k tomu nejaký dôvod nemám.
O tom, že sa to chová rovnako i pri použití datového pripojenia, som písal. A z dôvodov, ktoré by som tu dlho, krkolomne a zložito popisoval, proste preferujem v tomto prípade Access pred Power nástrojmi. Smiem?
K vyhľadať a nahradiť asi toľko: To by som samozrejme použiť mohol, v prípade, že by som chcel. Ale nechcem.
Rovnako by som mohol použiť prachsprostý filter a výmaz obsahu viditeľných buniek.
Ja som ten problém nejako definoval, a to nasledovne: Akým spôsobom nenačítať NULLs a EmptyStings, nie, akým spôsobom sa ich následne v Exceli zbaviť. Nič z toho, čo si písal, toto zadanie nesplňuje.citovat
#032640
avatar
Dialog Najít a nahradit, Najít: Null, to se mi moc líbí :-)citovat
icon #032641
avatar
@eLCHa
Pokud provedeš import dat (připojení), tak prázdná je. Funkce JE.PRÁZNÉ vrací PRAVDA.
Mno, pokiaľ do dotazu napíšem SELECT NULL AS EstimatedSavings, tak v Exceli sa mi cez datové pripojenie daný stĺpec vôbec nezobrazí
Pokiaľ napíšem SELECT "" AS EstimatedSavings, tak pri použití datového pripojenia ISBLANK vracia FALSE. Tak neviem.. Access 2016

Všetkým, čo sa rozhodli tomu venovať, ďakujem. Časom asi použijem riešenie od Aleša, v túto chvíľu som to poriešil vzorami. Žiadne vyhľadať a nahradiť používať nebudem, na to by som musel vždy myslieť :)citovat
icon #032642
eLCHa
Mimochodem - pokud je to schůdné dělat to pomocí datového připojení tak se mi podačilo toto

Vytvořil jsem si Tabulku1 se dvěma sloupci ID a Pole1. Pole ID není nikdy prázdné.
Vytvořil jsem připojení pomocí SQL dotazuSELECT ID,IIf(ID Is Null,0,Null) AS AAAA,Pole1 FROM Tabulka1a funguje mi to - importuje prázdné. Při první aktualizaci mi to sloupec AAAA vložilo na konec (i když ho mám uvnitř), ručně jsem ho v tabulce přesunul a po další aktualizaci už to bylo správně.

Poznámka - musel jsem použít IIf na neprázdné pole. Původně jsem zkoušel, toto
SELECT ID,Null AS AAAA,Pole1 FROM Tabulka1nefunguje, excel AAAA jako prázdný po připojení odstraní. Pokud víš, jak tomu zamezit - zatím jsem na to nepřišel - nemusíš použít IIf.citovat
icon #032643
eLCHa
@AL
tak v Exceli sa mi cez datové pripojenie daný stĺpec vôbec nezobrazí
Viz minulý post ;))

IIf(ID Is Null,0,Null)ID nikdy není Null, proto vždy vloží Null - musel jsem ho ošálit ;)citovat
icon #032644
avatar
jj Karlíku, píšeme cez seba :), pekný trik s iif :)
ĎAKUJEMcitovat
icon #032645
eLCHa
Není zač, jen malé vylepšení - bez závislosti na jakémkoliv poli ;))SELECT ID,IIf(Date()<1,0,Null) AS AAAA,Pole1 FROM Tabulka1citovat
icon #032646
eLCHa
Hech - a teď mně napadlo vyzkoušet ještě následující:
Bavím se o objektu Tabulka

1. Import tabulky tak jak je - vytvoří se propojení a data jsou načtena do Tabulky
2. Po prvním importu na požadované místo kliknout pravým tlačítkem a Vložit sloupec tabulky vlevo
3. Přejmenovat si sloupec
4. Aktualizovat

A sloupec tam zůstal a je prázdný
Chce to asi delší test, ale zdá se že to takhle stačí.

A už končím ;)citovat
icon #032649
avatar
Karle, ten posledný nápad s pridaním stĺpca nepôjde. V Exceli ten objekt tabuľka má danú štruktúru. A ja pri tých datách z Accessu potrebujem, aby data z tejto množiny, mali daný stĺpec prázdny. T.j. daný stĺpec už v ExcelTable existuje, nechcem ho pridávať, akurát nemá u podmožiny záznamov byť vyplnený. Písal som, u ostatných dát v tej ExcelTable daný stĺpec prázdny nie je. Ale už sa s tým netráp. Námetov mám viac, než dosť, už to nejako zvládnem..

edit: aha, špatne som Ťa pochopil, už mi docvaklo, ako si to myslel. Áno, takto by to šlo..citovat
icon #032656
avatar
Karle, ten posledný Tebou navrhnutý postup mi naprosto vyhovuje, takže použijem. Akurát, teda, už v minulosti som si takto stĺpce do tabuľky v exceli importovanej z accessu pridával a nejak nechápem, že ma to nenapadlo použiť pre túto situáciu. No, uberal som sa cestou copy/paste z accessu. Teraz urobím copy/paste priamo v exceli.citovat

Strana:  « předchozí  1 2

Uživatelské menu

Nejste přihlášen(a)
avatar\n

Menu

Formulář Faktura

Formulář Faktura IV

Oblíbený formulář Faktura byl vylepšen a rozšířen.
Více se dočtete zde.

Helios iNuvio

Používáte podnikový systém Helios iNuvio? Potřebujete pomoci se správou nebo vyvinout SQL proceduru? Více informací naleznete na stránce Helios iNuvio.

On-line nástroje