תצוגה והקלדה של שנה בלבד בשדה תאריך
-
שלום לכולם,
יש לי שדה שבו הערך האו מסוג תאריך (השדה הוא ב SQL SERVER מחובר ב ODBC לאקסס) אולם כלפי התצוגה ללקוח אני צריך שיהיה רק שנה גם לגבי הזנת נתונים וגם לגבי הצגת נתונים. איך אני עושה את זה בשדה מאוגד. ניסתי מסכות קלט, פורמטים, לא ממש עוזר.תודה.
פורסם במקור בפורום CODE613 ב28/05/2014 17:05 (+03:00)
-
אז למה לא להשתמש בסוג מספר? (ומקסימום לבדוק אם הטווח הוא בין 1900 ל2100)
אם זה אפשרי מבחינתך, אז תעשה ברירת מחדל את ה1 לינואר של כל שנה, ובתבנית עיצוב תכתוב YYYY, ואז כשישנו את השנה יראו רק את השנה (הבעייה שם שכשלוחצים כדי להזין מידע הוא מציג לרגע את כל התאריך)פורסם במקור בפורום CODE613 ב28/05/2014 17:40 (+03:00)
-
(הבעייה שם שכשלוחצים כדי להזין מידע הוא מציג לרגע את כל התאריך)
גם כשנכנסים לשדה בלי ללחוץ ומשנים את הערך של השנה הוא לא מבין שהוא צריך להשאיר את החודש ויום והוא אומר ערך לא חוקי לשדה.
כנראה שאין ברירה נשתמש בסמול אינטפורסם במקור בפורום CODE613 ב28/05/2014 18:39 (+03:00)
-
@ClickOne
(הבעייה שם שכשלוחצים כדי להזין מידע הוא מציג לרגע את כל התאריך)גם כשנכנסים לשדה בלי ללחוץ ומשנים את הערך של השנה הוא לא מבין שהוא צריך להשאיר את החודש ויום והוא אומר ערך לא חוקי לשדה.
כנראה שאין ברירה נשתמש בסמול אינטאם זה אפשרי מבחינתך, אז תעשה ברירת מחדל את ה1 לינואר של כל שנה, ובתבנית עיצוב תכתוב YYYY,
התכוונתי שתעשה ברירת מחדל לשדה וכנ"ל
פורסם במקור בפורום CODE613 ב28/05/2014 20:30 (+03:00)
-
דבר נוסף שאתה יכול לעשות, זה עם תיבה משולבת (לא יודע אם תאהב את הפיתרון [קצת עקום])
בטעינת הטופס אתה יכול לכתוב את הקוד הבא:Dim sYear As String Dim iYear As Integer For iYear = 1900 To 2100 sYear = sYear & DateSerial(iYear, 1, 1) & ";" & iYear & ";" Next iYear sYear = Left(sYear, Len(sYear) - 1) Me!d.RowSource = sYear
כמובן שצריך להגדיר את מקור השורה לרשימת ערכים (אא"כ תרצה שזה יהיה חד פעמי בטבלה במקום לקרוא לקוד כל פעם), 2 עמודות, ורוחב העמודה הראשונה =0
מצ"ב קובץ דוגמא
Year.accdbפורסם במקור בפורום CODE613 ב28/05/2014 21:25 (+03:00)