אופיס 365 פונקציה שבודקת האם טופס פתוח גם כטופס משנה

  • הוסף לסימניות
  • #1
הרבה זמן שחיפשתי פונקציה שבודקת האם טופס פתוח כעת
ותחזיר True גם אם הוא פתוח כטופס משנה
לא מצאתי ברשת פתרון מעשי
היום נפל לי הרעיון

מצורף למעוניינים
קוד:
Public Function IsLoaded(Search As String, Optional Scan As Object) As Boolean
    Dim i As Object
    Dim First As Boolean
    If Scan Is Nothing Then First = True: Set Scan = Application.Forms
    For Each i In Scan
        If Not First Then
            If i.ControlType = acSubForm Then
                If Search = i(0).Parent.Name Then IsLoaded = True: Exit Function
                IsLoaded = IsLoaded(Search, i(0).Parent)
                If IsLoaded Then Exit Function
            End If
        Else
            If Search = i.Name Then IsLoaded = True: Exit Function
            IsLoaded = IsLoaded(Search, i)
            If IsLoaded Then Exit Function
        End If
    Next
End Function
 
נערך לאחרונה ב:
  • הוסף לסימניות
  • #2
נראה שהפונקציה נותנת אינדיקציה גם לאובייקטים אחרים ולא רק "טופס".
איך בודקים מצב של "דוח"?
 
  • הוסף לסימניות
  • #3
תנסה לנסח עם reports
מצב הצגה לפני הדפסה כנראה יהיה גם בעייתי

אולי מאוחר יותר אבדוק
נראה שהפונקציה נותנת אינדיקציה גם לאובייקטים אחרים ולא רק "טופס".
איך בודקים מצב של "דוח"
 
  • הוסף לסימניות
  • #4
נראה שהפונקציה נותנת אינדיקציה גם לאובייקטים אחרים ולא רק "טופס".
איך בודקים מצב של "דוח"?

תנסה לנסח עם reports
מצב הצגה לפני הדפסה כנראה יהיה גם בעייתי

אולי מאוחר יותר אבדוק
קוד:
Public Function IsLoadedReport(Search As String, Optional Scan As Object) As Boolean
    Dim i As Object
    Dim First As Boolean
    If Scan Is Nothing Then First = True: Set Scan = Application.Reports
    For Each i In Scan
        If Not First Then
            If i.ControlType = acSubform Then
                If Search = i(0).Parent.Name Then IsLoadedReport = True: Exit Function
                IsLoadedReport = IsLoadedReport(Search, i(0).Parent)
                If IsLoadedReport Then Exit Function
            End If
        Else
            If Search = i.Name Then IsLoadedReport = True: Exit Function
            IsLoadedReport = IsLoadedReport(Search, i)
            If IsLoadedReport Then Exit Function
        End If
    Next
End Function
 
  • הוסף לסימניות
  • #5
אם אני מבין נכון, למרות שמחפשים דוח, "האובייקט משנה" הוא טופס.
מה עם "דוח משנה"?
 
  • הוסף לסימניות
  • #6
אם אני מבין נכון, למרות שמחפשים דוח, "האובייקט משנה" הוא טופס.
מה עם "דוח משנה"?
נראה לי שזה אותו אובייקט
הבעיה היא שבהצגה לפני הדפסה שה לא עובד
 

פרוגבוט

תוכן שיווקי
פרסומת

הצטרפות לניוזלטר

איזה כיף שהצטרפתם לניוזלטר שלנו!

מעכשיו, תהיו הראשונים לקבל את כל העדכונים, החדשות, ההפתעות בלעדיות, והתכנים הכי חמים שלנו בפרוג!

לוח מודעות

הפרק היומי

הפרק היומי! כל ערב פרק תהילים חדש. הצטרפו אלינו לקריאת תהילים משותפת!


תהילים פרק כה

אלְדָוִד אֵלֶיךָ יי נַפְשִׁי אֶשָּׂא:באֱלֹהַי בְּךָ בָטַחְתִּי אַל אֵבוֹשָׁה אַל יַעַלְצוּ אֹיְבַי לִי:גגַּם כָּל קוֶֹיךָ לֹא יֵבֹשׁוּ יֵבֹשׁוּ הַבּוֹגְדִים רֵיקָם:דדְּרָכֶיךָ יי הוֹדִיעֵנִי אֹרְחוֹתֶיךָ לַמְּדֵנִי:ההַדְרִיכֵנִי בַאֲמִתֶּךָ וְלַמְּדֵנִי כִּי אַתָּה אֱלֹהֵי יִשְׁעִי אוֹתְךָ קִוִּיתִי כָּל הַיּוֹם:וזְכֹר רַחֲמֶיךָ יי וַחֲסָדֶיךָ כִּי מֵעוֹלָם הֵמָּה:זחַטֹּאות נְעוּרַי וּפְשָׁעַי אַל תִּזְכֹּר כְּחַסְדְּךָ זְכָר לִי אַתָּה לְמַעַן טוּבְךָ יי:חטוֹב וְיָשָׁר יי עַל כֵּן יוֹרֶה חַטָּאִים בַּדָּרֶךְ:טיַדְרֵךְ עֲנָוִים בַּמִּשְׁפָּט וִילַמֵּד עֲנָוִים דַּרְכּוֹ:יכָּל אָרְחוֹת יי חֶסֶד וֶאֱמֶת לְנֹצְרֵי בְרִיתוֹ וְעֵדֹתָיו:יאלְמַעַן שִׁמְךָ יי וְסָלַחְתָּ לַעֲוֹנִי כִּי רַב הוּא:יבמִי זֶה הָאִישׁ יְרֵא יי יוֹרֶנּוּ בְּדֶרֶךְ יִבְחָר:יגנַפְשׁוֹ בְּטוֹב תָּלִין וְזַרְעוֹ יִירַשׁ אָרֶץ:ידסוֹד יי לִירֵאָיו וּבְרִיתוֹ לְהוֹדִיעָם:טועֵינַי תָּמִיד אֶל יי כִּי הוּא יוֹצִיא מֵרֶשֶׁת רַגְלָי:טזפְּנֵה אֵלַי וְחָנֵּנִי כִּי יָחִיד וְעָנִי אָנִי:יזצָרוֹת לְבָבִי הִרְחִיבוּ מִמְּצוּקוֹתַי הוֹצִיאֵנִי:יחרְאֵה עָנְיִי וַעֲמָלִי וְשָׂא לְכָל חַטֹּאותָי:יטרְאֵה אוֹיְבַי כִּי רָבּוּ וְשִׂנְאַת חָמָס שְׂנֵאוּנִי:כשָׁמְרָה נַפְשִׁי וְהַצִּילֵנִי אַל אֵבוֹשׁ כִּי חָסִיתִי בָךְ:כאתֹּם וָיֹשֶׁר יִצְּרוּנִי כִּי קִוִּיתִיךָ:כבפְּדֵה אֱלֹהִים אֶת יִשְׂרָאֵל מִכֹּל צָרוֹתָיו:
נקרא  2  פעמים
למעלה