:D snasui.com ยินดีต้อนรับ :D
ยินดีต้อนรับสู่กระดานถามตอบ Excel and VBA และอื่น ๆ ที่เป็นมิตรกับทุกท่าน มีไฟล์แนบมหาศาล ช่วยให้ท่านค้นหาและติดตามศึกษาได้โดยง่าย :thup: สมาชิกท่านใดที่ยังไม่ได้ระบุ Version ของ Excel ที่ใช้งานจริง สามารถทำตาม Link นี้เพื่อจะได้รับคำตอบที่ตรงกับ Version ของท่านครับ :arrow: ระบุ Version ของ Excel
:!: โปรดทราบ :!:
  1. กรุณาอ่านกฎการใช้บอร์ด (Forum rules) ในตำแหน่งด้านบนของแต่ละบอร์ด
  2. การสมัครสมาชิก การ Login การกู้คืนรหัสผ่าน
    1. สมัครสมาชิกดูขั้นตอนได้ที่ :arrow: สมัครสมาชิก
    2. Login เข้าระบบโดยคลิกปุ่ม Login ตรงมุมขวาบนของหน้านี้ :roll:
    3. การ Login ผ่าน Facebook ดูวิธีที่ :arrow: Login ผ่าน Facebook
    4. ลืมรหัสผ่านสามารถรับรหัสใหม่ได้ที่ :arrow: Reset รหัสผ่าน
  3. มีปัญหาการใช้งาน แจ้งผู้ดูแลระบบได้ที่ :arrow: ติดต่อผู้ดูแลระบบ
  4. กำหนดการตั้งค่าส่วนตัว เช่นตั้งค่าภาษาเป็นไทยหรืออังกฤษดูได้ที่ :arrow: ตั้งค่าส่วนตัว
  5. การตั้งและตอบกระทู้ดูได้ที่ :arrow: วิธีการตั้งและตอบกระทู้
  6. การจัดรูปแบบตัวอักษรด้วย bbcode ในช่องแสดงความคิดเห็นดูได้ที่ :arrow: จัดรูปแบบตัวอักษร
  7. กำหนดขนาดตัวอักษรใน Browser ดูได้ที่ :arrow: กำหนดขนาดตัวอักษรใน Browser

ดึงข้อมูลวันที่จาก access มาแสดงบน excel ให้ตรงกันอย่างไร

ฟอรัมถาม-ตอบปัญหาการใช้งาน Macro และ VBA
Forum rules
  1. ไม่อนุญาตให้ใช้ภาษาแชทในการถามและตอบปัญหา ไม่ใช้คำว่า "คับ" หรือ "อ่ะครับ" แทนคำว่า "ครับ" ไม่ใช้คำว่า "เด๋ว" แทนคำว่า "เดี๋ยว" เป็นต้น เนื่องจากเมื่อแปลเป็นภาษาต่างประเทศแล้วจะให้ความหมายผิดไปจากที่ควรจะเป็น
  2. ห้ามถามโดยระบุชื่อผู้ตอบและต้องตั้งชื่อกระทู้ให้สื่อถึงปัญหาที่จะถาม ไม่ตั้งชื่อว่า ช่วยด้วยครับ, มีปัญหามาปรึกษาครับ เป็นต้น
  3. กรุณาอธิบายปัญหาและระบุคำตอบที่ต้องการมาในกระทู้ด้วยเสมอถึงแม้จะอธิบายไว้ในไฟล์แนบแล้วก็ตาม ทั้งนี้เพื่ออำนวยความสะดวกแก่เพื่อนสมาชิกในการค้นหาข้อมูล
  4. กรุณาแนบไฟล์ตัวอย่างพร้อมแสดงคำตอบที่ถูกต้องมาในไฟล์ด้วยเพื่อให้ง่ายต่อการทำความเข้าใจและสะดวกต่อการตอบคำถาม (ขนาดไฟล์ไม่เกิน 500Kb ขนาดภาพไม่เกิน 800*600 Pixel) ไม่แนบเป็น Link มาจากแหล่งอื่นที่อาจจะถูกลบทิ้งไปโดยต้นทางในภายหลัง นอกจากนี้ไม่ควรแนบไฟล์ที่มีข้อมูลสำคัญอันก่อให้เกิดความเสียหายกับตนเองและผู้อื่น
  5. กรณีเป็นคำถามเกี่ยวกับ Programming เช่น VBA, VB.Net, C#, SQL ฯลฯ ต้องลองเขียนมาเองก่อนเสมอ ถามเฉพาะที่ติดปัญหา ระบุ Module, Procedure ที่ติดปัญหาให้ชัดเจน กรุณาโพสต์ Code ให้แสดงเป็น Code คือเปิดด้วย [code] และปิดด้วย [/code] ตัวอย่างเช่น [code]dim r as range[/code] เพื่อให้แตกต่างจากข้อความทั่วไป สะดวกในการอ่านและทดสอบ (คลิกเพื่อดูตัวอย่าง)
  6. กรุณาแจ้งผลการใช้งานเมื่อได้รับคำตอบว่าตรงกับความต้องการหรือไม่
