תחומים
    • הרשמה
    • התחברות
    • חיפוש
    • קטגוריות
    • פוסטים אחרונים
    • משתמשים
    • חיפוש
    חוקי הפורום

    עזרה בקרטריון בשאילתה באקסס

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

      שלום

      האם ישנו ביטוי כדי לכתוב ב "שדה" שישלוף מטבלה באיזה שדה לחפש?

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

      בתודה מראש למי שיוכל לעזור!
      0_1539085190122_המחשה.jpg

      תגובה 1 תגובה אחרונה תגובה ציטוט 0
      • The shadow
        The shadow נערך לאחרונה על ידי The shadow

        טעות...

        תגובה 1 תגובה אחרונה תגובה ציטוט 1
        • חייםיודלביץ
          חייםיודלביץ נערך לאחרונה על ידי

          קודם כל תודה

          אני לא רוצה שיהא למשתמש כמו שאילתת פרמטר, אלא שיהא כמו דלוקאפ שהשאילתה תבדוק באיזה שדה לחפש כעת עפ"י מה שהוגדר,

          clickone תגובה 1 תגובה אחרונה תגובה ציטוט 0
          • clickone
            clickone @חייםיודלביץ נערך לאחרונה על ידי

            @חייםיודלביץ
            בקוד וודאי זה אפשרי.

            לא בקוד, אולי אתה יכול להשתמש בצורה מסויימת עם JOIN לטבלה MSysObjects (זו טבלה מוסתרת) אבל לא בדקתי.

            אין טסט כמו פרודקשן.

            המייל שלי urivpn@gmail.com

            חייםיודלביץ תגובה 1 תגובה אחרונה תגובה ציטוט 3
            • חייםיודלביץ
              חייםיודלביץ @clickone נערך לאחרונה על ידי

              @clickone אמר בעזרה בקרטריון בשאילתה באקסס:

              @חייםיודלביץ
              בקוד וודאי זה אפשרי.

              לא בקוד, אולי אתה יכול להשתמש בצורה מסויימת עם JOIN לטבלה MSysObjects (זו טבלה מוסתרת) אבל לא בדקתי.

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

              @clickone אמר בעזרה בקרטריון בשאילתה באקסס:

              @חייםיודלביץ
              לא בקוד, אולי אתה יכול להשתמש בצורה מסויימת עם JOIN לטבלה MSysObjects (זו טבלה מוסתרת) אבל לא בדקתי.

              לא הבנתי את דבריך, אני לא כל כך מקצוען, אשמח אם תוכל להסביר לי יותר
              תודה

              clickone תגובה 1 תגובה אחרונה תגובה ציטוט 0
              • clickone
                clickone @חייםיודלביץ נערך לאחרונה על ידי

                @חייםיודלביץ
                איפה אתה הולך להשתמש עם זה?
                בטופס?
                אתה רוצה לתת למשתמש אפשרות לבחור את השדה, אח"כ סוג השוואה וערך?
                אבל שמצד שני לא יצטרך להבין SQL

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

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

                אין טסט כמו פרודקשן.

                המייל שלי urivpn@gmail.com

                חייםיודלביץ תגובה 1 תגובה אחרונה תגובה ציטוט 1
                • חייםיודלביץ
                  חייםיודלביץ @clickone נערך לאחרונה על ידי

                  @clickone אמר בעזרה בקרטריון בשאילתה באקסס:

                  @חייםיודלביץ
                  איפה אתה הולך להשתמש עם זה?
                  בטופס?
                  אתה רוצה לתת למשתמש אפשרות לבחור את השדה, אח"כ סוג השוואה וערך?
                  אבל שמצד שני לא יצטרך להבין SQL

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

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

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

                  אם זה רק שינוי שדה ללא שיוני טבלה כן אפשר עם ביטוי?

                  clickone תגובה 1 תגובה אחרונה תגובה ציטוט 0
                  • clickone
                    clickone @חייםיודלביץ נערך לאחרונה על ידי

                    @חייםיודלביץ
                    אם כל השדות נמצאות בשאילתא וזה לא דינמי לגמרי אז כן
                    תשים את זה מתחת לכל השדות
                    כמובן תשנה בהתאמה
                    וצריך שהפילטר יהיה בOR ולא בAND
                    ז"א, בתצוגה אל תשים אותם באותה שורה, אלא כל אחד בשורה מתחת לשורה שמעל

                    like iif(forms!frmtest!cmbfiled="f1",forms!frmtest!txtfilter,"*")
                    

                    שים לב שאם זה הרבה נתונים / עמודות זה עלול להיות בזבזני ואיטי, ואז תחשוב שוב על קוד

                    אין טסט כמו פרודקשן.

                    המייל שלי urivpn@gmail.com

                    חייםיודלביץ תגובה 1 תגובה אחרונה תגובה ציטוט 2
                    • חייםיודלביץ
                      חייםיודלביץ @clickone נערך לאחרונה על ידי

                      @clickone אמר בעזרה בקרטריון בשאילתה באקסס:

                      @חייםיודלביץ
                      אם כל השדות נמצאות בשאילתא וזה לא דינמי לגמרי אז כן
                      תשים את זה מתחת לכל השדות
                      כמובן תשנה בהתאמה
                      וצריך שהפילטר יהיה בOR ולא בAND
                      ז"א, בתצוגה אל תשים אותם באותה שורה, אלא כל אחד בשורה מתחת לשורה שמעל

                      like iif(forms!frmtest!cmbfiled="f1",forms!frmtest!txtfilter,"*")
                      

                      שים לב שאם זה הרבה נתונים / עמודות זה עלול להיות בזבזני ואיטי, ואז תחשוב שוב על קוד

                      תודה!

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

                      כנראה שלא הבנתי את דבריך אשמח אם תוכל להסביר לי שוב

                      תודה

                      clickone תגובה 1 תגובה אחרונה תגובה ציטוט 0
                      • clickone
                        clickone @חייםיודלביץ נערך לאחרונה על ידי clickone

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

                        אין טסט כמו פרודקשן.

                        המייל שלי urivpn@gmail.com

                        חייםיודלביץ תגובה 1 תגובה אחרונה תגובה ציטוט 1
                        • חייםיודלביץ
                          חייםיודלביץ @clickone נערך לאחרונה על ידי

                          @clickone אמר בעזרה בקרטריון בשאילתה באקסס:

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

                          אתה מתכוון שאני יתן למשתמש טופס לבחור באיזה שדה הוא מעוניין לחפש ויהא הפניה בקרטריון לשדה בטופס שמכיל את שם השדה הרצוי בחיפוש?

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

                          תודה רבה על העזרה!

                          clickone תגובה 1 תגובה אחרונה תגובה ציטוט 0
                          • clickone
                            clickone @חייםיודלביץ נערך לאחרונה על ידי

                            @חייםיודלביץ

                            בשיטה הזו זה צריך להיות בטופס לכאורה (לא בדקתי אולי אפשר לעשות טריק אחר שיבקש את האותו הערך פעם אחת וזה ישפיע על הכל.

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

                            אין טסט כמו פרודקשן.

                            המייל שלי urivpn@gmail.com

                            תגובה 1 תגובה אחרונה תגובה ציטוט 0
                            • clickone
                              clickone נערך לאחרונה על ידי clickone

                              בקוד

                              תראה את הפיתרון כאן
                              https://answers.microsoft.com/en-us/msoffice/forum/msoffice_access-mso_other-mso_2007/query-column-name-to-match-text-box-and-change/c3849339-35aa-4593-875c-1c0b87cdcb9c

                              אין טסט כמו פרודקשן.

                              המייל שלי urivpn@gmail.com

                              תגובה 1 תגובה אחרונה תגובה ציטוט 2
                              • clickone
                                clickone נערך לאחרונה על ידי

                                הנה פיתרון מעניין בתוך השאיתא עצמה

                                 Switch([name?]="phone",[phone],[name?]="city",[city])
                                

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

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

                                [name?]="משפחה", [Family]
                                

                                נראה לי זה עושה מדוייק את מה שרצית, ולא יקר מבחינת ביצועים.

                                אין טסט כמו פרודקשן.

                                המייל שלי urivpn@gmail.com

                                חייםיודלביץ תגובה 1 תגובה אחרונה תגובה ציטוט 4
                                • חייםיודלביץ
                                  חייםיודלביץ @clickone נערך לאחרונה על ידי

                                  @clickone אמר בעזרה בקרטריון בשאילתה באקסס:

                                  הנה פיתרון מעניין בתוך השאיתא עצמה

                                   Switch([name?]="phone",[phone],[name?]="city",[city])
                                  

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

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

                                  [name?]="משפחה", [Family]
                                  

                                  נראה לי זה עושה מדוייק את מה שרצית, ולא יקר מבחינת ביצועים.

                                  להדביק את זה בשורת השדה או בשורת הקרטריונים?

                                  התבלבלתי קצת... הייתי באמצע להבין את התגובה הקודמת שלך עם הקוד.

                                  אשמח לעזרה
                                  שוב, תודה רבה רבה על המאמץ לעזור!

                                  חייםיודלביץ תגובה 1 תגובה אחרונה תגובה ציטוט 0
                                  • חייםיודלביץ
                                    חייםיודלביץ @חייםיודלביץ נערך לאחרונה על ידי

                                    שלום

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

                                    אשמח לעזרה.
                                    תודה

                                    clickone תגובה 1 תגובה אחרונה תגובה ציטוט 0
                                    • clickone
                                      clickone @חייםיודלביץ נערך לאחרונה על ידי

                                      @חייםיודלביץ
                                      הכי טוב דוגמא.....
                                      תפתח את השאילתא בקובץ.
                                      תכתוב יישוב ותראה מה יצא לך
                                      אח"כ תרענן תכתוב משפחה ותראה שהוא יביא לך את הנתונים מעמודה משפחה
                                      0_1539099953956_דוגמא.accdb

                                      בהצלחה

                                      אין טסט כמו פרודקשן.

                                      המייל שלי urivpn@gmail.com

                                      חייםיודלביץ תגובה 1 תגובה אחרונה תגובה ציטוט 3
                                      • חייםיודלביץ
                                        חייםיודלביץ @clickone נערך לאחרונה על ידי

                                        @clickone אמר בעזרה בקרטריון בשאילתה באקסס:

                                        @חייםיודלביץ
                                        הכי טוב דוגמא.....
                                        תפתח את השאילתא בקובץ.
                                        תכתוב יישוב ותראה מה יצא לך
                                        אח"כ תרענן תכתוב משפחה ותראה שהוא יביא לך את הנתונים מעמודה משפחה
                                        0_1539099953956_דוגמא.accdb

                                        בהצלחה

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

                                        תגובה 1 תגובה אחרונה תגובה ציטוט 4
                                        • הועבר מ תכנות ע"י  dovid dovid 
                                        • 1 / 1
                                        • פוסט ראשון
                                          פוסט אחרון
                                        בא תתחבר לדף היומי!