Access VBA – brak formularza Microsoft Access Class Objects

2012-08-06

Pisząc kod VBA obsługujący kliknięcie klawisza, chciałem wykonać operacje na innym formularzu. Robi się to łatwo, jeżeli taki formularz jest już widoczny w Microsoft Access Class Objects, mój formularz nie był tam jednak wyświetlany. Skoro jednak istnieją już jakieś moje formularze, to musi istnieć metoda na dodane tam nowego formularza:

Rzeczywiście jest. Należy otworzyć taki formularz w widoku projektu, a następnie „udawać”, że chce się dla niego napisać jakiś kod VBA! Wchodzisz więc do woeolnego zdarzenia formularza, wybierasz edytowanie kodu VBA i wtedy Access wygeneruje odpowiednią reprezentację w Microsoft Access Class Object. Kiedy chciałem aby odświeżyła się zawartość formularza o nazwie
[InstruktazePracownika podformularz]
mogłem już wywołać metodę:

[InstruktazePracownika podformularz].Requery

Niby prosty sposób, ale trzeba go było odkryć. Jeżeli masz ochotę pouczyć się Accessa zapraszam do lektury książki:

„Access 2010 PL. Kurs” autorstwa Danuty Mendrali i Marcina Szeligi:
 

By Rafał Kraik in Helpdesk, VBA

SSRS Co drugi rekord w innym kolorze

2012-07-27

Proste! Zaznacz wiersz, w którym chcesz różnicować kolory i we właściwościach wypełnij Fill –> Background Color podając formułę:

= IIf(RowNumber(Nothing) Mod 2 = 0, „Silver”, „White”)

Kolory będą się zmieniać naprzemiennie, w innym kolorze parzyste, w innym nieparzyste.

By Rafał Kraik in SSRS

Udostępnianie plików przez SFTP – wspólny katalog z dobrymi uprawnieniami

2012-07-11

Udostępniając dane przez SFTP skonfigurowałem go tak:

Problem jednak pozostał, gdy użytkownicy korzystali z SFTP. Otóż liczba umask nie przenosi się z pliku .profile na działania użytkownika, kiedy użytkownik ten nie pracuje w shelu ale poprzez SFTP.

Umask musiałem przedefiniować w konfiguracji SFTP. Na moim serwerze plik ten znajdował się w katalogu /etc/ssh, a jego nazwa to sshd_config.

W końcówce tego pliku znajduje sie linijka:

Subsystem       sftp    /usr/libexec/openssh/sftp-server

Trzeba było sprawić, aby proces ten miał zmienioną wartość umask. Okazało się, że można to zrobić sztuczką:

Subsystem       sftp    /bin/sh -c 'umask 0002; /usr/libexec/openssh/sftp-server’

Ta linijka powoduje wywołanie shella (/bin/sh) w celu wywołaia skryptu podanaego jako tekst (-c). A ten skrypt zmienia umask, a potem wywołuje proces sftp.

