סוג הנתונים 'תאריך/שעה מורחבים' מאחסן פרטי תאריך ושעה ודומה לסוג הנתונים 'תאריך/שעה', אך הוא מספק טווח תאריכים גדול יותר, רמת דיוק של שברים גבוהים יותר ותאימות לסוג התאריך SQL Server datetime2. בעת ייבוא או קישור של נתוני Access SQL Server, באפשרותך למפות באופן עקבי שדה 'תאריך/שעה מורחבים' של Access SQL Server datetime2. לקבלת מידע נוסף, ראה datetime2 (Transact-SQL).
אזהרה בעת יצירת ביטויים ושימוש בפונקציות תאריך/שעה בהתבסס על סוג הנתונים 'תאריך/שעה מורחבים' ב- Access, ייתכן שתאבד דיוק בחישובים או תיתקל בבעיות אחרות בתוצאות. אנו מודעים לבעיה זו ובכוונתנו לתמוך בצורה טובה יותר בביטויים ובפונקציות במהדורה הקרובה. כפתרון עוקף, באפשרותך Create מעבר כדי להשתמש בפונקציות מקבילות של ביטוי SQL Server ותאריך/שעה. לקבלת מידע נוסף, ראה השוואת Access SQL ל- SQL Server TSQL.
במאמר זה
השוואת סוגי הנתונים 'תאריך/שעה' ו'תאריך/שעה מורחבים'
הטבלאות הבאות מסכימות הבדלים חשובים בין שני סוגי הנתונים.
התכונה |
תאריך/שעה |
תאריך/שעה מורחבים |
---|---|---|
ערך מינימלי |
100-01-01 00:00:00 |
0001-01-01 00:00:00 |
ערך מרבי |
9999-12-31 23:59:59.999 |
9999-12-31 23:59:59.9999999 |
דיוק |
0.001 שניות |
1 ננו-שניה |
גודל |
נקודה צפה עם דיוק כפול |
מחרוזת מקודדת של 42 בתים |
שימוש בסוג הנתונים החדש 'תאריך/שעה מורחבים'
המידע הבא מתאר שיקולי שימוש חשובים.
תצוגת עיצוב טבלה כדי לנצל את טווח הנתונים הגדול יותר ואת הדיוק הגבוה יותר, באפשרותך להוסיף שדה לטבלת Access. באפשרותך גם להמיר תאריך/שעה לסוג הנתונים 'תאריך/שעה מורחבים' בתצוגת עיצוב טבלה. השימוש בסוג נתונים זה כשדה מפתח ראשי נתמך גם הוא. לקבלת מידע נוסף, Create טבלה והוספת שדות.
הזנת התאריך והשעה הזנת ערכי תאריך ושעה דומה לסוג הנתונים 'תאריך/שעה', למעט כאשר ניתן גם להזין שבר של ננו-שניה. לדוגמה:
-
תבנית ערך: mm/dd/yyyy hh:mm:ss.nnnnnnn
-
דוגמה: 06/15/1215 09:25:3.234
אם יש יותר מ- 7 ננו-שניה, הם מעוגלים ל- 7 ספרות. כדי לשלוט בתצוגה של ננו-שניה שברים, פתח את הטבלה, ברצועת הכלים בחר שדות, ובקבוצה עיצוב, בחר הגדל מקומות עשרוניים או הקטן מקומות עשרוניים .
עיצוב סוגי הנתונים 'תאריך/שעה' ו'תאריך/שעה מורחבים' משתמשים במחרוזות עיצוב סטנדרטיות דומות של 'תאריך כללי', 'תאריך ארוך', 'תאריך בינוני', 'תאריך קצר', 'שעה ארוכה', 'שעה בינונית' ו'שעה קצרה' ושניהם תומכים בעיצוב מותאם אישית. עבור סוג הנתונים 'תאריך/שעה מורחבים', התבניות הסטנדרטיות המבוססות על זמן תומכות גם ברמת שברים עבור ננו-שניה. עיצוב של סוג הנתונים 'תאריך/שעה מורחבים' המוגדר כברירת מחדל לתבניות כלליות של תאריך ושעה ארוכה, והוא עוקב אחר האפשרויות שצוינו בהגדרות האזוריות של Windows. באפשרותך גם לשלוט בעיצוב של דיוק השבר באמצעות המאפיין Decimal Places כדי לציין את מספר הספרות מימין לנקודה העשרונית (1-7).
קישור וייבוא באפשרותך גם לקשר למסדי נתונים או לייבא אותם ממסדי נתונים בעלי סוג נתונים תואם, כגון סוג SQL Server datetime2. SQL Server נתונים בגירסה 2014 ואילך נתמכים. סוג הנתונים 'תאריך/שעה מורחבים' דורש שימוש במנהל התקן ODBC של Microsoft עבור SQL Server 11 ואילך. אנו ממליצים להשתמש ב- Microsoft ODBC Driver 13.1 SQL Server. השימוש ב- OLE DB נתמך גם הוא. לקבלת מידע נוסף, ראה תמיכה בסוגי נתונים עבור שיפורי תאריך ושעה של ODBC והשימוש בתכונות משופרות של תאריך ושעה (OLE DB).
Forms ודוחות באפשרותך להוסיף את סוג הנתונים 'תאריך/שעה מורחבים' לטופס או לדוח. בטופס, באפשרותך להשתמש בבורר התאריכים ובמסכות הקלט כדי להזין תאריך בטווח הגדול יותר, אך לא ברמת השבר עבור ננו-שניה.
תמיכה בביטויים סוג הנתונים 'תאריך/שעה מורחבים' תומך בפונקציות צבירה של SQL ובהערכה של ביטויים. לדוגמה, שימוש ב- LoggedDateTime כשדה עם סוג הנתונים 'תאריך/שעה מורחבים':
משימה |
דוגמה |
תוצאה |
---|---|---|
חפש את הערך המינימלי |
Min(LoggedDateTime) |
התאריך והשעה המוקדמים ביותר בטווח |
חילוץ החודש |
Month(LoggedDateTime) |
שם החודש, כגון ינואר |
הוסף יום אחד |
[LoggedDateTime]+1 |
יום שלישי יהפוך ביום רביעי |
שיקולי תאימות לאחור
סוג הנתונים 'תאריך/שעה מורחבים' אינו תואם לגירסאות קודמות של Microsoft Access. אם הסוג נמצא בשימוש בתוך טבלת Access מקומית, גירסאות של Access שלא כוללות את התכונה לא יוכלו לפתוח את מסד הנתונים.
באפשרותך להפוך את סוג הנתונים 'תאריך/שעה מורחבים' לזמין או ללא זמין עבור פעולות קישור וייבוא באמצעות האפשרות גישה למסד נתונים נוכחית תמיכה בסוג נתונים מורחבים של תאריך/שעה עבור טבלאות מקושרות/טבלאות lmported. לקבלת מידע נוסף, ראה הגדרת אפשרויות משתמש עבור מסד הנתונים הנוכחי.
שימוש בסוג הנתונים 'תאריך/שעה מורחבים' כמחרוזת ב- VBA
דוגמאות ה- VBA הבאות משתמשות בשיטות DAO כדי להציג, להזין ולהעריך את סוג הנתונים 'תאריך/שעה מורחבים' בהתבסס על הטבלה שלהלן.
ID |
DTEData |
DTData |
1 |
1/1/2 01:03.1234567 AM |
1/1/2001 |
שם טבלה: סוג נתונים של מזהה DTETable
: סוג הנתונים Autonumber DTEData: Date/Time Extended DTData סוג הנתונים: תאריך/שעהדוגמה: הצגת התאריך והשעה
הדוגמה הבאה מציגה את התאריך והשעה. התבנית שבה נעשה שימוש היא mm/dd/yyyy hh:mm:ss.nnnnnnn בשעון של 24 שעות. התבנית אינה ניתנת להתאמה אישית.
Dim db As Database
Dim rs As Recordset
Set db = CurrentDb
Set rs = db.OpenRecordset("DTETable")
Do Until rs.EOF
Debug.Print rs!DTETable
rs.MoveNext
Loop
Result Access מציג: 01/01/0002 01:01:03.1234567.
דוגמה: הזנת התאריך והשעה
הדוגמה הבאה מזנה את התאריך והשעה באמצעות תבנית מחרוזת. כל תבניות התאריך והשעה הסטנדרטיות נתמכות.
Dim db As Database
Dim rs As Recordset
Set db = CurrentDb
Set rs = db.OpenRecordset("DTETable")
With CurrentDb.OpenRecordset("DTETable")
.AddNew
![DTEData] = "1/1/9999 1:1:1.0123 AM"
![DTData] = #1/1/2001#
.Update
End With
Result Access מוסיף שורה חדשה (מזהה = 2):
ID |
DTEData |
DTData |
1 |
1/1/2 01:03.1234567 AM |
1/1/2001 |
2 |
1/1/9999 1:01:01.0123000 AM |
1/1/2001 |
דוגמה: הערכת ביטוי שאילתה
הדוגמה הבאה משתמשת בפונקציה Day כדי לחלץ את מספר היום משדות התאריך והשעה.
Dim db As Database
Dim rs As Recordset
Set db = CurrentDb
Set rs = db.OpenRecordset("SELECT Day(DTEData) as day FROM DTETable")
Do Until rs.EOF
Debug.Print "The day of the month is: "&rs!day
rs.MoveNext
Loop
Result Access מציג:
היום בחודש הוא: 1
היום בחודש הוא: 1