Strona: [  << <   1   > >>  ]  z  1     
Autor Temat: Funkcja sprawdzająca czy okna są otwarte
gauser




Typ: neutral
Postów: 16
Zarejestrowany: Aug 2004
Funkcja sprawdzająca czy okna są otwarte

Witam
Niezbędna jest mi funkcja, która sprawdza czy jakikolwiek formularz ze zbioru wszystkich dostępnych formularzy w bazie Access jest otwarty (widok Formularz) i jeżeli jest, to zwracająca jego nazwę.
Proszę o pomoc
Pozdrawiam

06-05-2005 17:44
Pokaż profil gauser  Wyślij email do gauser   
losmac
"profesorek"




Typ: neutral
Postów: 758
Zarejestrowany: May 2003

wylicza kolekcje otwartych formularzy

for each frm in forms
    msgbox frm.name
next


funkcja zwróci true jeśli formularz o zadanej nazwie jest otwarty

Function IsFrmLoaded(which as string) As Boolean

IsFrmLoaded = False

for each frm in forms
    if frm.name = which then IsFrmLoaded = true
next

End Function



_____________________________________________
POSTULATY STARUSZKA:
1) Ludzie, dbajcie o polszczyznę!!!
2) Ludzie, zadawajcie kompletne pytania, a nie rzucacie ochłapy i trzeba się domyślać o co chodzi!!!

Powodzenia
Maciej Łoś

11-05-2005 21:38
Pokaż profil losmac  Wyślij email do losmac   Odwiedź stronę losmac  
gauser




Typ: neutral
Postów: 16
Zarejestrowany: Aug 2004

Dzięki. Tę pierwszą funkcję mam tak poporstu wkleić, czy jeszcze ją trzeba przerobić ?

11-05-2005 22:58
Pokaż profil gauser  Wyślij email do gauser   
losmac
"profesorek"




Typ: neutral
Postów: 758
Zarejestrowany: May 2003


for each frm in forms
    msgbox frm.name
next

Ten fragment kodu nie jest funkcją!!!
Czytaj to tak:

for each frm in forms dla każdego otwartego formularza
    msgbox frm.name wyświetl jego nazwę
next pobierz kolejny


Dopiero to jest funkcją:

Function IsFrmLoaded(which as string) As Boolean

IsFrmLoaded = False

for each frm in forms
    if frm.name = which then IsFrmLoaded = true
next

End Function

A użyj tego tak:
Utwórz fromularz i umieść na nim przycisk.
Utwórz procedurę kliknięcia na przycisk.
A w środku wpisz:
Msgbox "Formularz: " & Me.Name & " jest załadowany: " IsFrmLoaded(Me.Name)


_____________________________________________
POSTULATY STARUSZKA:
1) Ludzie, dbajcie o polszczyznę!!!
2) Ludzie, zadawajcie kompletne pytania, a nie rzucacie ochłapy i trzeba się domyślać o co chodzi!!!

Powodzenia
Maciej Łoś

12-05-2005 22:47
Pokaż profil losmac  Wyślij email do losmac   Odwiedź stronę losmac  
mrowek




Typ: neutral
Postów: 3
Zarejestrowany: Apr 2005
poprawka !!

Public Function formss() As String
    Dim frm As AccessObject
   
    For Each frm In CurrentProject.AllForms
        If frm.IsLoaded = True Then
            If Forms(frm.Name).CurrentView = 1 Then
                formss = frm.Name
                Exit Function
            End If
        End If
    Next

End Function



powyższa funkcja (zmodyfikowana) zwraca nazwę pierwszego uruchomionego formularza (w widoku formularz)

mam tylko pytanie co chcesz zrobic z pozostałymi oknami które są uruchomione?

[Post edytowany dnia 14-05-2005 14:03 przez mrowek]


_____________________________________________
pozdrawiam
adam m.

--dobre wałki--
http://www.liamb.foxnet.pl/download/chinka128.mp3

13-05-2005 17:16
Pokaż profil mrowek  Wyślij email do mrowek        2744424
gauser




Typ: neutral
Postów: 16
Zarejestrowany: Aug 2004

Pozamykać Na razie jeszcz nie wiem, pewnie w przypadku gdyby Użytkownik wprowadzał dane do formularza, który trzeba by było zamknąć, dodam obsługę błędów.

13-05-2005 17:24
Pokaż profil gauser  Wyślij email do gauser   
Wszystkich odpowiedzi: 5 :: Maxymalnie na stronę: 20
Strona: [  << <   1   > >>  ]  z  1