Docela slušný počin.
Rozhodl jsem se implementovat pro své potřeby, ale...
Nejnutnější jsem přepsal pro novou verzi (7.5.3) a po rozchození (bez zásahu do systému) jsem se zděsil.
Stávající verze pro jeden kalendář čítala neuvěřitelných 42 až 49 zbytečných dotazů do databáze a to pokud nebyl v daném měsíci vydán žádný článek.
Za předpokladu, že každý den bude vydán článek je tento počet dotazů neskutečných 80!
Po překopání kalendáře se mi povedlo vše zredukovat do jednoho jediného dotazu a tedy podstatně snížit nároky.
Optimalizaci kódu sice ještě nemám dopracovanou, ale snad by mělo být hrubě hotovo.
Kalendář se vkládá jako klasický HCM modul a pro zobrazení článků je využíváno rozšíření, které je součástí kalendáře.
Stačí jen pouhé nakopírování souborů na FTP a umístit HCM modul dle standardů CMS na Vámi vybrané místo.
Byla dopracována podmínka pro nezobrazení nevydaných článků, ...
Byla nahrazena "problémová" funkce cal_days_in_month.
Kdo by měl zájem testovat, pište.
Ukázka zde.
Jediné co Vám mohu poradit je free i pro firmy:
např. WampServer (apache, php, SQL) a napsat si webovou aplikaci v php - může být i pro více uživatelů v podnikové síti.
Pravděpodobně by to bylo jednodušší a schůdnější než psát makra.
zac = 1
kon = 65535
For n = zac To kon
If Empty <> Cells(n, 2) And Empty = Cells(n, 4) Then
Rows(n).Hidden = True
End If
Next n
Lon
To POKI:
zase malinko přidám. Do procedury uzavření sešitu se dá makro také napsat a pak se nemůže stát, že uživatel "něco zvojtí".
Pokud je to pro "lidi" BFU musíš počítat se vším...
Nesmíš dát šanci něco udělat jinak..... Bohaté zkušenosti co vše se dá zmrvit....
Ale to vše je opravdu na jinou diskuzi...
Jinak POKI jsi machr a vážím si Tvých rad a příspěvků.
Lon
Malinko OT, ale dovolím si reagovat na Pokiho "názor" Pokud by se dalo zajistit, ze uzivatel povoli makra,. Jak říkal můj táta, jde všechno, jenom noviny a malé děti se musí nosit..
Tedy například je řešením skrýt všechny datové listy, ponechat jen jeden s upozorněním, že uživatel nepovolil makra a tedy mu soubor nebude nic platný... Pak v otvírací proceduře tento list skrýt a ostatní zviditelnit. Předpoklad je také zamčený sešit heslem.
To je můj názor na to jak zabezpečit, že uživatel povolí makra.
Stačí zakázat dotaz na výmaz dalších dat a jeho vyhodnocení.
To Jeza.m
upravil jsem to v tvém souboru.
Lon
čárky nahradit středníkem
Podívej se na syntaxi funkce DATUM(rok;měsíc;den)
Netuším proč by měl mazat ' " & l & " '! - je to odkaz na list, ve kterém má data.
Možná bych se zaměřil na druhou podmínku. Není vyhodnocena jako textová.
Teď Excel 2007 (2010) nemám, ale v 2003 je nesprávně vyhodnocena textová podmínka. Chybí uvozovky.
Spíše by to chtělo konkrétní ukázku s daty, aby si nikdo nic nemusel vymýšlet..
Další variantou, která zde nebyla zmíněna, je že otvíraný soubor je jen pro čtení. Má nastaven atribut R.
Pak by chování odpovídalo tomu co popisuješ. Tedy nabízet uložení souboru do standardního adresáře EXCEL.
a ukázku?
možná je to profesionální slepota,taky se mi to stává
a co chybové hlášky???
nebo zaslat ukázku
Nechci být válečný štváč, ale:
radek.Cells(4, 18).Date = "<" & ufSoupiska.tbDo.Value
bych nahradil:
radek.Cells(4, 18).Value = "<" & ufSoupiska.tbDo.Value
třeba
Sub vymaz_radky()
seznam = "List2"
zdroj = "List1"
row_seznam = Sheets(seznam).UsedRange.Rows.Count
row_zdroj = Sheets(zdroj).UsedRange.Rows.Count
i = 2
While i <= row_zdroj
jmeno = Sheets(zdroj).Cells(i, 1)
porovnani = 0
For j = 1 To row_seznam
If jmeno = Sheets(seznam).Cells(j, 1) Then
porovnani = porovnani + 1
End If
Next
If porovnani = 0 And jmeno <> "" Then
Sheets(zdroj).Rows(i).Delete
Else
i = i + 1
End If
Wend
End Sub
List1 (zdroj) obsahuje data všech osob
List2 (seznam) obsahuje seznam jmen pouze vybraných
Je to čitelný kód, tak snad se v tom vyznáš
Konkrétní kód záleží na konkrétním příkladu.
Např For-Next smyčky, nebo while, ....
Zřejmě nejlepší vzorcem vypsat do jiného sloupce podmínku a celý sloupec pak sečít SUMA. Výsledek pak zadávat do formuláře.
Snad jsem pochopil to co popisuješ
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.