Jj, už som na to prišiel a zrovinka som to chcel napísať, že cez add-in to funguje. Akurát s add-in je "malinký problém", že ten dodatočný pás tam bude v ponuke vždy, než ho užívateľ odinštaluje. Ale s tým už sa budú musieť kolegovia naučiť žiť
edit: a samozrejme, ďakujem veľmi pekne, za návod samotný i za reakciu k môjmu problému
Mám otázku k použitiu vlastného pásu kariet, inšpirovaný návodom, ktorý admin publikoval tuná:
http://wall.cz/excel-navod/prizpusobeni-pasu-karet-ribbon-vlastni-pas-karet
Potreboval by som, aby daný pás kariet zostal prístupný (viditeľný) i z iného súboru otvoreného v tej same inštancii excelu, v ktorej je otvorený súbor s príslušným vlastným pásom kariet.
Otázku som uviedol i do diskusie pod článok, trochu to ponáhľa, budem rád, pokiaľ ma niekto nasmeruje, ako na to.
Pokiaľ sa tomu chceš seriózne venovať, tak si kúp trebárs Excel 2010 Power Programming with VBA od Johna Walkenbacha. Pokiaľ tou knihou prejdeš, tak 90% vecí, ktoré budeš potrebovať vytvoriť vo VBA pre Excel, tam nájdeš.
ti hovorím, že v 2010 to funguje, som si otvoril i ten tvoj formular a roky a dni to pocita.
tu pisu, ze pre 2013 ohladom uvedenej funkcie to same, je v 2013 k dispoziciihttp://www.techonthenet.com/excel/formulas/datediff.phpto sice overit nedokazem, pac 2013 nemam, ale pmn nezmysly na tom webe nepisu..
Pomenovavat prvky formulara ako C11, D1 apod. mi nepride uplne stastne, kazdopadne, mne sa javi, ze tie roky a mesiace to v tom vzore, ktory si poslal, pocita (v excel 2010).
S tymi kniznicami neporadim, tam bude musiet niekto iny.
ad 1.
Problém bude asi v tom, že v tých textboxoch zrejme nemáš dátumy, ale nejaké blbiny, ťažko povedať, bez toho, aby som ten formulár videl. Rozhodne ale funkcia DateDiff v 2010 funguje.
Do buniek A1 a A2 som napísal dátum a kódik dáva správny výsledok:Sub pom()
Debug.Print "rokov: " & DateDiff("YYYY", [a1], [a2])
Debug.Print "mesiacov: " & DateDiff("m", [a1], [a2]) - DateDiff("YYYY", [a1], [a2]) * 12
End Sub
njn, srandičky, ešte chlapca naučiť počítať tie percentá a svet bude hneď krajší
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.
Palooo, nechcem, díky
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.
Sub Otvor()
Application.DisplayAlerts = False
Workbooks.Open Filename:="C:\Documents and Settings\al057494\Desktop\dd.xls", CorruptLoad:=xlExtractData
Application.DisplayAlerts = True
End Sub
No, tu mi nikto neporadí, inšpiráciu som už našiel inde, takže admin môže uzavrieť.
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.
Fakt nepoznáš contextures? Debra Dalgleish je pmn jedna z naj ženských na excel na svete, okamžite si pridaj jej stránky do obľúbených!
jj, ako píše dingo
Návod, ako na to, je tuná:http://www.contextures.com/xlDataVal03.html, sa mi zdá, že Opičák trochu opisoval :)
Oblíbený formulář Faktura byl vylepšen a rozšířen.
Více se dočtete zde.
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.