דילוג לתוכן
  • דף הבית
  • קטגוריות
  • פוסטים אחרונים
  • משתמשים
  • חיפוש
  • חוקי הפורום
כיווץ
תחומים

תחומים - פורום חרדי מקצועי

💡 רוצה לזכור קריאת שמע בזמן? לחץ כאן!
  1. דף הבית
  2. תכנות
  3. אקסס SQL: תנאי כפול (לא בני גד)

אקסס SQL: תנאי כפול (לא בני גד)

מתוזמן נעוץ נעול הועבר תכנות
10 פוסטים 4 כותבים 252 צפיות 3 עוקבים
  • מהישן לחדש
  • מהחדש לישן
  • הכי הרבה הצבעות
תגובה
  • תגובה כנושא
התחברו כדי לפרסם תגובה
נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
  • בעזרתוב מנותק
    בעזרתוב מנותק
    בעזרתו
    כתב ב נערך לאחרונה על ידי
    #1

    איך עושים בצורה הכי פשוטה, תנאי, שיחול רק בתנאי.
    ואסביר, אם אני משתמש בIIF או בswitch במשפט WHERE, זה נותן לי רק תנאי השוואה על תנאי. אם אני רוצה תנאים יותר מורכבים, כגון,
    אם טקסטבוקס פלוני מלא, הצג רק את הרשומות השוות לאותו טקסט.
    אם התאריך בתיבה הנ"ל הוא 11 בספטמבר 2001, הצג הכל.
    ואם היא ריקה, הצג רשומות between תאריך פלוני לתאריך פלמוני. את זה IIF לא נותן, משום שהוא מחזיר ערך אחד, ואותו הWHERE משווה לערך בשדה.
    מקווה שהדברים הובנו כהלכתם.

    WWWW תגובה 1 תגובה אחרונה
    0
    • S מנותק
      S מנותק
      Shmuel754
      כתב ב נערך לאחרונה על ידי
      #2

      תעשה פונקציה בVBA שיחזיר את הWHERE המתאים לתנאים.

      תגובה 1 תגובה אחרונה
      1
      • בעזרתוב מנותק
        בעזרתוב מנותק
        בעזרתו
        כתב ב נערך לאחרונה על ידי
        #3

        כלומר, הפונקציה תחזיר מחרוזת WHERE מלאה? SQL מקבל את זה?

        תגובה 1 תגובה אחרונה
        0
        • S מנותק
          S מנותק
          Shmuel754
          כתב ב נערך לאחרונה על ידי
          #4

          השאלה מאיפה אתה מפעיל את השאילתה.

          בעזרתוב תגובה 1 תגובה אחרונה
          1
          • S Shmuel754

            השאלה מאיפה אתה מפעיל את השאילתה.

            בעזרתוב מנותק
            בעזרתוב מנותק
            בעזרתו
            כתב ב נערך לאחרונה על ידי
            #5

            @Shmuel754 אמר באקסס SQL: תנאי כפול (לא בני גד):

            השאלה מאיפה אתה מפעיל את השאילתה.

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

            S תגובה 1 תגובה אחרונה
            0
            • בעזרתוב בעזרתו

              איך עושים בצורה הכי פשוטה, תנאי, שיחול רק בתנאי.
              ואסביר, אם אני משתמש בIIF או בswitch במשפט WHERE, זה נותן לי רק תנאי השוואה על תנאי. אם אני רוצה תנאים יותר מורכבים, כגון,
              אם טקסטבוקס פלוני מלא, הצג רק את הרשומות השוות לאותו טקסט.
              אם התאריך בתיבה הנ"ל הוא 11 בספטמבר 2001, הצג הכל.
              ואם היא ריקה, הצג רשומות between תאריך פלוני לתאריך פלמוני. את זה IIF לא נותן, משום שהוא מחזיר ערך אחד, ואותו הWHERE משווה לערך בשדה.
              מקווה שהדברים הובנו כהלכתם.

              WWWW מנותק
              WWWW מנותק
              WWW
              כתב ב נערך לאחרונה על ידי
              #6

              @בעזרתו אתה רוצה תנאי מקונן?

              WWW.netfree@gmail.com || קשבק! החזר כספי לבנק על רכישות באינטרנט || עונים על סקרים ומרוויחים כסף!

              תגובה 1 תגובה אחרונה
              0
              • בעזרתוב מנותק
                בעזרתוב מנותק
                בעזרתו
                כתב ב נערך לאחרונה על ידי
                #7

                כן. אבל:
                א. תנאי מקונן בSQL ולא בקוד.
                ב. התנאי יתן לי תנאי ולא ערך.

                dovidD תגובה 1 תגובה אחרונה
                0
                • בעזרתוב בעזרתו

                  @Shmuel754 אמר באקסס SQL: תנאי כפול (לא בני גד):

                  השאלה מאיפה אתה מפעיל את השאילתה.

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

                  S מנותק
                  S מנותק
                  Shmuel754
                  כתב ב נערך לאחרונה על ידי
                  #8

                  @בעזרתו אמר באקסס SQL: תנאי כפול (לא בני גד):

                  @Shmuel754 אמר באקסס SQL: תנאי כפול (לא בני גד):

                  השאלה מאיפה אתה מפעיל את השאילתה.

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

                  תשמור את השאילתה ללא תנאי, ובקוד תשלוף את השאילתה ותצמיד את התנאי מהפונקציה ותפעיל.

                  תגובה 1 תגובה אחרונה
                  1
                  • בעזרתוב בעזרתו

                    כן. אבל:
                    א. תנאי מקונן בSQL ולא בקוד.
                    ב. התנאי יתן לי תנאי ולא ערך.

                    dovidD מחובר
                    dovidD מחובר
                    dovid
                    ניהול
                    כתב ב נערך לאחרונה על ידי dovid
                    #9

                    אם טקסטבוקס פלוני מלא, הצג רק את הרשומות השוות לאותו טקסט.
                    אם התאריך בתיבה הנ"ל הוא 11 בספטמבר 2001, הצג הכל.
                    ואם היא ריקה, הצג רשומות between תאריך פלוני לתאריך פלמוני. את זה IIF לא נותן, משום שהוא מחזיר ערך אחד, ואותו הWHERE משווה לערך בשדה.

                    @בעזרתו תעשה את זה עםשילוב של AND וOR

                    
                    WHERE
                    (textBox = "11 בספטמבר 2001") OR
                    (textBox <> "" AND Field like textBox) OR 
                    (textBox = "" AND Field2 between dateA and dateB) 
                    
                    

                    כמו"כ כמו ש@Shmuel754 כתב תוכל לעשות פונקציה שמקבלת את כלל השדות הנלקחים בחשבון ומחזירה כן או לא ואז הכל בWHERE ככה:

                    WHERE MyFunc(field1, field2, textBox)
                    

                    לדעתי כל עוד אפשר להימנע מפונקציה זה עדיף כי זה פחות בר התייעלות במנוע הפנימי של אקסס.

                    • מנטור אישי בתכנות והמסתעף – להתקדם לשלב הבא!
                    • בכל נושא אפשר ליצור קשר dovid@tchumim.com
                    בעזרתוב תגובה 1 תגובה אחרונה
                    4
                    • dovidD dovid

                      אם טקסטבוקס פלוני מלא, הצג רק את הרשומות השוות לאותו טקסט.
                      אם התאריך בתיבה הנ"ל הוא 11 בספטמבר 2001, הצג הכל.
                      ואם היא ריקה, הצג רשומות between תאריך פלוני לתאריך פלמוני. את זה IIF לא נותן, משום שהוא מחזיר ערך אחד, ואותו הWHERE משווה לערך בשדה.

                      @בעזרתו תעשה את זה עםשילוב של AND וOR

                      
                      WHERE
                      (textBox = "11 בספטמבר 2001") OR
                      (textBox <> "" AND Field like textBox) OR 
                      (textBox = "" AND Field2 between dateA and dateB) 
                      
                      

                      כמו"כ כמו ש@Shmuel754 כתב תוכל לעשות פונקציה שמקבלת את כלל השדות הנלקחים בחשבון ומחזירה כן או לא ואז הכל בWHERE ככה:

                      WHERE MyFunc(field1, field2, textBox)
                      

                      לדעתי כל עוד אפשר להימנע מפונקציה זה עדיף כי זה פחות בר התייעלות במנוע הפנימי של אקסס.

                      בעזרתוב מנותק
                      בעזרתוב מנותק
                      בעזרתו
                      כתב ב נערך לאחרונה על ידי
                      #10

                      @dovid אמר באקסס SQL: תנאי כפול (לא בני גד):

                      אם טקסטבוקס פלוני מלא, הצג רק את הרשומות השוות לאותו טקסט.
                      אם התאריך בתיבה הנ"ל הוא 11 בספטמבר 2001, הצג הכל.
                      ואם היא ריקה, הצג רשומות between תאריך פלוני לתאריך פלמוני. את זה IIF לא נותן, משום שהוא מחזיר ערך אחד, ואותו הWHERE משווה לערך בשדה.

                      @בעזרתו תעשה את זה עםשילוב של AND וOR

                      
                      WHERE
                      (textBox = "11 בספטמבר 2001") OR
                      (textBox <> "" AND Field like textBox) OR 
                      (textBox = "" AND Field2 between dateA and dateB) 
                      
                      

                      כמו"כ כמו ש@Shmuel754 כתב תוכל לעשות פונקציה שמקבלת את כלל השדות הנלקחים בחשבון ומחזירה כן או לא ואז הכל בWHERE ככה:

                      WHERE MyFunc(field1, field2, textBox)
                      

                      לדעתי כל עוד אפשר להימנע מפונקציה זה עדיף כי זה פחות בר התייעלות במנוע הפנימי של אקסס.

                      דוד המלך.
                      לכזה דבר חיכיתי, כמה פשוט ככה פשוט.
                      תודה.

                      תגובה 1 תגובה אחרונה
                      1
                      תגובה
                      • תגובה כנושא
                      התחברו כדי לפרסם תגובה
                      • מהישן לחדש
                      • מהחדש לישן
                      • הכי הרבה הצבעות


                      בא תתחבר לדף היומי!
                      • התחברות

                      • אין לך חשבון עדיין? הרשמה

                      • התחברו או הירשמו כדי לחפש.
                      • פוסט ראשון
                        פוסט אחרון
                      0
                      • דף הבית
                      • קטגוריות
                      • פוסטים אחרונים
                      • משתמשים
                      • חיפוש
                      • חוקי הפורום