สมัครสมาชิก
 

CopyFromRecordset method สำหรับ Range object (เป็น Excel object) น่าจะมีบัก



0 สมาชิก และ 1 บุคคลทั่วไป กำลังดูหัวข้อนี้

13 เม.ย. 61 , 12:48:51
อ่าน 182 ครั้ง

สันติสุข

การนำข้อมูลที่มี Data Type เป็น Date จาก Recordset ไปใส่ลงในเอ็กซ์เซลชีทในเซลที่ถูกกำหนดรูปแบบการแสดงเป็น Custom (รูปแบบที่ผู้ใช้กำหนดเอง เช่นอาจต้องการให้แสดงวันที่ 1 มกราคาม 2561 เป็น "จันทร์ 1 ม.ค. 61") ด้วยคำสั่ง CopyFromRecordset method สำหรับ Range object (เป็น Excel object) จะทำให้เซลนั้นจะถูกเซ็ท format กลับมาเป็นชื่อ Date เสมอ ต้องกำหนดรูปแบบของเซลอีกครั้งด้วย NumberFormat property  แต่ถ้าใส่ค่าลงไปตรงๆด้วย Value property จะไม่เกิดเหตุการณ์แบบนี้

โค้ดตัวอย่างที่ทำให้เกิดเหตุการณ์
โค๊ด: [Select]
    Dim xlApp   As Object
   
    Dim DB      As DAO.Database
    Dim RS      As DAO.Recordset
   
    Set xlApp = CreateObject("Excel.Application")
    xlApp.Visible = True
    xlApp.Workbooks.Open "C:\Temp\Example.xlsx"
   
    Set DB = CurrentDb
    Set RS = DB.OpenRecordset("select PMU2_StartDT from PMU2")
    xlApp.ActiveSheet.Range("C3").CopyFromRecordset RS
    RS.Close

ภาพเซลที่มีรูปแบบตามที่ผู้ใช้กำหนดเอง

 
โพสต์นี้ได้รับคำขอบคุณจาก: PookPuy, OddyWriter


บอร์ดเรียนรู้ Access สำหรับคนไทย



There are no comments for this topic. Do you want to be the first?