numilike
Member
Member
Posts: 28
Joined: Tue Aug 19, 2014 3:41 pm

ดึงข้อมูลวันที่จาก access มาแสดงบน excel ให้ตรงกันอย่างไร

#1

Post by numilike »

สวัสดีค่ะ ชื่อนุ่มนะคะ
คือนุ่มมีปัญหา เกี่ยวกับการดึงวันที่ จาก Access มาแสดง บน Excel ค่ะ
ในฐานข้อมูล มีวันที่ เช่น

12/09/2014 แสดงเป็น 09/12/2014 แสดงผิดค่ะ
แต่ถ้าเป็น
26/09/2014 แสดงเป็น 26/09/2014 ขึ้นถูกต้องค่ะ


ดูได้จากรูป ข้อมูลใน excel ค่ะ นุ่มทำสีเหลืองๆไว้

table design ของฐานข้อมูลก็เป็น date/time กำหนดถูกต้องแล้ว
ลองเปลี่ยนเป็น type เป็น text แล้ว ปรากฏว่าขึ้นถูกต้อง แต่ดันเรียงลำดับวันผิดหมดเลยค่ะ

นุ่มควรจะแก้ไขอย่างไรดีคะ
รบกวนผู้ใจดี ช่วยแนะแนวทางแก้ไขปัญหาด้วยค่ะ

ขอบคุณล่วงหน้าค่ะ
Attachments
ข้อมูลวันที่บน excel
ข้อมูลวันที่บน excel
1.JPG (29.61 KiB) Viewed 194 times
ข้อมูลที่ได้จากการ query ใน access
ข้อมูลที่ได้จากการ query ใน access
2.JPG (29.9 KiB) Viewed 194 times
Last edited by numilike on Tue Aug 19, 2014 5:04 pm, edited 3 times in total.
User avatar
snasui
Site Admin
Site Admin
Posts: 31253
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: ช่วยด้วยค่ะ ดึงข้อมูลวันที่จาก access มาบน excel ไม่ตรงก

#2

Post by snasui »

numilike wrote:รบกวนผู้ใจดี ช่วยแนะแนวทางแก้ไขปัญหา ชี้ทางสว่างให้นุ่มด้วยเถิด ด ด ด ดดด ดดด ><"
:shock: อ่านกฎทุกข้อด้านบน :roll: แล้วแก้ไขข้อความด้วยครับ
User avatar
snasui
Site Admin
Site Admin
Posts: 31253
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: ดึงข้อมูลวันที่จาก access มาแสดงบน excel ไม่ตรงกันค่ะ

#3

Post by snasui »

:D วิธีการดึงข้อมูลที่แจ้งมานั้นมีวิธีการอย่างไรบ้าง ลองลำดับมาให้ด้วยครับ
numilike
Member
Member
Posts: 28
Joined: Tue Aug 19, 2014 3:41 pm

Re: ดึงข้อมูลวันที่จาก access มาแสดงบน excel ให้ตรงกันอย่างไ

#4

Post by numilike »

ข้อมูลอยู่ในฐานข้อมูลของ Access จะรัน macro ใน excel แล้วดึงข้อมูลจาก Access มาแสดง

วิธีการดึงข้อมูล
- เริ่มจากใช้ Query Crosstab table ข้อมูล ใน access ซึ่งก็ได้ตรงตามความต้องการ ข้อมูลถูกต้องค่ะ
- แล้วนำ code Query นั้น ไปใส่ใน excel ที่จะรัน macro

code Query
TRANSFORM First(C25.Qty) AS FirstOfQty
SELECT C25.Issue_Date, C25.Supplier_Code, C25.Delivery_Time, C25.Part_No, C25.Receiving_Location, C25.Line_Feed, C25.Dock_Code, C25.Delivery_Order, C25.Remark
FROM C25
GROUP BY C25.Issue_Date, C25.Supplier_Code, C25.Delivery_Time, C25.Part_No, C25.Receiving_Location, C25.Line_Feed, C25.Dock_Code, C25.Delivery_Order, C25.Remark
ORDER BY C25.Delivery_Date
PIVOT C25.Delivery_Date;

code ในส่วนดึงข้อมูลมาใส่ใน workbook
With ThisWorkbook
Workbooks.Add
For J = 0 To rs.Fields.Count - 1
ActiveCell.Offset(0, J).Value = rs.Fields(J).Name
Next
ActiveCell.Offset(1, 0).CopyFromRecordset rs
End With

