אופיס 365 שאלה למומחים!

KATZ

משתמש פעיל
שאלה למומחים בביטויים!
האם פונקציה IIF, יכול לזהות ארגמנטים כמו between and?
עשיתי ביטוי בשאילתה, שאם תנאי מתקיים, יחזיר לי רשומות שבין תאריך פלוני לפלוני, ואם לא מתקיים התנאי שיחזיר לי כל הרשומות.
למעשה החלק השני מתבצע, כלומר כאשר התנאי לא מתקיים הוא מחזיר לי כל הרשומות, אולם הצד הראשון לא מתבצע...
לעומת זאת כאשר אני מגדיר בביטוי טווח ללא IIF, הכל עובד מצויין....

אשמח לעזרה של המומחים....
 

מתמצא

משתמש פעיל
ברור שהיא מזהה
יכול מאוד להיות שלא סימנת ב # לפני ואחרי
לחילופין אם אתה רושם IIF דרך ה VB יתכן ופורמט התאריך משתנה לפורמט של MM/DD/YY וצריך להפוך אותו בחזרה על ידי Fornat
 

KATZ

משתמש פעיל
אם אני מפנה לשדה בטופס עם תאריך, גם צריך לסמן ב #
 

KATZ

משתמש פעיל
הנה דוגמא.
ראו הביטוי בשאילתה, הבנויה באופן שבודק אם תא מסוים הוא ריק, ואם כן אז הוא מחזיר את כל הרשומות, ואם לא הוא מחזיר טווח כפי שהוגדר.
למעשה הוא לא קולט כשמכניסים טווח, ובמקום להראות את הרשימה שבתוך הטווח, הוא מעלים את כל הרשומות.
תודה לכל העוזרים, אשמח לעוד טיפה עזרה
 

קבצים מצורפים

  • דוגמא.ZIP
    KB 22.1 · צפיות: 34

KATZ

משתמש פעיל
הנה הקוד, אשמח לדעת מה לא כתבתי טוב?
תודה מראש לכל המומחים...
קוד:
Like IIf(IsNull([Forms]![כרטסת תנועות כללי]![טקסט69]),"*", between Forms![כרטסת תנועות כללי]![טקסט69] and Forms![כרטסת תנועות כללי]![טקסט71] ))
 

מתמצא

משתמש פעיל
קוד:
Like IIf(IsNull([Forms]![כרטסת תנועות כללי]![טקסט69]),"*", "between #" & Forms![כרטסת תנועות כללי]![טקסט69] & "# and #" & Forms![כרטסת תנועות כללי]![טקסט71] & "#" ))
 

KATZ

משתמש פעיל
עדיין לא עובד!
הוא לא מחזיר לי שום רשומה...
אשמח אם תוכל לשלוח לי דוגמא בקובץ שצירפתי לעיל...
 
בעצם אם אתה צריך משהו לסנן תאריכים בטופס
מצו"ב קוד שמסנן את הטופס
SQL:
Private Sub סינון_תאריך_Click()


If IsNull(עד) Or (Nz(עד) = "") Then
Me.Filter = "((DateSerial(Year([טופס].[תאריך]), Month([טופס].[תאריך]), Day([טופס].[תאריך])) > #" & Format(החל, "MM/DD/YYYY") & "#))"
Me.FilterOn = True
Else
Me.Filter = "([טופס].[תאריך] Between #" & Format(החל, "MM/DD/YYYY") & "# And #" & Format(עד, "MM/DD/YYYY") & "#)"
Me.FilterOn = True
End If

End Sub
 

מתמצא

משתמש פעיל
עכשיו אני רואה שאתה מנסה לעשות את זה במקור הנתונים עצמו של הטופס על ידי הפניה אל תיבת הטקסט דרך FORMS
אני יכול לנסות לראות איך לפתור את זה, אבל למה לעשות כזה סינון מוזר? למה לא להשתמש בסינון על ידי קוד?????
תכניס את הקוד הזה לאירוע 'לאחר עדכון' של תיבות הטקסט
קוד:
if IsNull(me.[תאריך1]) or IsNull(me.[תאריך2]) then Exit Sub
me.Filter = "[תאריך] between #" &  Format([תאריך1],"mm/dd/yy")  & "# AND #" & Format([תאריך2],"mm/dd/yy") & "#"
me.FilterOn = True
מצורף בזה הדוגמא שלך
 

קבצים מצורפים

  • דוגמא.rar
    KB 33.8 · צפיות: 27

KATZ

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

אולי מעניין אותך גם...

הפרק היומי

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


תהילים פרק קכו

א שִׁיר הַמַּעֲלוֹת בְּשׁוּב יי אֶת שִׁיבַת צִיּוֹן הָיִינוּ כְּחֹלְמִים:ב אָז יִמָּלֵא שְׂחוֹק פִּינוּ וּלְשׁוֹנֵנוּ רִנָּה אָז יֹאמְרוּ בַגּוֹיִם הִגְדִּיל יי לַעֲשׂוֹת עִם אֵלֶּה:ג הִגְדִּיל יי לַעֲשׂוֹת עִמָּנוּ הָיִינוּ שְׂמֵחִים:ד שׁוּבָה יי אֶת (שבותנו) שְׁבִיתֵנוּ כַּאֲפִיקִים בַּנֶּגֶב:ה הַזֹּרְעִים בְּדִמְעָה בְּרִנָּה יִקְצֹרוּ:ו הָלוֹךְ יֵלֵךְ וּבָכֹה נֹשֵׂא מֶשֶׁךְ הַזָּרַע בֹּא יָבוֹא בְרִנָּה נֹשֵׂא אֲלֻמֹּתָיו:
נקרא  56  פעמים

לוח מודעות

למעלה