Łukasz M.

Łukasz M. Energetyka

Temat: Otwieranie Formularza w trybier do podgladu lub w trybie...

Drodzy koledzy mam pytanie czy da się uruchamiać formularz w trybie w którym da się przedglądać dane lub w trybie do edycji. Chciałbym to rozwiazać to w sposób tak, że np. Otwieramy formularz "FORMS1 w którym mamy 2 przyciski np. "Podglad" i "Edycia". Po wcisnięciu przycisku "Podglad" otwiera nam się formularz "FORMS2" w trybie podgladu tzn nie możemy zmieniać rekordów. Gdy jednak W formularzu "FORMS1" wybierzemy "EDYCIA" otwiera nam się ten sam formularz "FORMS2" ale już z możliwością zmiany.
Piszę o tym ponieważ z bazy danych która rzeźbię nają korzystac różne osoby jedne będa mieli dostep do "Edycji" i "Podgladu" a inni tylko do Podglądu. Może jeśli mam baze podzielona na wewnętrzną i zewnętrzną to ci którzy mają miec tylko "Podgląd" dostaną wszystkie formularze z poblokowanymi polami.

Jednak chciałbym wiedzięc czy da się coś takiego zrobić. I jak coś to podpowiedzi jak?

Chciałbym też wiedziec czy np po wybraniu okreslonego przycisku da się zablokowac przed edycią wcześniej wprowadzone dane. Tzn wprowadzam 5 lub 6 rekordów ale one są odblokowane do tego czasu do kiedy nie wcisnę przycisku?
Michał Dziubek

Michał Dziubek Programista,
INFORM\'1

Temat: Otwieranie Formularza w trybier do podgladu lub w trybie...

Nie potrzebujesz robić dwóch formularzy, zakładam że skoro masz uprawnienia to w jakiś sposób to sprawdzasz w aplikacji.
Jeżeli naprzykład masz to w zmiennej to, przy otwarciu formularza
ustaw właściwości mozna edytowac/dodawac zależnie od uprawnień w vba to własciwości allowedits itd.

Co do drugiej części to da się...Michał Dziubek edytował(a) ten post dnia 19.09.11 o godzinie 22:48
Łukasz M.

Łukasz M. Energetyka

Temat: Otwieranie Formularza w trybier do podgladu lub w trybie...

Kolego pytam tak o to blokowanie poniewaz potrzebuję rozwiazac jakoś problem, który polega na tym ze otwieram formularz z ostatnim wpisem, ale nie chcę by ten wpis był edytowalny. Następnie wciskam przycisk dublowania rekordu i dopiero w zdublowanym rekordzie chciałbym coś poprawić i zapisać. Do tej pory zrealizowałem to w ten sposób, że najpierw otwieram ostatni rekord w formularzu1, który jest zablokowany przed usuwaniem. Nastepnie klikam przyciskX i otwieram taki sam formularz2, który jest juz edytowalny. Ale zanim będę edytował rekord musze wcisnąc przyciskY z poleceniem dublowania rekordu i dopiero w dublowanym rekordzie (zmieniam)powinienem dokonywac zmian. Kiedyś juz pytałem o połączenie przycisku odpowiedzialenego za dublowanie z wejściem formularza2. Podpowiedziano że się da. Próbowałem przypiać przycisk polecenia pod zdarzenie formularza (przy otwarciu, po załadowaniu) ale nic nie chciało chodzić. Nie wiem jak poprostu połoczyć zdarzenie formularza z polecenim kryjącym się pod przyciskiem. Na jakimś przykaldzie byłoby mi łatwiej.
Michał Dziubek

Michał Dziubek Programista,
INFORM\'1

Temat: Otwieranie Formularza w trybier do podgladu lub w trybie...

Ciężko mi zrozumieć o co chodzi więc rozwiniemy to w punktach:
1. Jestem na formularzu A (edycja zablokowana)
2. Klikam przycisk A1
3. Otwiera się formularz B (edycja dozwolona)
4. Klikam przycisk B1
5. Robię kopię rekordu i edytuje

Naprowadź czy dobrze zrozumiałem, a może wyjdźmy bardziej ogólnie,
opisz istote problemu bez rozważań technicznych bo trudno to zrozumieć.

Z tego co mi sie wydaje to chcesz mieć historyczność zmian danego rekordu,
ale nie wiem czy dobrze wnioskuje...
Próbowałem przypiać przycisk polecenia pod zdarzenie formularza (przy
otwarciu, po załadowaniu) ale nic nie chciało chodzić. Nie wiem jak poprostu
połoczyć zdarzenie formularza z polecenim kryjącym się pod przyciskiem. Na
jakimś przykaldzie byłoby mi łatwiej.

Tego to już nie rozumiem, jeżeli chcesz wywołać zdarzenie przycisku w zdarzeniu przy otwerciu formularza to wpisz w kodzi:
Call nazwa_przycisku_Cilck()
Michał Dziubek edytował(a) ten post dnia 20.09.11 o godzinie 16:45
Monika M.

Monika M. PROGRAMISTA VBA,
Excel, Access,
Outlook, Word -
SZKOLENIA

Temat: Otwieranie Formularza w trybier do podgladu lub w trybie...

Łukasz Mamrot:
czy da się uruchamiać formularz w trybie w którym da się przedglądać dane lub w trybie do edycji. Chciałbym to rozwiazać to w sposób tak, że np. Otwieramy formularz "FORMS1 w którym mamy 2 przyciski np. "Podglad" i "Edycia". Po wcisnięciu przycisku "Podglad" otwiera nam się formularz "FORMS2" w trybie podgladu tzn nie możemy zmieniać rekordów. Gdy jednak W formularzu "FORMS1" wybierzemy "EDYCIA" otwiera nam się ten sam formularz "FORMS2" ale już z możliwością zmiany.

