-
כמה שאלות להבהרה:
-
מה נותן לנו מזהה השורה? לקשר את תאי ההזנה למזהה שורה? יש בכך עוד צורך/תועלת?
-
על מנת לערוך את תאריך החזרה יהיה חובה לגשת למסד, אכן? (זה לא נורא...)
-
ולהיות בטוח שאני לא טועה... כאשר אנחנו מדברים על מזהה דף ופרק, הכוונה שבמסכת שבת אני ממשיך במוקם בו הפסקתי במסכת ברכות.
-
-
@פלורידה אמר בהתייעצות | בניית מסד נתונים לתכנת "הדרן עלך" | אקסל:
כמה שאלות להבהרה:
- מה נותן לנו מזהה השורה? לקשר את תאי ההזנה למזהה שורה? יש בכך עוד צורך/תועלת?
הוא משמש לקשר בין כל הטבלאות.
אמנם בטבלה ד הוא לכאורה מיותר, אבל הוספתי אותו כי
א. בבסיסי נתונים זו מוסכמה להוסיף שדה מזהה ייחודי לכל שורה.
ב שמא יהיה לו איזשהו שימוש בעתיד.- על מנת לערוך את תאריך החזרה יהיה חובה לגשת למסד, אכן? (זה לא נורא...)
אפשר אולי להוסיף בדיקה בקוד כאשר המשתמש מקליק על תא שיש בו כבר ערך. ולשאול האם לשכתב את הערך הקיים. ואז כן, צריך לאתר את השורה המתאימה במסד ולעדכן.
- ולהיות בטוח שאני לא טועה... כאשר אנחנו מדברים על מזהה דף ופרק, הכוונה שבמסכת שבת אני ממשיך במוקם בו הפסקתי במסכת ברכות.
אתה צודק מאוד. המזהה הנ"ל אמור להיות ייחודי, דהיינו לכל עמוד יש מזהה שלו. אם ניקח לדוגמא את מסכת ברכות שמסתיימת בעמוד סד. המזהה של עמוד זה אמור להיות אאל"ט מספר 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)
מה המטרה שלי? פשוט אני חושש שנגלה שחסרים דפים...
למשל כעת גיליתי שחסר כאלו בפרק הראשון מסדר זרעים -
@פלורידה אמר בהתייעצות | בניית מסד נתונים לתכנת "הדרן עלך" | אקסל:
(כגון: פרק ב' ממסכת שבת יהיה 202 כאשר המספר הראשון בא לומר את המסכת והמספר השני את הפרק. וכמו כן לגבי הדפים דף ל ממסכת יומא יהיה 703005 מסכת 7 פרק 03 דף 005)
או שאולי עדיף באופן אחר שהמסכתות יהיו מיוצגות במאות אלפים כגון מסכת ברכות 100000 ומסכת נדה 2400000.
הפרקים יהיו מיוצגים באלפים כגון פרק א: 1000 ופרק 24: 24000
והדפים יהיו מיוצגים ביחידות כגון: דף ב. 1 דף קנז: 356.כך שדף סד: שנמצא בפרק עשירי ממסכת נדה יהיה 2410122 כלומר 24000000+10000+122.
בשיטה הזו לא יהיה בכלל מזהים כפולים לא בפרקים ולא במסכתות וכן יקל ההכנה (משום שלדעת את מזהה הדף, צריך לעשות את מספר הדף בפרק+מספר הפרק+מספר המסכת)
ייתכן וזה יחסוך גם בפונקציות בהמשך, כי לפי מאות האלפים כך ברור איזו מסכת מדובר (כמובן אם יהיה לאקסל מודול שמסביר)
-
-
@פלורידה אמר בהתייעצות | בניית מסד נתונים לתכנת "הדרן עלך" | אקסל:
האפס שלפני המליון, חובה?
לא. הוספתי אותו ליתר ביאור.
המשתנה של העמוד, מה הסבירות שהוא יוכל להועיל לנו? (פשוט בשביל למלאות אותו לא ממש מועיל למשוך בידית המילוי, אין לו סדר רציונלי כלשהו כדי שהוא יהיה סידרה, אצטרך לכתוב סידרה בדרך כלשהי של 350 תאים )
אני חושב שהוא יקל על פיענוח מספר הדף, כי לא צריך לחלק את הערך ב-2 וכו'.
אפשר ליצור את הסדרה ממש בקלות יחסית, על ידי עמודות עזר.
עמודה א: מספר הדף - מספר רץ
עמודה ב: מספר עמוד - מתחלף בין 1 ל-2 כל הזמן.
עמודה ג: צירוף של עמודות א+ב. -
@odeddvir אמר בהתייעצות | בניית מסד נתונים לתכנת "הדרן עלך" | אקסל:
@פלורידה זה הכיוון שחשבתי, להקצות מספר תווים קבוע לכל משתנה. הייתי מציין אפילו את העמוד.
ובאופן כללי AABBCCCD
AA מציין את המסכת
BB את הפרק
CC את הדף
D את העמודבהנחה, והתוכנה ניבנית גם בעבור עניינים אחרים, כגון שולחן ערוך וכדו', צריך להוסיף גם מזהה בטווח המיליארד?
או שכבר יהיה עדיף לבנות פונקציה מתאימה לכל נושא?