-
@פלורידה אמר בהתייעצות | בניית מסד נתונים לתכנת "הדרן עלך" | אקסל:
איך יוצרים דבר כזה עם מספר חזרות בלתי מוגבל?
את מבנה הטבלה כבר ציין @chagold, ממילא אפשר להכניס כמה חזרות שרוצים עבור כל פרק.
השאלה היא איך תציג את הנתונים, כי כרגע אתה מציג 4 עמודות בלבד. -
@odeddvir זו לא תהיה בעיה בעז"ה. כי בפקודת מאקרו אפשר לבצע שכאשר יש במסד בטבלה כלשהי 4 חזרות מלאות תתווסף עמודה בטבלה הנוכחית. (נדמה לי שלא אמורה להיות בעיה מבחינת התאים המקושרים לטבלאות כיום, אם כי שבתרשים זה לא יופיע. וייווצרו בעיות מסוימות של עיצוב...)
אני בשאלתי התכוונתי להבין איך לבצע את אשר אמר @chagold , האם צריך להכין מראש טבלה לכל חזרה-כל פרק-לכל מסכת, או שבעצם אני צריך להניח טבלה שכל מה שיש בה הוא את הכותרת של שלוש עמודות, וההזנה תיצור בטבלה את השורות המתאימות?
אגב מה שכתבת הלוואי נצטרך לזה, זה לא בשמיים, לא צריך לגמור את כל הש"ס 4 פעמים, מספים שמישהו סיים דף מסויים 4 פעמים...
-
@פלורידה דוגמא:
טבלה ג: חזרות:מזהה מזהה פרק תאריך חזרה 1 3 01/01/2021 2 3 02/01/2021 3 3 03/01/2021 4 3 04/01/2021 ... ... ... 57 9 07/03/2021 58 1 08/03/2021 59 3 09/03/2021 בדוגמא מופיע שהמשתמש חזר על
פרק ג בברכות 5 פעמים (מזהה שורה 1,2,3,4,59)
ועל פרק א בברכות פעם אחת (מזהה שורה 58)
ועל פרק ט בברכות פעם אחת (מזהה שורה 57)שים לב שסדר ההכנסה לטבלה לא משנה.
וכן שוויתרתי על העמודהמספר חזרה
, כי אפשר לחשב את זה ממילא לפי התאריך. -
@פלורידה אויש, חסרה כאן טבלה עבור הדפים....
טבלה ג: דפים:
מזהה דף מזהה פרק שם הדף 1 1 ב. 2 1 ב: 3 1 ג. 4 1 ג: 5 1 ד. 6 1 ד: 7 1 ה. 8 1 ה: טבלה ד: תאריכי החזרות:
מזהה מזהה דף תאריך חזרה 1 1 01/01/2021 2 2 02/01/2021 3 3 03/01/2021 4 1 04/01/2021 5 3 05/01/2021 6 2 06/01/2021 7 3 07/01/2021 8 3 08/01/2021 כאן הוא חזר
פעמיים על ברכות ב.
פעמיים על ברכות ב:
ארבע פעמים על ברכות ג. -
כמה שאלות להבהרה:
-
מה נותן לנו מזהה השורה? לקשר את תאי ההזנה למזהה שורה? יש בכך עוד צורך/תועלת?
-
על מנת לערוך את תאריך החזרה יהיה חובה לגשת למסד, אכן? (זה לא נורא...)
-
ולהיות בטוח שאני לא טועה... כאשר אנחנו מדברים על מזהה דף ופרק, הכוונה שבמסכת שבת אני ממשיך במוקם בו הפסקתי במסכת ברכות.
-
-
@פלורידה אמר בהתייעצות | בניית מסד נתונים לתכנת "הדרן עלך" | אקסל:
כמה שאלות להבהרה:
- מה נותן לנו מזהה השורה? לקשר את תאי ההזנה למזהה שורה? יש בכך עוד צורך/תועלת?
הוא משמש לקשר בין כל הטבלאות.
אמנם בטבלה ד הוא לכאורה מיותר, אבל הוספתי אותו כי
א. בבסיסי נתונים זו מוסכמה להוסיף שדה מזהה ייחודי לכל שורה.
ב שמא יהיה לו איזשהו שימוש בעתיד.- על מנת לערוך את תאריך החזרה יהיה חובה לגשת למסד, אכן? (זה לא נורא...)
אפשר אולי להוסיף בדיקה בקוד כאשר המשתמש מקליק על תא שיש בו כבר ערך. ולשאול האם לשכתב את הערך הקיים. ואז כן, צריך לאתר את השורה המתאימה במסד ולעדכן.
- ולהיות בטוח שאני לא טועה... כאשר אנחנו מדברים על מזהה דף ופרק, הכוונה שבמסכת שבת אני ממשיך במוקם בו הפסקתי במסכת ברכות.
אתה צודק מאוד. המזהה הנ"ל אמור להיות ייחודי, דהיינו לכל עמוד יש מזהה שלו. אם ניקח לדוגמא את מסכת ברכות שמסתיימת בעמוד סד. המזהה של עמוד זה אמור להיות אאל"ט מספר 125 דהיינו 127-2 (כי אין עמוד א. ולא א: ) ואז מסכת שבת דף ב. מספרו 126.
-
@odeddvir אמר בהתייעצות | בניית מסד נתונים לתכנת "הדרן עלך" | אקסל:
@פלורידה אויש, חסרה כאן טבלה עבור הדפים....
טבלה ג: דפים:
מזהה דף מזהה פרק שם הדף 1 1 ב. 2 1 ב: 3 1 ג. 4 1 ג: 5 1 ד. 6 1 ד: 7 1 ה. 8 1 ה: טבלה ד: תאריכי החזרות:
מזהה מזהה דף תאריך חזרה 1 1 01/01/2021 2 2 02/01/2021 3 3 03/01/2021 4 1 04/01/2021 5 3 05/01/2021 6 2 06/01/2021 7 3 07/01/2021 8 3 08/01/2021 כאן הוא חזר
פעמיים על ברכות ב.
פעמיים על ברכות ב:
ארבע פעמים על ברכות ג.כמדו' שכעת ניתן לוותר על העמודה 'תאריך חזרה' בטבלת הפרקים, כי הנתונים מחושבים לפי טבלת הדפים.
-
לבטים:
באם אני מייצר כזה מסד, בכדי להשתמש בו אצטרך כמה דברים שאינם קיימים בתכנה כעת.
אני מנסה לברר אם כל הדברים הנ"ל מתאפשרים במסגרת אקסל + VBA
-
בכדי לקחת את המידע מהמסד, צריך לבדוק כמה חזרות יש/אין בכל דף ועל פי זה להניח בשורה ובתא המתאימים. האם זה אפשרי?
-
מה שכתבתי בסעיף 1. האם זה יוכל להיות גם בזמן אמת, כלומר בעת שאני ממלא את המסד, מיד יופיע הסימון במקומו? או שזה יצטרך להיות שאילתא בפעם בכמה דקות. (מה שיגרום שכאשר אסמן את התא, לא יופיע הסימון עד אשר תהיה שאילתא)
-
מכיון ש @chagold העלה את הרעיון לתת את האופציה לעוד חזרות, צריך להוסיף גם הגדרה שבעת סימון החזרה הרביעית תתווסף עמודה בשם הרלוונטי.
-
בהמשך לסעיף הקודם: כאשר אני מתקין תוכנה חדשה, יהיה בה רק 4 עמודות לכל טבלה, כאשר אני עושה שחזור מהמסד שבו יש 5 עמודות מסומנות, האם התוכנה יכולה לדעת שהיא צריכה להוסיף עמודה בכדי להיות מתאימה למסד?
אשמח לדעת האם הדברים הנ"ל אפשריים ומה רמה הקושי + המורכבות (כלומר האפשרות שזה ייצור המוני באגים עם המוני לאטעס' לפיתרון).
תודה רבה לכל משתמשי התכנה, העוזרים, המייעצים, והמגיבים!!!
-
-
@פלורידה ראשית כל הרבה תודה על היוזמה נהניתי מאווווד מהרעיון ועל אופן הביצוע הכמעט מושלם (מושלם אין אף פעם כך שזה מושלם לגמרי)
לגבי המסד נתונים לא הרבה התעמקתי במה ש @OdedDvir כתב..
אבל אני רוצה לציין כמה דברים- לבנות מסד נתונים באקסל זה לא משהו בריא למערכת כמו שלך ובמיוחד עם עדכונים הייתי ממליץ לך להתקדם לאקסס אני עשיתי שם דברים הרבה יותר טובים וכמה מעלות טובות באקסס
- הפרדת הנתונים מטפסים (כלומר התוכנה עצמה מהמסד הנתונים)
- בעת עדכון אתה לא צריך לוודא שהנתונים של המשתמש עוברים לעדכון החדש כי אתה מעדכן רק את התוכנה ולא את המסד נתונים
- סגירת האקסס בצורה בטוחה למשתמש וכו'
ואני מאמין שיש עוד הרבה אבל לא עולה לי כעת ...
- בכל אופן שים לב שכעת אתה מאפיין את המסד נתונים לפי ש"ס ששם יש לך 3 פרמטרים
- מסכת
- פרק
- עמוד
אבל אם תרצה לצורך העניין להוסיף שו"ע
יש לך 4 פרמטרים- חלק
- הלכות
- סימן
- סעיף
ויש עוד דוגמאות מעוד ספרים וכו'
-
@אוריי אמר בהתייעצות | בניית מסד נתונים לתכנת "הדרן עלך" | אקסל:
הייתי ממליץ לך להתקדם לאקסס
אני אישית לא התעסקתי מעולם עם אקסס. אם מישהו ירים את הכפפה, אני אהיה הראשון לעזור לו, בלי נדר.
@אוריי אמר בהתייעצות | בניית מסד נתונים לתכנת "הדרן עלך" | אקסל:
אבל אם תרצה לצורך העניין להוסיף שו"ע
יש לך 4 פרמטריםאך למעשה אני לא אוכל לעשות יותר מ3 פרמטרים, משום שאין לי את היכולת בתוכנה, כי פרמטר א. הוא בגליונות פרמטר ב. הוא הטבלאות פרמטר ג. השורות.
אז במידה ונעשה על שו"ע, נוותר על אחד הפרמטרים. (מסתבר שעל הסעיפים. או על החלקים)
ואולי זה עצמו סיבה שהתוכנה צריכה להיות בנויה באקסס...
תודה רבה על המשוב. אשמח בביקורת
-
@פלורידה עד כמה שאני אוהב את אקסס, לא הייתי מעניק לה בלעדיות על הפרוייקט הזה.
מבחינת יכולת עיצוב - אקסל הרבה יותר מסוגל. קח לדוגמא את היכולת להתרחק מהתצוגה, על ידי Ctrl+גלגל העכבר. דבר בסיסי, נכון? אז זהו, שאקסס עדיין צולעת מאחור בעוד הרבה דברים.
הנה דשבורד שעשוי כולו באקסל + VBA, נראה מי יכול לעשות כזה באקסס:
אפשרי לבנות רק את בסיס הנתונים באקסס, ולקשר את האקסל אליו. זו אופציה נחמדה, אבל היא תדרוש התקנה ראשונית יותר מסובכת של התוכנה, עם התקנה נלווית של ספריית הריצה של אקסס למי שאין לו במחשב (אא"כ תיצור קובץ אקסס מיושן...), והאמת שבשביל פרוייקט כזה, בסדר גודל קטן יחסית - יתכן וזו סתם מעמסה מיותרת. בפרט שבאקסל יש כיום את היכולת ליצור שאילתות מורכבות על ידי PowerQuery.
אפשר באותה המידה להשאר לגמרי באקסל, ולהפריד לשני אקסלים, אחד לנתונים ואחד לתצוגה.
אם בהמשך זה יגדל בעז"ה גם לשו"ע ועוד - באמת צריך לשקול להשתמש כאן בבסיס נתונים.
-
@odeddvir אמר בהתייעצות | בניית מסד נתונים לתכנת "הדרן עלך" | אקסל:
אפשרי לבנות רק את בסיס הנתונים באקסס, ולקשר את האקסל אליו.
והאמת שבשביל פרוייקט כזה, בסדר גודל קטן יחסית - יתכן וזו סתם מעמסה מיותרת. בפרט שבאקסל יש כיום את היכולת ליצור שאילתות מורכבות על ידי PowerQuery.
אפשר באותה המידה להשאר לגמרי באקסל, ולהפריד לשני אקסלים, אחד לנתונים ואחד לתצוגה.בכל אלו יש בכדי לפתור את בעיות 1, 2, ו-4?
אם בהמשך זה יגדל בעז"ה גם לשו"ע ועוד - באמת צריך לשקול להשתמש כאן בבסיס נתונים.
כבר יש מי שבתהליך בניה של "הדרן עלך" לשולחן ערוך
-
@odeddvir אמר בהתייעצות | בניית מסד נתונים לתכנת "הדרן עלך" | אקסל:
המזהה הנ"ל אמור להיות ייחודי, דהיינו לכל עמוד יש מזהה שלו.
מותר שלא יהיה סדר רציף?
(כגון: פרק ב' ממסכת שבת יהיה 202 כאשר המספר הראשון בא לומר את המסכת והמספר השני את הפרק. וכמו כן לגבי הדפים דף ל ממסכת יומא יהיה 703005 מסכת 7 פרק 03 דף 005)
מה המטרה שלי? פשוט אני חושש שנגלה שחסרים דפים...
למשל כעת גיליתי שחסר כאלו בפרק הראשון מסדר זרעים