ค่าพ.ศ.ของAccessไม่ตรงกับExcel
กระทู้เก่าบอร์ด อ.Yeadram

 2,351   7
URL.หัวข้อ / URL
ค่าพ.ศ.ของAccessไม่ตรงกับExcel

หนูCopy ข้อมูลจากExcelมาวางลงในตารางAccess
ฟิลด์ที่เก็บข้อมูลDate/Time ของAccess มีค่าพ.ศ.ไม่ตรงกับExcel
เช่น
ที่ Excel 2/12/2490 แต่ที่Access 2/12/3033
เกิดจากอะไรคะ
ขอบคุณค่ะ

7 Reply in this Topic. Dispaly 1 pages and you are on page number 1

1 @R20990
เกิดจากการกำหนดค่า Date/Time ใน Regional Setting จ้า
2 @R20991
หนูไม่ทราบจริงๆค่ะ
การกำหนดค่า Date/Time ใน Regional Setting
อยู่ตรงใหนคะ ที่Excel หรือที่Access คะ
3 @R20992
ที่ Windows จ๊ะ เข้าไปที่ Control Panel แล้วเลือก Date/Time setting > Change Date/Time format ลองเลือกรูปแบบดู เดิมน่าจะกำหนด เป็นแบบไทย ก็ให้เปลี่ยนเป็นแบบฝรั่งดู
4 @R21006
รบกวนอาจารย์อีกครั้งค่ะ
ขณะนี้นำเข้าข้อมูลจาก Excel มาใส่ในตารางในAccessแล้วข้อมูลจะมีพ.ศ.ปนกับ ค.ศ.ค่ะ
1/2/2014
1/5/2557
คำถาม
จะเขียนCode อย่างไรให้ข้อมูลเป็นพ.ศ.ทั้งหมด (บางข้อมูลเป็นค.ศ.ให้เปรี่ยนเป็นพ.ศ.ส่วนที่เป็นพ.ศ.อยู่แล้วให้เป็นข้อมูลเดิม)
ขอบคุณค่ะ
5 @R21012
ให้ไปกำหนดรูปแบบของข้อมูลใน Excel เป็น พ.ศ. หรือ ค.ศ. อย่างใดอย่างหนึ่งก่อน ถึงจะแก้ไขปัญหาได้
6 @R21016
อื่ม ถ้าข้อมูลมาแบบนี้แก้ไม่ได้แล้ว ก็ต้องใช้หลักคิดเหมือนที่เราเห็น ประมาณว่า ถ้าปีขี้นต้นไม่เกิน 20.. (ต้องตรวจสอบดูก่อนว่าปี พ.ศ. น้อยสุดที่มีในฐานข้อมูลคือปีอะไรด้วย มีน้อยกว่า 20 หรือไม่) ก็ให้ บวก 543 โดยใช้ฟังก์ชั่น dateadd("yyyy",543,[ฟิลด์วันที่]) แล้วใช้การ Loop แก้ไขข้อมูลตามเงื่อนไขเอา เช่น

    Dim db As DAO.Database
    Dim rs As DAO.Recordset
    Set db = CurrentDb
    Set rs = db.OpenRecordset("ชื่อตารางเป้าหมาย", dbOpenDynaset)
    rs.MoveFirst
    Do Until rs.EOF
        If Left(Year(rs!ชื่อฟิลด์วันที่), 2) <= 20 Then
            rs.Edit
            rs!ชื่อฟิลด์วันที่ = dateadd("yyyy", 543, rs!ชื่อฟิลด์วันที่)
            rs.Update
        End If
        rs.MoveNext
    Loop
    rs.Close: Set rs = Nothing

ประมาณนี้ ต้องปรับใช้ดูว่าตรงหรือไม่นะครับ ผมไม่ได้ทดสอบ สำรองข้อมูลก่อนทดสอบด้วยครับ

* แต่ต้องระวังไว้ว่า OS Windows เครื่องคุณต้องกำหนดปี พ.ศ. นะครับ ไม่งั้นวิธีนี้มันจะกลายเป็นว่าเครื่องจะมอง พ.ศ.2558 เป็น ค.ศ.2558 ส่งผลให้วัน จ. อ. ไม่ตรง วันที่ 29 กพ ในปี พ.ศ. กับ ค.ศ. นั้นๆ มีไม่ตรงกัน แล้วเกิด Error
7 @R21029
ขอบคุณอาจารย์TT T มากค่ะ
ตรงตามต้องการเลยค่ะ
@ ประกาศใช้งานเว็บบอร์ดใหม่ => บอร์ดเรียนรู้ Access สำหรับคนไทย
แล้วจะใส่ลิ้งอ้างอิงมาที่โพสต์เก่านี้หรือไม่ก็ตามสะดวกครับ
Time: 0.2838s