Page 1 of 1
สูตรการดึงข้อมูล
Posted: Wed Apr 20, 2011 2:34 pm
by noom5555
จากรูปที่แนบครับ
ผมต้องการที่จะดึงข้อมูลจากฐานข้อมูล access โดยการใช้ excelดึงข้อมูลครับ คือสามารถเลือกวันที่ เวลาได้
ขอบคุณครับ
Re: สูตรการดึงข้อมูล
Posted: Wed Apr 20, 2011 6:20 pm
by snasui
การดึงข้อมูลจาก Access สามารถทำดังนี้ครับ
- เข้าเมนู Data > Import External Data > New Database Query > เลือก MS Access Database* > OK > เลือก Drive, Folder, File > OK
- เลือก Table จาก Available table and column > คลิกเครื่องหมาย > เพื่อ Add ไปยัง Columns in your query > Next > Next > Next > View data or edit query in Microsoft Query
- ที่ Microsoft Query คลิกเมนู Criteria > Add Criteria เพื่อกำหนดเงื่อนไขตามต้องการ > Close
- เข้าเมนู File > Return data to Microsoft Excel
Re: สูตรการดึงข้อมูล
Posted: Thu Apr 21, 2011 9:20 am
by noom5555
ขอบคุณครับ
แล้วถ้าผมจะทำแบบให้ user ทำงานโดยเปิด excel แล้วคลิกปุ่มใน sheet โดยแต่ละปุ่มมีกำหนดโดย
1.แสดงข้อมูลทุก 5 นาที
2.แสดงข้อมูลวันที่ สามารถระบุได้
จะต้องเขียน code ยังไงครับ
ช่วยแนะนำตัวอย่างให้หน่อยครับโดยข้อมูลตารางอ้างอิงจากรูปภาพครับ
Re: สูตรการดึงข้อมูล
Posted: Thu Apr 21, 2011 1:12 pm
by snasui

ภาพที่ส่งมาไม่ได้ช่วยในการเขียน Code ครับ ถ้าจะทำเช่นนั้น คิดว่าให้
บันทึก Macro ตามขั้นตอนที่ผมแนะนำไป แล้วส่ง Code มาดูครับ สำหรับการเลือกเงื่อนไขต้องสร้างเป็นตัวแปรเพื่อรับข้อมูลที่ User เลือกเข้ามาด้วยตัวเอง
ส่วนการให้ Refresh ตามเวลาที่กำหนดไม่ต้องใช้ Macro เนื่องจาก Excel สามารถทำเช่นนั้นได้อยู่แล้ว ให้ลองคลิกขวาแล้วเลือก Data Range Properties > ตรง Refresh Control > ทำเครื่องหมายที่ Refresh every แล้วกำหนดค่าที่ต้องการให้ Refresh
Re: สูตรการดึงข้อมูล
Posted: Fri Apr 29, 2011 10:43 am
by noom5555
จากฐานข้อมูล access นะครับคือเวลาเครื่องรันข้อมูลในฐานข้อมูลก็จะบันทึกไปเรื่อยๆ
ผมก็สามารถทำการ query เหมือนที่แนะนำได้แล้วครับอีกอย่างครับข้อมูลไม่สามารถโชว์มาถึงข้อมูลล่าสุดได้ครับเนื่องจากแถวใน excelจำกัดที่ 65536
ที่นี้ผมเลยต้องการ query ข้อมูลจากฐานข้อมูล access เฉพาะในขณะที่เครื่องรันได้ไหมครับ
และในข้อ3.ที่ Microsoft Query คลิกเมนู Criteria > Add Criteria เพื่อกำหนดเงื่อนไขตามต้องการ > Close
ผมสามารถกำหนดเช่นต้องการเลือกดูข้อมูลระหว่างวันที่ 4/23/2010 10:00 ถึง 4/25/2010 10:00 ได้ไหมครับ
ขอรบกวนอีกที่แนะนำด้วยครับ
Re: สูตรการดึงข้อมูล
Posted: Fri Apr 29, 2011 12:10 pm
by snasui
การให้ Run ตามเวลาปัจจุบันคงต้องใส่เงื่อนไข วันที่ เวลา เข้าไปครับ ไม่เช่นนั้นข้อมูลก็จะมาทั้งหมด การกำหนดเงื่อนไข สามารถกำหนดได้ตามต้องการ ดูตัวอย่างภาพด้านล่างประกอบครับ
Re: สูตรการดึงข้อมูล
Posted: Thu May 12, 2011 11:23 am
by noom5555
ขอรบกวนถามอีกครับ
แล้วถ้าผมต้องการ Query เวลาทุก 5 นาที ผมต้องใส่่สุตรยังไงครับ
รบกวนด้วยผมลองแล้วมันยังไม่โชว์เลยครับ
ขอบคุณครับ
Re: สูตรการดึงข้อมูล
Posted: Thu May 12, 2011 11:38 am
by snasui
ลองทำตามนี้แล้วหรือไม่ครับ
snasui wrote:
...ส่วนการให้ Refresh ตามเวลาที่กำหนดไม่ต้องใช้ Macro เนื่องจาก Excel สามารถทำเช่นนั้นได้อยู่แล้ว ให้ลอง
คลิกขวาแล้วเลือก Data Range Properties > ตรง Refresh Control > ทำเครื่องหมายที่ Refresh every แล้วกำหนดค่าที่ต้องการให้ Refresh
คลิกขวาหมายถึงคลิกลงใน Excel บนข้อมูลที่ได้จากการ Query ครับ
Re: สูตรการดึงข้อมูล
Posted: Thu May 12, 2011 3:29 pm
by noom5555
จากฐานข้อมูล access ที่ลองทำตามคำแนะนำอาจารย์ผมสามารถดึงข้อมูลได้แล้วครับ
โดยใน query ช่อง Criteria ผมใส่ date_time และในช่อง Value ผมใส่ between[start]and[end]แล้วพอผมสั่ง refresh ก็จะให้ใส่วันทีและเวลาครับ
แต่ทีนี้ผมอยากให้มัน auto กว่านี้ครับ คือ ทุก 60 นาที ให้ refresh ข้อมูลใหม่จากฐานข้อมูล access ครับ
ผมต้องเขียนสูตร query แบบไหนครับ
รบกวนแนะนำด้วยครับ
Re: สูตรการดึงข้อมูล
Posted: Thu May 12, 2011 3:33 pm
by snasui

