andrej.misuta
21.12.17,13:38
Ahojte, prosím Vás viete mi niekto poradiť ako vyriešiť problém? robím VBA query a mám problém s tým že názov stĺpca v tabuľke obsahuje medzeru a VBA mi to nechce zobrať. Skúšal som názov dať do všetkých možných uvodzoviek aj do hranatých zátvoriek.
sthruska
21.12.17,16:44
Aj takto: 'Support GROUOP' ? Lebo to nie sú úvodzovky ;)
Ešte jedna vec. Pozri si výsledný reťazec. Čo Ti vlastne prekladač vráti. Vo VBA som s SQL nerobil. Ale bežne sa musia niektoré znaky znásobovať.
Príklad: potrebuješ znak ' dostať do stringu, ale zároveň to je riadiaci znak. Tak musíš napísať '''.
misoft
21.12.17,19:18
Možno napíšem volovinu, ale.... miesto Support GROUP - použiť reťazec Support_GROUP.
sthruska
21.12.17,19:21
Pri návrhu DB, a vôbec programovaní, sa nemá používať diakritika a medzery. A zásadne len angličtina. Tá tam je dodržaná. Je otázne, či môže zmeniť názvy polí tabuľky.
andrej.misuta
22.12.17,07:07
ahoj, vyriešil som to, problém bol v tom že ja som si moj SQL select prekonvertoval do VBA cez jeden program, a tam mi urobil to že stĺpec Support Group mi prekonvertoval na Support GROUP. Ciže v každom stlpci ktorý bol zložený z dvoch slov oddelených medzerou tak dal v druhom slove všetky písmená veľké. To bol problém, opravil som iba veľkosť písmen a vštko šlape ako má. Ďakujem za reakcie.
andrej.misuta
22.12.17,07:08
Čo sa týka tohto, j mi jasné že názvy stĺpcov by mali byť v jednom reťazci, ale čo z toho keď som tu databázu nevytváral ja ale dostal som ju už vytvorenú? :D a nemám práva upravovať ...
sthruska
22.12.17,18:09
Preto sa odporúča v DB všetko písať veľkými písmenami. A takisto celé SQL. Niektoré RDBM si to dokonca vyžadujú. Tým pádom sa človek vyhne rôznym problémom. Aj sa mu jednoduchšie urobí aplikácia nad viacerými druhmi DB či prechod na inú DB. A keď je RDBM case sensitive, tak ďakujem. Ako Ty teraz ;)
xxn
29.12.17,09:53
Nie som si istý či to zaberie ale skús query upraviť pridaním aliasu do každého názvu stĺpca kde sa vyskytuje medzera.
V aliase uveď nové meno stĺpca, samozrejme už bez medzery, prípadne s použitím podtržítka namiesto medzery.

príklad: riadok 3
Sql =Sql & " [Support GROUP] as SupportGroup , "

príklad riadok 6
Sql =Sql & " [Duty Ticket] as Duty_Ticket , "

PS:Na stránke: http://www.tek-tips.com/viewthread.cfm?qid=912085 som našiel nasledujúcu radu.

This will work:
SELECT `column name`
FROM `table name`
Notice, this is not a single quote, but rather, a back-tick mark (usually under the escape button).

Tento znak je v mape znakov uvedený ako U+0060 Grave Accent. Skús ním vo vba pri vytváraní sql nahradiť hranaté zátvorky v stĺpcoch kde sa vyskytuje medzera ...