Można otwierać ten sam formularz w różnych trybach, tzn. w trybie "tylko do odczytu", dodawania (nowego rekordu), normalnym (wtedy możliwa jest edycja i przeglądanie rekordów).
Składnia VBA do otwierania formularzy (kod pod przycisk):

DoCmd.OpenForm(FormName, View, FilterName, WhereCondition, DataMode, WindowMode, OpenArgs)

DataMode może mieć wartości:
acFormAdd (0) - The user can add new records but can't edit existing records.
acFormEdit (1) - The user can edit existing records and add new records.
acFormPropertySettings (-1) - The user can only change the form's properties.
acFormReadOnly (2) The user can only view records.
Piszę o tym ponieważ z bazy danych która rzeźbię nają korzystac różne osoby jedne będa mieli dostep do "Edycji" i "Podgladu" a inni tylko do Podglądu. Może jeśli mam baze podzielona na wewnętrzną i zewnętrzną to ci którzy mają miec tylko "Podgląd" dostaną wszystkie formularze z poblokowanymi polami.

Mimo powyższego, tj. możliwości otwierania tego samego formularza w różnych trybach - zastanowiłabym się nad utworzeniem osobnych formularzy dla różnych grup użytkowników. Np. dzięki temu można by było ukryć niektóre pola - byłyby niewidoczne itp.
Takie otwieranie w różnych trybach jest fajne, o ile chodzi o proste formularze, natomiast, jeśli pojawiają się jakieś przyciski typu "Edycja", "Usuń", "Dodaj" itp., które mają być "włączone" w zależności od różnych przypadków, to otwieranie takiego formularza komplikuje kod i ja osobiście wolę w takich przypadkach osobne formularze.
W tym projekcie należałoby się zastanowić, co dalej będzie potrzebne i rozważyć, jakie rozwiązanie będzie lepsze.
Michał Dziubek

Michał Dziubek Programista,
INFORM\'1

Temat: Otwieranie Formularza w trybier do podgladu lub w trybie...

Monika M.:
Mimo powyższego, tj. możliwości otwierania tego samego formularza w różnych trybach - zastanowiłabym się nad utworzeniem osobnych formularzy dla różnych grup użytkowników. Np. dzięki temu można by było ukryć niektóre pola - byłyby niewidoczne itp.
Takie otwieranie w różnych trybach jest fajne, o ile chodzi o proste formularze, natomiast, jeśli pojawiają się jakieś przyciski typu "Edycja", "Usuń", "Dodaj" itp., które mają być "włączone" w zależności od różnych przypadków, to otwieranie takiego formularza komplikuje kod i ja osobiście wolę w takich przypadkach osobne formularze.
W tym projekcie należałoby się zastanowić, co dalej będzie potrzebne i rozważyć, jakie rozwiązanie będzie lepsze.

Ja jestem przeciwnikiem 2 formularzy do tego samego, kiedyś też stosowałem takie rozwiązanie, ale drażniło mnie że w przypadku redesignu muszę to robić x2...
Co do przycisków usuń/edytuj/wklej to ja zawsze mam tabele z opisanym paskiem narzędzi, (używam standardowego microsoftowego toolbara), w której jest pole kiedy ma być włączone, i teraz przy otwarciu formularza jest jedna funkcja odpowiedzialna za wygląd toolbarsa i zależnie od konfiguracji pokazuje lub nie, bądź też wyłącza przyciski, także skomplikowanie to jedna linijka kodu w kodzie przy otwarciu, a funkcja jest w module i wykorzystywana przez reszte formularzy
Monika M.

Monika M. PROGRAMISTA VBA,
Excel, Access,
Outlook, Word -
SZKOLENIA

Temat: Otwieranie Formularza w trybier do podgladu lub w trybie...

Michał Dziubek:
Ja jestem przeciwnikiem 2 formularzy do tego samego, kiedyś też stosowałem takie rozwiązanie,...

No każdy ma swoje rozwiązania ;)
ale drażniło mnie że w przypadku redesignu muszę to robić x2...

A to się zgadza, też mnie drażni, dlatego przy prostych formularzach robię wywołanie z parametrami.
Co do przycisków usuń/edytuj/wklej to ja zawsze mam tabele z opisanym paskiem narzędzi, (używam standardowego microsoftowego toolbara), w której jest pole kiedy ma być włączone...

Ha! Tylko nie sądzę, żeby Pan Łukasz - póki co - mógł wdrożyć takie rozwiązanie ;)
Michał Dziubek

Michał Dziubek Programista,
INFORM\'1

Temat: Otwieranie Formularza w trybier do podgladu lub w trybie...

Efekt jest tego taki, że albo wybieramy interakcje formularza zależenie od parametrów, albo dla każdej interakcji osobny formularz.
Różnica jest taka, że w pierwszym przypadku trzeba poświęcić trochę więcej czasu na rozwiązanie, ale można wtedy użyć kodu wielokrotnie.
W przypadku 2 lub więcej formularzy trzeba powielać swoją pracę, a i tak gdzieś w kodzie trzeba sprawdzić który z nich otworzyć.
Wybór zależy od preferencji/umiejętności autora. Tak jak pisałem wyżej to pierwsze wydaje mi się lepsze.

Następna dyskusja:

Plik xls otwarty w trybie e...




Wyślij zaproszenie do