Combobox access
-
תוסיף עמודה בטבלה המקורית, שהתוכן שלה יהיה המילה "כן".... ואותה תקבע כעמודה המוצגת בקומבו, וכרגיל את ה- ID מוסתר.
מקור השורה יהיה פשוט ללא חישובים ותנאים. במקרה כזה כאשר התלמיד לא מופיע, תשאר התיבה ריקה.צר לי לאכזב אותך, אבל זה לא יעזור כלום, המקרה הזה דומה בדיוק למקרה הקודם, כאשר אין רשומה מקבילה הוא לא יופיע ריק אלא יופיע ID שבטבלה שהיא מקור הדו"ח והשדה. אם השאלה שלי עדיין לא מובנת, אעלה כאן קובץ לדוגמא.
גם אם הרעיון הזה לא מוצא חן בעיניך, אפשר להגיב בצורה שתשאיר חשק להמשיך לדון איתך....
אתה צודק, אבל אל תדון את חברך עד שתגיע למקומו, אינני יודע כמה פעמים בשבוע יוצא לך להתקוטט עם טמטום של מיקרוסופט, כשבסופה של מריבה לא יוצא מזה כלום, אני לא לומד כלום ולא מתקדם כלום חוץ מעוד שורה על האטימות של מייקרוסופט, ומדיניות הקוד הסגור שלהם, תאמין לי שכשאני שואל שאלה בפורום, זה אחרי מלחמת התשה עקובה מעצבים, אני מרגיש שכל מי שמציע פתרון בשליפה מהשרוול זה כמו לזרוק נודות נפוחים על נפש צמאה... אז אנא....
פורסם במקור בפורום CODE613 ב23/01/2014 00:30 (+02:00)
-
אז רק שתדע שאני יושב עם אקסס כבר כמעט שעה רק על האתגר הזה...
ועשיתי כך: טבלת שמות אנשים וטבלת שמות ערים, בדו"ח שמתי קומבו שמושך שם עיר לפי ID של העיר בכתובות.
הוספתי ID ללא ערים במקביל, ויצא כך:כאשר היה איזשהו חישוב בשאילתה של מקור הפקד, אפילו רק בדיקת NULL וכל שכן סיכומים, קרתה התקלה המדוברת.
אבל אם רק שלפתי את הנתונים- בהעדר התאמה נותרה התיבה ריקה.
כמו שאני מבין אותך, לא יכלת לעשות כך כי אז היה מוצג סתם מספר חיוב אקראי ללא הסבר, ולכן הוספת איזשהו חישוב לבדוק אם וכמה וכו', ולכן הצעתי לך שדה קיים עם המילה כן.הנסיונות בוצעו באקסס 2013.
ובקשר להתקוטט עם מיקרוסופט, יש משהו יותר גרוע. הרצת דוח עם שגיאה בשליפת הנתונים שיוצרת הודעת שגיאה.
תלחץ אישור עד שכל האצבעות כואבות....פורסם במקור בפורום CODE613 ב23/01/2014 00:40 (+02:00)
-
בדוחו"ת אני שולף את שם העיר לפי הid ששמתי בשדה STAM.
ההבדל היחיד ביניהם שבאחד הדוחות יש תנאי במקור הפקד ששם העיר is not nullפורסם במקור בפורום CODE613 ב23/01/2014 01:47 (+02:00)
-
תודה רבה
אז לסיכום ככה:
אכן באקסס 2013 הם סידרו את הבעיה חלקית, כלומה כשאין משפט where בשאילתה (במקרה שלי אני דווקא צריך עם תנאי). ב 2007 זה לא עוזר בכלל.רק תבין שאם היינו אנשים שעובדים עם קוד פתוח, בשניות היינו נכנסים לגיט האב, מאתרים את הבנאי של הפקד, ומעלים הצעה לתיקון, או שהיינו מגלים שכבר עשו את זה הרבה לפנינו....... במייקרוסופט אני לא יודע אם יש מישהו שיודע בכלל על הבעיה, ושיודע למי לדווח על מה וכולי... לא נורא אני מתפלל שבתוך שנה כולנו כבר נהיה בעלי קוד פתוח לגמרי....
בכל אופן תודה רבה על העזרה
פורסם במקור בפורום CODE613 ב23/01/2014 11:43 (+02:00)
-
מצאתי משהו מעניין, תבדוק אצלך.
תשנה את העמודה המאוגדת בקומבו בוקס ל -0.
אצלי זה עבד!
טוב הבנתי איך זה עובד,
זה אמנם עובד בלי הבאג של החזרת הערך בשעה שאין ערך מקביל, אבל זה בכלל לא הערך שהוא מאגד, שים לב שזה מאוגד למאפיין ListIndex שבסך הכל מצביע על מספר השורה שנבחרה... הערכים שהוא מחזיר לא נכונים בכלל כאשר אני מסתכל על הID :lol: :lol: :lol: :lol: :lol:
שים לב שאם תשנה את האורדר בי במקור הרשומה, הערכים ישתנו לך פתאום....
כנראה שאין מנוס מלהיכנע שוב, ולעשות דברים לא נכונים בקוד כדי להתגבר על בעיית תצוגה כל כך שולית וטפשית, או לעשות קוד לא יעיל לצערי הרב..... אז אם מישהו יש לו בכל זאת רעיון, זה אתגר שיכול לפתור הרבה מאוד כאב ראש באקסס, יעזור מאוד.תודה
פורסם במקור בפורום CODE613 ב23/01/2014 18:08 (+02:00)
-
לפחות משהו אחד טוב כן יצא מזה, למדתי על המאפיין הזה שנקרא ListInex שמחזיר -1 כאשר הערך איננו קיים ברשימה, ואז עשיתי קוד (לא פתרון הכי נקי, אבל לפחות משהו) שמסתיר את המידע כאשר הערך לא נמצא ברשומה, איך??? לא תאמינו, פשוט משחקי צבעים....
Private Sub פירוט_Format(Cancel As Integer, FormatCount As Integer) 'On Error Resume Next If meals.ListIndex = -1 Then meals.ForeColor = meals.BackColor Else meals.ForeColor = vbBlack End If End Sub
טוב אז מבחינתי אפשר לסגור את האשכול, לא נראה לי שמשהו יותר טוב יכול לצוץ פתאום, אני מסמן וי.
פורסם במקור בפורום CODE613 ב23/01/2014 18:18 (+02:00)
-
קצת יצאתי אידיוט באשכול הזה....
האמת היא שעבדתי על ID במספרים נמוכים, ולכן לא הבחנתי שהערכים לא תואמים. ראיתי שזה עובר לאיגוד לליסט אינדקס,
ולכן רציתי שתבדוק אצלך. היתה לי השערה שבדוחות זה יפעל בכל זאת....שוין, העיקר שיצא משהו טוב.
פורסם במקור בפורום CODE613 ב23/01/2014 19:36 (+02:00)
-
לפחות משהו אחד טוב כן יצא מזה, למדתי על המאפיין הזה שנקרא ListInex שמחזיר -1 כאשר הערך איננו קיים ברשימה, ואז עשיתי קוד (לא פתרון הכי נקי, אבל לפחות משהו) שמסתיר את המידע כאשר הערך לא נמצא ברשומה, איך??? לא תאמינו, פשוט משחקי צבעים....
Private Sub פירוט_Format(Cancel As Integer, FormatCount As Integer) 'On Error Resume Next If meals.ListIndex = -1 Then meals.ForeColor = meals.BackColor Else meals.ForeColor = vbBlack End If End Sub
טוב אז מבחינתי אפשר לסגור את האשכול, לא נראה לי שמשהו יותר טוב יכול לצוץ פתאום, אני מסמן וי.
לכאורה במקום קוד יכולת לשים את זה בעיצוב מותנה, לא?
לא בדקתי, אבל אני משער...
בכל מקרה בקוד יכולת לעשות כך:meals.ForeColor =iif(meals.ListIndex = -1, meals.BackColor,vbBlack)
נראה לי יותר קצר <!-- s8-) --><img src="{SMILIES_PATH}/icon_cool.gif" alt="8-)" title="מגניב" /><!-- s8-) -->
עריכה: והמספר שהוא מחזיר בליסט אינדקס זה המספר של האיבר במערך האפשרויות בליסט. (בעצם הסיבה שקומבו רץ יותר מהר מDLookUp (וכמו שאמרת בשאלה הראשונה שלך) היא שהשאילתא רצה פעם אחת וכל פעם רק מוצאת את הנתון בליסט...
פורסם במקור בפורום CODE613 ב25/01/2014 22:26 (+02:00)