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

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

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

מחפש נוסחה לכלל אימות באקסס

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

    @upsilon01
    אני מדבר על אקסס

    upsilon01U מנותק
    upsilon01U מנותק
    upsilon01
    כתב ב נערך לאחרונה על ידי upsilon01
    #4

    @שלומ אופס, לא שמתי לב
    אתה צריך להוסיף אילוץ למסד נתונים משהו כזה:

    create table exams(
    id int identity,
    exam_date date,
    student varchar(20)
    perek varchar(20),
    check(perek not in (select perek from exams where exam_date where >=DATEADD(m, -3, GETDATE())))
    )
    

    תסביר איך נראה האקסס שלך
    ואולי יוכלו לעזור לך יותר

    מנצפךמ תגובה 1 תגובה אחרונה
    2
    • שלומש מנותק
      שלומש מנותק
      שלומ
      כתב ב נערך לאחרונה על ידי שלומ
      #5

      @upsilon01
      זה לא הולך לי
      הטבלה שבו אני רוצה את הנוסחה הנ"ל מורכבת מ3 עמודות
      1 שם תלמיד - שנלקח מטבלת תלמידים
      2 פרק - שנלקח מטבלת פרקים
      3 תאריך
      בטבלה הזאת נשמרים כל הנתונים
      בעצם מה שאני צריך שלא יהיה אופציה לרשום שם תלמיד ופרק בתאריך שהוא פחות מ3 חודשים

      תגובה 1 תגובה אחרונה
      0
      • שלומש שלומ

        הקובץ מיועד לרישום תלמידים ומבחנים על פרקי משניות
        המטרה היא שלא יוכלו להיבחן על אותו דבר לפני 3 חודשים
        הטבלה שבו אני רוצה לשים את הכלל אימות הנ"ל מורכב מ4 עמודות
        מזהה,שם תלמיד,פרק,ותאריך
        אני מחפש נוסחה שתיתן לי במידה והתלמיד 1 נבחן על פרק מספר1 בתאריך שהוא פחות מ3 חודשים
        המערכתת לא תיתן להוסיף את הבחינה הזאת
        תודה מראש

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

        @שלומ
        יש כמה דרכים.
        אפשר עם DLookUp או עדיף יותר DCount
        ואז לסנן לפיו.

        אבל יותר הייתי הולך על סינון של Not In - ולא ככלל אימות, אלא בתוך הלוגיקה של ההכנסה
        משהו בסגנון של

        select id, studentID, part, testDate from table 
        where studentID Not In (select studentID From TblTests WHERE StudentID = table.studentID And part=table.part And testDate<(Date()-90) )
        
        

        כתבתי את הSQL הזה בשליפה ישר כאן ולא באקסס, אז יכול להיות שפיספסתי משהו. אבל זה הכיוון הנכון לדעתי.
        שים לב שלקחתי 90 יום ולא 3 חודשים, זה לפישוט העניין, כי הנושא של סינון תאריכים קצת בעייתי בסינון בDB במיוחד עם התצוגות תאריך באקסס - ואם עושים עדיף לעשות את זה עם פונקצייה תומכת כמו DateSerial + BuildCriteria

        אם תעלה דוגמא, אז זה יכול להיות יותר ממוקד.
        בהצלחה 🙂

        עריכה: אני רואה ש @upsilon01 הקדים אותי עם הNot In....
        אגב הסיבה שאני לא אוהב את הכלל אימות, כי בסוף תמיד יש חריגים 😮
        @ארכיטקט לזכרוני חסיד שככל הלוגיקה תשב בDB ורק שם.

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

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

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

          מה השם של הטבלה?
          ומה שמות העמודות(במדויק)?

          שלומש תגובה 1 תגובה אחרונה
          1
          • upsilon01U upsilon01

            מה השם של הטבלה?
            ומה שמות העמודות(במדויק)?

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

            @upsilon01 אמר במחפש נוסחה לכלל אימות באקסס:

            מה השם של הטבלה?
            ומה שמות העמודות(במדויק)?

            הטבלה היא [בחינות]
            עמודה 1 [שם תלמיד]
            עמודה 2 [פרק]
            עמודה 3 [תאריך]
            @clickone
            מוצ"ב הקובץ
            מסד נתונים.accdb
            @upsilon01 @clickone יכול להיות שאם הייתי בונה את המסד בצורה אחרת היה יותר קל?
            למשל לפתוח לכל תלמיד טבלת בחינות ששם יישמרו הנתונים ולהגדיר שיהיה ללא כפילויות ולשים הגדרה שאפשר לעדכן רק אם עבר 90 יום
            מה אתם אומרים?
            אבל אני לא יודע אם יש אופציה כזאת באקסס שכשאתה מוסיף רשומה נפתחת אוטומטית טבלה מקושרת בעיצוב מסוים
            אולי במאקרו אפשר לעשות את זה ?
            תודה

            upsilon01U תגובה 1 תגובה אחרונה
            0
            • שלומש שלומ

              @upsilon01 אמר במחפש נוסחה לכלל אימות באקסס:

              מה השם של הטבלה?
              ומה שמות העמודות(במדויק)?

              הטבלה היא [בחינות]
              עמודה 1 [שם תלמיד]
              עמודה 2 [פרק]
              עמודה 3 [תאריך]
              @clickone
              מוצ"ב הקובץ
              מסד נתונים.accdb
              @upsilon01 @clickone יכול להיות שאם הייתי בונה את המסד בצורה אחרת היה יותר קל?
              למשל לפתוח לכל תלמיד טבלת בחינות ששם יישמרו הנתונים ולהגדיר שיהיה ללא כפילויות ולשים הגדרה שאפשר לעדכן רק אם עבר 90 יום
              מה אתם אומרים?
              אבל אני לא יודע אם יש אופציה כזאת באקסס שכשאתה מוסיף רשומה נפתחת אוטומטית טבלה מקושרת בעיצוב מסוים
              אולי במאקרו אפשר לעשות את זה ?
              תודה

              upsilon01U מנותק
              upsilon01U מנותק
              upsilon01
              כתב ב נערך לאחרונה על ידי upsilon01
              #9

              @שלומ
              בגדול אתה צריך להחזיק שני טבלאות
              אחד לתלמידים
              ואחד למבחנים
              לדוגמא:

              תלמידים
              +----+--------------+-------+
              | id | student_name | class |
              +----+--------------+-------+
              | 1  | name 1       | א     |
              +----+--------------+-------+
              | 2  | name 2       | ב     |
              +----+--------------+-------+
              מבחנים:
              +---------+------------+-------+-----------+
              | exam_id | student_id | perek | exam_date |
              +---------+------------+-------+-----------+
              | 1       | 1          | 5     | 1/2/2019  |
              +---------+------------+-------+-----------+
              | 2       | 2          | 6     | 1/5/2019  |
              +---------+------------+-------+-----------+
              
              

              לדוגמא תלמיד 1 נבחן על פרק 5
              ותלמיד 2 נבחן על פרק 6

              ה {1} זה באג של nodbb

              שלומש תגובה 1 תגובה אחרונה
              0
              • upsilon01U upsilon01

                @שלומ
                בגדול אתה צריך להחזיק שני טבלאות
                אחד לתלמידים
                ואחד למבחנים
                לדוגמא:

                תלמידים
                +----+--------------+-------+
                | id | student_name | class |
                +----+--------------+-------+
                | 1  | name 1       | א     |
                +----+--------------+-------+
                | 2  | name 2       | ב     |
                +----+--------------+-------+
                מבחנים:
                +---------+------------+-------+-----------+
                | exam_id | student_id | perek | exam_date |
                +---------+------------+-------+-----------+
                | 1       | 1          | 5     | 1/2/2019  |
                +---------+------------+-------+-----------+
                | 2       | 2          | 6     | 1/5/2019  |
                +---------+------------+-------+-----------+
                
                

                לדוגמא תלמיד 1 נבחן על פרק 5
                ותלמיד 2 נבחן על פרק 6

                ה {1} זה באג של nodbb

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

                @upsilon01
                זה מה שיש לי בעצם
                העמודה תלמידים נלקח מטבלת תלמידים
                והעמודה פרק נלקח מטבלת פרקים

                upsilon01U תגובה 1 תגובה אחרונה
                0
                • שלומש שלומ

                  @upsilon01
                  זה מה שיש לי בעצם
                  העמודה תלמידים נלקח מטבלת תלמידים
                  והעמודה פרק נלקח מטבלת פרקים

                  upsilon01U מנותק
                  upsilon01U מנותק
                  upsilon01
                  כתב ב נערך לאחרונה על ידי
                  #11

                  @שלומ
                  מצוין
                  אז מה הבעיה?

                  שלומש תגובה 1 תגובה אחרונה
                  0
                  • upsilon01U upsilon01

                    @שלומ
                    מצוין
                    אז מה הבעיה?

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

                    @upsilon01
                    אבל אני צריך להגדיר כלל אימות שלא יאפשר לי להכניס מבחן למשתמש ופרק שלא עבר 3 חודשים
                    הוי אומר: שצריך משהוא שיחפש אם קיים אותו משתמש באותו פרק ואח"כ לבדוק אם עבר 3 חודשים

                    תגובה 1 תגובה אחרונה
                    0
                    • upsilon01U upsilon01

                      @שלומ אופס, לא שמתי לב
                      אתה צריך להוסיף אילוץ למסד נתונים משהו כזה:

                      create table exams(
                      id int identity,
                      exam_date date,
                      student varchar(20)
                      perek varchar(20),
                      check(perek not in (select perek from exams where exam_date where >=DATEADD(m, -3, GETDATE())))
                      )
                      

                      תסביר איך נראה האקסס שלך
                      ואולי יוכלו לעזור לך יותר

                      מנצפךמ מנותק
                      מנצפךמ מנותק
                      מנצפך
                      כתב ב נערך לאחרונה על ידי
                      #13

                      @upsilon01 שים לב שזה בסה"כ Access. ולא SqlServer ודומיו.
                      האילוצים שכתבת, אני לא מאמין שקיימים שם.

                      upsilon01U תגובה 1 תגובה אחרונה
                      2
                      • מנצפךמ מנצפך

                        @upsilon01 שים לב שזה בסה"כ Access. ולא SqlServer ודומיו.
                        האילוצים שכתבת, אני לא מאמין שקיימים שם.

                        upsilon01U מנותק
                        upsilon01U מנותק
                        upsilon01
                        כתב ב נערך לאחרונה על ידי
                        #14

                        @מנצפך
                        דווקא קיימים
                        access מריץ כמעט כל SQL

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

                          @שלומ 193e5407-c8ae-4bea-9a0a-8d5f5aa46731-image.png
                          בכלל אימות יש ליצור את הכלל שרוצים בדוגמא הנ"ל כאשר יוכנס בשדה DATE תאריך גדול משלושה חודשים מהיום תופיע הודעת שגיאה ולא יהיה ניתן להמשיך הלאה עד לתיקון התאריך ע"פ הכלל
                          אולי אם אני יבין בדיוק איזה כלל אתה רוצה עם החודשים אני יוכל לנסח כלל ספציפי למקרה שלך

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

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

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

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

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

                              תבדוק אם זה מתאים לך (קוד)
                              1568017048437-מסד-נתונים.zip

                              שלומש תגובה 1 תגובה אחרונה
                              3
                              • A amik

                                תבדוק אם זה מתאים לך (קוד)
                                1568017048437-מסד-נתונים.zip

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

                                @amik
                                תודה רבה רבה!!!
                                עזר לי מאוד

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


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

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

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