รันผ่าน โอเค ไม่ติด error ใดๆค่ะ
แต่ข้อมูลวันที่ที่แสดงใน excel ไม่ตรงกับใน access ดังภาพที่เคยโพสค่ะ
User avatar
snasui
Site Admin
Site Admin
Posts: 31253
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: ดึงข้อมูลวันที่จาก access มาแสดงบน excel ให้ตรงกันอย่างไ

#5

Post by snasui »

:D ปัจจุบัน กำหนด Regional and Language ไว้อย่างไร หมายถึงเป็น Thai หรือเป็นแบบอื่นครับ :?:

สำหรับการ Post Code ให้แสดงเป็น Code ดูตัวอย่างได้จากกระทู้นี้ เพื่อสะดวกในการอ่านและนำไปทดสอบครับ viewtopic.php?f=3&t=1187
User avatar
snasui
Site Admin
Site Admin
Posts: 31253
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: ดึงข้อมูลวันที่จาก access มาแสดงบน excel ให้ตรงกันอย่างไ

#7

Post by snasui »

:D หากเป็นเช่นนั้นแสดงว่า Record Set มีปัญหาในการเก็บค่า ข้อมูลประเภทเดียวกันแต่เก็บต่างกัน ซึ่งไม่ควรเกิดปัญหาเช่นนั้นครับ

ลองทดสอบดึงข้อมูลด้วย Query โดยไม่ต้องทำ Crosstab ดึงมาเป็น Data ปกติเพื่อจะดูว่าได้ค่าที่ถูกต้องหรือไม่ การทำ Crosstab สามารถทำใน Excel ด้วย PivotTable ได้ครับ
numilike
Member
Member
Posts: 28
Joined: Tue Aug 19, 2014 3:41 pm

Re: ดึงข้อมูลวันที่จาก access มาแสดงบน excel ให้ตรงกันอย่างไ

#8

Post by numilike »

ขอบคุณค่ะ จะลองทำดูนะคะ
pivot table เคยลองทำแล้วค่ะ แต่ error ตลอด เลยใช้วิธีนี้แทนค่ะ
numilike
Member
Member
Posts: 28
Joined: Tue Aug 19, 2014 3:41 pm

Re: ดึงข้อมูลวันที่จาก access มาแสดงบน excel ให้ตรงกันอย่างไ

#9

Post by numilike »

snasui wrote::D หากเป็นเช่นนั้นแสดงว่า Record Set มีปัญหาในการเก็บค่า ข้อมูลประเภทเดียวกันแต่เก็บต่างกัน ซึ่งไม่ควรเกิดปัญหาเช่นนั้นครับ

ลองทดสอบดึงข้อมูลด้วย Query โดยไม่ต้องทำ Crosstab ดึงมาเป็น Data ปกติเพื่อจะดูว่าได้ค่าที่ถูกต้องหรือไม่ การทำ Crosstab สามารถทำใน Excel ด้วย PivotTable ได้ครับ

ทดลองดึงแบบปกติ ไม่ทำ Crosstab แล้วค่ะ ปรากฏว่าวันที่ออกมาตรงกับฐานข้อมูลค่ะ
ถ้าเป็นแบบนี้ เรามีวิธีแก้อย่างอื่นไหมคะ โดยที่เราไม่ใช้ PivotTable
User avatar
snasui
Site Admin
Site Admin
Posts: 31253
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: ดึงข้อมูลวันที่จาก access มาแสดงบน excel ให้ตรงกันอย่างไ

#10

Post by snasui »

:D วิธีการอื่น หากเป็นไปได้คือ Loop เข้าไปใน Element ของ RecordSet > ตรวจสอบค่า > เปลียนค่าตามต้องการ

หากไม่ได้ก็ใช้ Array เก็บค่าของ RecordSet แล้ว Loop จาก Element ของ Array เพื่อตรวจสอบค่า > เปลี่ยนค่าตามต้องการ

หากไม่ได้ก็ Loop ใน Range ทีเ่ป็นผลลัพธ์เพื่อตรวจสอบค่า > เปลี่ยนค่าตามต้องการ
numilike
Member
Member
Posts: 28
Joined: Tue Aug 19, 2014 3:41 pm

Re: ดึงข้อมูลวันที่จาก access มาแสดงบน excel ให้ตรงกันอย่างไ

#11

Post by numilike »

ขอบคุณนะคะ

ตอนนี้ทำได้แล้วค่ะ
แก้ไขที่ Excel โดยให้ format เป็น text แล้วใส่ค่าให้ Cell ช่องนั้นๆเป็น DATEVALUE *1 ค่ะ

ขอบคุณอีกครั้งค่ะ
Post Reply