< návrat zpět

MS Excel


Téma: Excel ADO - append query do Access rss

Zaslal/a icon 29.11.2013 13:43

V Access mám tabuľku tblIAD. Tá obsahuje mimo iných pole ID, ktoré je jej primárnym kľúčom. Ďalej mám tabuľku tblAct, opäť s poľom ID (foreign key). Relácia medzi tabuľkami je 1:1, v tblAct nie sú všetky ID, ktoré sa nachádzajú v tblIAD.

Príklad:
ID v tblIAD: aaa,bbb,ccc,ddd,eee
ID v tblAct: aaa,bbb (ďalšie 3 tam nie sú, zatiaľ)

Teraz úloha:
V Exceli mám bunky [A1:A5] s hodnotami
A1: ID
A2: aaa
A2: bbb
A3: ccc
A4: ddd
A5: fff

Potrebujem vytvoriť cez ADO v Exceli append query, ktoré pridá do tabuľky tblAct tie záznamy (ID), ktoré sa v tblAct nenachádzajú a zároveň musí byť zachovaná relácia voči tblIAD.

Bojujem so správnym tvarom sql reťazca, dokáže mi niekto poradiť?

Výsledkom append query by teda malo byť pridanie ccc a ddd do tblAct (tieto spĺňajú podmienku nastavenú reláciou 1:1) a v tblAct doteraz neboli. Dotaz nemá do tblAct pridať ID eee, nakoľko toto nespĺňa podmienku nastavenú reláciou 1:1.
Ideálne by bolo, pokiaľ by kód v prvom kroku hodil hlášku s tým, že v Exceli sa nachádzajú neprípustné hodnoty a niekam ich vypísal (v tomto prípade hodnotu eee). Až v prípade, že by žiadne neprípustné hodnoty v zdroji neboli, spustila by sa samotná append query.

Prílohu zatiaľ nedávam, nakoľko sa jedná o komunikáciu medzi Excel a Access, tak je potrebné ponastavovať cesty - to je závislé na umiestnení v počítači, takže príloha moc nepomôže. Ale pokiaľ by mi niekto vedel poradiť, akurát by k tomu požadoval prílohu, tak ju vytvorím...

Ešte upresním, prečo ADO volané z Excelu. V Exceli sa budú tvoriť aktualizačné súbory, ktorými sa budú aktualizovať dáta v tabuľkách v Accesse. Tj užívateľ si pripraví v Exceli dáta k aktualizácii pre tabuľku v Access a makrom spustí danú aktualizáciu. Než toto celé nastane, tak v prvom kroku je potrebné vytvoriť hore zmienenú append query, ktorá najprv založí nové záznamy pre neexistujúce ID v tblAct, až následne je potom možné spustiť aktualizačný dotaz. V prvom kroku teda potrebujem poriešiť ten pridávací dotaz.

Zaslat odpověď >

icon #016612
avatar
No, tu mi nikto neporadí, inšpiráciu som už našiel inde, takže admin môže uzavrieť.citovat
#016619
avatar
nechcete ten priklad do MS SQL? :))

ja tu nemam nainstalovany accesscitovat
icon #016620
avatar
Palooo, nechcem, díky 1
Potrebujem volať z Excel aktualizačné dotazy do Access, ako som písal. Aktualizačný súbor je vytvorený v Excel, štruktúru (počet stĺpcov) si pokaždé zvolí užívateľ, makro tabuľku z Excel pretvorí tak, aby mohla prebehnúť aktualizácia príslušných tabuliek v Access. Predtým ale musia úspešne prebehnúť rôzne kontroly na konzistenciu dát. Ale už som to poriešil, ďakujem za ochotu.citovat
#016621
avatar
niesom si isty ale nema to tu istu syntaxu ako do MS SQL??

napr. vyber dat:
SELECT * FROM testcitovat
icon #016622
avatar
Paloo, syntax je samozrejme rovnaká, môj problém bol ako v dotaze, ale cez ADO, spojiť data z Excelu s tabuľkami v Accesse. Urobil som úhybný manéver, vytvorením pomocnej tabuľky v Access z dát v Exceli a problém som po tomto jeho zjednodušení už schopný vyriešiť. Díky.citovat

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