(Rozwiązanie zaczerpnięte z http://jeff.robbins.ws/articles/setting-the-umask-for-sftp-transactions).

SFTP możesz wykorzystać ze stacji windows korzystając z :

By Rafał Kraik in Linuxy

Zmiana umask

2012-07-11

Przypomnijmy pliki i katalogi w Linuxie posiadają uprawnienia dające się zapisać liczbowo. Maksymalne uprawnienia to 777. Kiedy uzytkownik tworzy nowy plik, to od cyfry 7 (dla katalogu) lub 6 (dla pliku) jest odejmowana wartość zapamiętana w umask.

Możesz sprawdzić wartość umask wydając polecenie

umask

Domyślnie jest to 0022, tzn że jeśli utworzysz plik, to jego uprawnienia będą 666 – 022 = 644.

Jeśli chcesz aby dany użytkownik tworząc pliki tworzył je w formie dostępnej dla innych użytkowników grupy tego użytkownika, to zmień umask na 0002, bo przecież 666 – 002 = 664, więc grupa będzie miała te same prawa co właściciel. Jeśli chcesz aby pozostali uzytkownicy nie mogli czytać nowych plików zmień umask na 0007, bo 666 – 006 = 660. Umask zmieniasz poleceniem

umask 0002

Instrukcję tę możesz również umieścić w pliku .profile użytkownika. PLik .profile jest uruchamiany po zalogowaniu się użytkownika powodując w ten sposób zmianę umask i inne uprawnienia dla nowo tworzonych plików.

Więcej informacji: http://it.toolbox.com/wiki/index.php/Set_umask_to_users

By Rafał Kraik in Linuxy

Linux – dziedziczenie uprawnień do katalogu z katalogu nadrzędnego

2012-07-11

Domyślnie kiedy plik jest tworzony przez użytkownika, właścicielem tego pliku jest ten użytkownik, a grupa do jakiej użytkownik należy jest również przypisywana do pliku. Kiedy udostępniłeś jeden katalog wielu użytkownikom, wolałbyś pewnie, aby pliki tworzone w tym katalogu mogły być modyfikowane przez wszystkich uzytkowników.

Rozwiazanie numer jeden to przypisanie wszystkich użytkowników do jednej grupy, ale to dość kiepski pomysł.

Lepiej byłoby aby uprawnienia katalogu nadrzędnego były dziedziczone przez pliki w nim tworzone. Można zmienić działanie mechanizmu przypisywania pliku do grupy poprzez dodanie do katalogu nadrzędnego sticky bit do uprawnień katalogu:

chmod g+s katalog_nadrzedny

W efekcie każdy plik tworzony w tym katalogu będzie należał do takiej grupy, do której należy katalog nadrzędny, a nie do pierwszej grupy użytkownika tworzącego plik. W połączeniu z umask pozwoli to na skonfigurowanie wspólnego udostępnianego katalogu.

Dyskusja na ten temat: http://superuser.com/questions/151911/how-to-make-new-file-permission-inherit-from-the-parent-directory

By Rafał Kraik in Linuxy

Tablet Huawei S7 nie chce się włączyć. Rozładowana bateria.

2012-07-05

Powodem była rozładowana bateria. Zupełnie rozładowana bateria. Nigdy tego nie rób. To jakby wyjeżdżać na wakacje samochodem ze świecącą się kontrolką rezery paliwa… Dodatkowo po podłączniu ładowarki tablet zaświeca klawisze u dołu ekranu co 1 sekundę lub co 3 i wibruje.

Wyczytałem na sieci, że przyczyną jest hardware. No cóż. To nie jest wysokobudżetowy tablet, więc i zwiększona awaryjność jest dość zrozumiała. Czy więc trzeba oddać zabawkę do serwisu? Wcale nie. Można spróbować takich czynności:

1. Dla pewności wyjmij kartę SIM i kartę pamięci.

2. Wyjmij baterię

3. Nie wkładając baterii podłącz ładowarkę

4. Włącz tablet, jak zwykle. Powinien działać bez baterii.

5. Kiedy się już uruchomi włóż (na żywca!) baterię. Tę czynność starałem się wykonać szczególnie dokładnie i szybko, bo przewiduję, że to coś czego producent tabletu raczej nie przewisywał…

6. Kontrolka baterii będzie się przez pewien czas świecić na czerwono, a potem rozpocznie ładowanie baterii.

7. Na przyszłość pamiętaj, żeby nie rozładowywać baterii do końca. Nie tylko narażasz się w ten sposób na podobne problemy, ale jeszcze dodatkowo skracasz żywotność baterii.

Rozwiązanie zaczerpnięte z http://www.androidtablets.net/forum/huawei-ideos-s7-slim-technical/21659-huawei-s7-slim-does-not-shut-down-properly-then-wont-start-up.html

By Rafał Kraik in Błedy, Helpdesk

Zmiana nazwy bazy danych w MySQL

2012-07-05

Może to niezbyt „ładny sposób”, ale zadziałał:

1. Zatrzymałem mysql:

service mysql stop

2. Ustaliłem, gdzie sa przechowywane dane w mysql:

mysqladmin variables | grep datadir

3. Przeszedłem do tego katalogu (u mnie /var/lib/mysql/

4 Zminiłem nazwę podkatalogu. U mnie baza test miała się nazywać sait, więc komenda wygldała tak:

mv test sait

5. Uruchomiłem mysql:

service mysql start

Rozwizanie pochodzi z http://www.delphifaq.com/faq/databases/mysql/f574.shtml

By Rafał Kraik in Linuxy