ไม่ทราบว่าคุณ noom5555 ได้อ่านตามด้านล่างแล้วยังครับ ผมตอบเรื่องการ Refresh ข้อมูลตามเวลาที่กำหนดไปสองรอบแล้วครับ
รอบแรก
snasui wrote:
ภาพที่ส่งมาไม่ได้ช่วยในการเขียน Code ครับ ถ้าจะทำเช่นนั้น คิดว่าให้
บันทึก Macro ตามขั้นตอนที่ผมแนะนำไป แล้วส่ง Code มาดูครับ สำหรับการเลือกเงื่อนไขต้องสร้างเป็นตัวแปรเพื่อรับข้อมูลที่ User เลือกเข้ามาด้วยตัวเอง
ส่วนการให้ Refresh ตามเวลาที่กำหนดไม่ต้องใช้ Macro เนื่องจาก Excel สามารถทำเช่นนั้นได้อยู่แล้ว ให้ลองคลิกขวาแล้วเลือก Data Range Properties > ตรง Refresh Control > ทำเครื่องหมายที่ Refresh every แล้วกำหนดค่าที่ต้องการให้ Refresh
รอบที่สอง
snasui wrote:ลองทำตามนี้แล้วหรือไม่ครับ
snasui wrote:
...ส่วนการให้ Refresh ตามเวลาที่กำหนดไม่ต้องใช้ Macro เนื่องจาก Excel สามารถทำเช่นนั้นได้อยู่แล้ว ให้ลอง
คลิกขวาแล้วเลือก Data Range Properties > ตรง Refresh Control > ทำเครื่องหมายที่ Refresh every แล้วกำหนดค่าที่ต้องการให้ Refresh
คลิกขวาหมายถึงคลิกลงใน Excel บนข้อมูลที่ได้จากการ Query ครับ
Re: สูตรการดึงข้อมูล
Posted: Thu May 12, 2011 3:58 pm
by noom5555
ได้ทำตามที่อาจารย์บอกแล้วครับทำได้แต่
ในเงื่อนไขผมใส่ ดังนี้ between[start]and[end] พอถึงกำหนดเวลา refresh ตามทีอาจารย์แนะนำ ก็จะโชว์ให้ใส่วันที่-เวลาตามเงื่อนที่ผมใส่ไว้ครับ
แต่ทีนี้ผมอยากให้มัน auto กว่านี้ครับ เช่น กำหนด refresh ตามที่อาจารย์แนะนำ แล้วได้วันที่-เวลาใหม่จากฐานข้อมูล access โดยที่ผมไม่ต้องใส่วันที่-เวลาตามเงื่อนไขครับ
รบกวนอีกรอบครับ
ผมอาจจะอธิบายไม่เข้าใจเองต้องขออภัยด้วยครับ
ขอบคุณครับ
Re: สูตรการดึงข้อมูล
Posted: Thu May 12, 2011 4:30 pm
by snasui

ผมอ่านแล้วไม่กระจ่างครับ
เงื่อนไขในการดึงข้อมูลถ้ากรอกไปใน Microsoft Query แล้วมันก็จะดึงให้ตามนั้น การตั้งเวลาก็เพื่อให้แสดงข้อมูลที่ Update อ่านดูยังไม่ทราบว่าติดขัดตรงไหน คำว่าให้ Auto ที่ว่านั้นให้ Auto เปลี่ยนเงื่อนไขให้ใช่หรือไม่ ถ้าใช่ ต้องเขียน VBA ครับ
หากจะเขียน VBA ผมแนะนำให้บันทึก Macro ตามขั้นตอนที่ผมแนะนำไปจนกระทั่งได้ข้อมูลมาแสดงที่ Excel แล้วส่ง Code ที่ได้จากการบันทึกมาดูกันต่อครับ