snasui.com ยินดีต้อนรับ
ยินดีต้อนรับสู่กระดานถามตอบ Excel and VBA และอื่น ๆ ที่เป็นมิตรกับทุกท่าน มีไฟล์แนบมหาศาล ช่วยให้ท่านค้นหาและติดตามศึกษาได้โดยง่าย สมาชิกท่านใดที่ยังไม่ได้ระบุ Version ของ Excel ที่ใช้งานจริง สามารถทำตาม Link นี้เพื่อจะได้รับคำตอบที่ตรงกับ Version ของท่านครับ ระบุ Version ของ Excel
ฟอรัมถาม-ตอบปัญหาการใช้งาน MS Excel and VBA
Forum rules
ไม่อนุญาตให้ใช้ภาษาแชทในการถามและตอบปัญหา ไม่ใช้คำว่า "คับ" หรือ "อ่ะครับ" แทนคำว่า "ครับ" ไม่ใช้คำว่า "เด๋ว" แทนคำว่า "เดี๋ยว" เป็นต้น เนื่องจากเมื่อแปลเป็นภาษาต่างประเทศแล้วจะให้ความหมายผิดไปจากที่ควรจะเป็น
ห้ามถามโดยระบุชื่อผู้ตอบและต้องตั้งชื่อกระทู้ให้สื่อถึงปัญหาที่จะถาม ไม่ตั้งชื่อว่า ช่วยด้วยครับ, มีปัญหามาปรึกษาครับ เป็นต้น
กรุณาอธิบายปัญหาและระบุคำตอบที่ต้องการมาในกระทู้ด้วยเสมอถึงแม้จะอธิบายไว้ในไฟล์แนบแล้วก็ตาม ทั้งนี้เพื่ออำนวยความสะดวกแก่เพื่อนสมาชิกในการค้นหาข้อมูล
กรุณาแนบไฟล์ตัวอย่างพร้อมแสดงคำตอบที่ถูกต้องมาในไฟล์ด้วยเพื่อให้ง่ายต่อการทำความเข้าใจและสะดวกต่อการตอบคำถาม (ขนาดไฟล์ไม่เกิน 500Kb ขนาดภาพไม่เกิน 800*600 Pixel) ไม่แนบเป็น Link มาจากแหล่งอื่นที่อาจจะถูกลบทิ้งไปโดยต้นทางในภายหลัง นอกจากนี้ไม่ควรแนบไฟล์ที่มีข้อมูลสำคัญอันก่อให้เกิดความเสียหายกับตนเองและผู้อื่น
กรณีเป็นคำถามเกี่ยวกับ Programming เช่น VBA, VB.Net, C#, SQL ฯลฯ ต้องลองเขียนมาเองก่อนเสมอ ถามเฉพาะที่ติดปัญหา ระบุ Module, Procedure ที่ติดปัญหาให้ชัดเจน กรุณาโพสต์ Code ให้แสดงเป็น Code คือเปิดด้วย [code]
และปิดด้วย [/code]
ตัวอย่างเช่น [code]dim r as range[/code]
เพื่อให้แตกต่างจากข้อความทั่วไป สะดวกในการอ่านและทดสอบ (คลิกเพื่อดูตัวอย่าง)
กรุณาแจ้งผลการใช้งานเมื่อได้รับคำตอบว่าตรงกับความต้องการหรือไม่
piches
Member
Posts: 88 Joined: Sat Oct 22, 2011 9:15 am
#1
Post
by piches » Wed Oct 18, 2017 1:50 pm
สวัสดีครับอาจารย์และเพื่อนสมาชิกทุกท่าน ผมขอสอบถาม เรื่องการ คิวรี่ข้อมูลมาแสดง ใน sheet1 แล้วทำการ vlookup มายัง sheet formtran c3:g3
คุณสมบัติการเชื่อมต่อ ในคำสั่ง sql ผมกำหนดให้ คิวรี่เฉพราะการการ มาแสดง
ปัญหาคือ คิวรี่จะช้ากว่า การทำงาน ของ vba ทำอย่างไรให้ คิวรี่ ทำงานทัน คำสั่ง ก้อปปี้ข้อมูลมาต่อท้ายรายการ ของ ชุดคำสั่ง vba
คำสั่ง sql
SELECT `Sheet1$`.เลขที่เอกสาร, `Sheet1$`.ชื้อลูกค้า, `Sheet1$`.จำนวนเงิน, `Sheet1$`.CREDITCODE, `Sheet1$`.พนักงานเดินเอกสารฝ่ายขาย
FROM `E:\NEW ROOT\document route.xlsx`.`Sheet1$` `Sheet1$`
Where เลขที่เอกสาร =?
สาเหตุที่ทำเช่นนี้เพราะ มีดาต้าเบสหลายก้อน และมีการการจำนวนมาก ผมมีความรู้ด้าน vba เพียงน้อยนิด ผมเลยเลือกใช้วิธีนี้ หากมีวิธีไหนที่ง่ายกว่าวิธีนี้ขอคำแนาะนำด้วยครับ ขอบคุณครับ
หมายเหตุ:ไฟล์ตัวอย่าง คิวรี่มาจาก ไฟล์เอ็กซ์เซล ชื่อdocument route ไฟล์จริงจะคิวรี่มาจาก my sql
You do not have the required permissions to view the files attached to this post.
snasui
Site Admin
Posts: 30917 Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:
#2
Post
by snasui » Wed Oct 18, 2017 11:03 pm
ยังไม่เข้าใจประเด็นที่ว่าช้ากว่า มีลำดับการทำงานอย่างไรช่วยแจ้งลำดับการทำงานมาอีกรอบครับ
ช่วอธิบายถึงปัญหาเมื่อช้ากว่าการแสดงผลจะเป็นอย่างไร ทำให้เกิดปัญหาใด ช่วงอ้างถึงชีต ถึงเซลล์ ที่แสดงผลผิดพลาดไปครับ
piches
Member
Posts: 88 Joined: Sat Oct 22, 2011 9:15 am
#3
Post
by piches » Thu Oct 19, 2017 4:45 pm
1.workbook เส้รทางเอกสาร(ขนส่ง).sheet 1 เป็นชีตที่รวม Query จากหลาย Database มาเก็บไว้
โดยการรับค่าพารามิเตอร์ cell A2 หากมีรายการที่ตรงกันกับ Cell A2ใน Database ก้อนใด
ให้นำค่ามาแสดง
2.sheet formtran vlookup รายการมาแสดงยัง cell c3,d3,e3,f3,g3 เพิ่มเติมรายละเอียด วันที่ เวลา ผู้ทำรายการ
3.coppy Range("b3:i3")มาเก็บในตราราง เริ่มจาก range a5 ต่อลงด้านล่างจนถึง a43
ปัญหาที่พบ: เมื่อใส่ค่าพารามิเตอร์ใน cell a2 เพื่อดึงรายการมาแสดงใน sheet1 (ในข้อ 1 ดึงข้อมูลมาแสดงช้ากว่า ข้อ2 และข้อ 3
จึงไม่สามารถ coppy ข้อมูลมาเก็บในขัอ 3 ได้ ต้องทำการรันซ้ำอีกครั้งถึงจะได้ครับอาจารย์
You do not have the required permissions to view the files attached to this post.
piches
Member
Posts: 88 Joined: Sat Oct 22, 2011 9:15 am
#4
Post
by piches » Thu Oct 19, 2017 5:52 pm
ท่านใดที่ทำงานกับ Database หลายๆก้อนบ้างครับขอคำแนะนำด้วยครับ
snasui
Site Admin
Posts: 30917 Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:
#5
Post
by snasui » Thu Oct 19, 2017 6:12 pm
ควรจะทำข้อ 1 ให้เสร็จก่อนแล้วค่อยทำ 2 และ 3 ครับ
ลองใช้ Code Run Query จากนั้นค่อยใช้ Code ทำข้อ 2 และ 3 ตามมาอีกทีครับ
สรุปคือ ทำด้วย Code ทั้งหมด ติดปัญหาตรงไหนอย่างไร แจ้งมาได้เรื่อย ๆ ครับ
ผมทำงานกับ SQL โดยใช้ Query, Store Procedure ดึ่งและส่งข้อมูลกลับไปบันทึก แทรก ลบ ประมวลผล แต่เป็น Database ที่ได้รวมเอา Database อื่น ๆ มาไว้ใน Table ปลายทางเรียบร้อยแล้ว ไม่ได้ดึงจากหลาย Database การดึงจากหลาย Database ทำด้วย Job ไม่ได้ทำด้วย Manual ครับ
piches
Member
Posts: 88 Joined: Sat Oct 22, 2011 9:15 am
#6
Post
by piches » Thu Oct 19, 2017 6:49 pm
ขอบคุณครับอาจารย์ อาจารย์พอจะมีลิงค์ตัวอย่างให้ศึกษาบ้างไหมครับ ที่ผมใช้วิธีนี้เพราะผมไม่มีพื้นฐานในการเขียน VB
piches
Member
Posts: 88 Joined: Sat Oct 22, 2011 9:15 am
#8
Post
by piches » Thu Oct 19, 2017 9:32 pm
ขอบคุณครับอาจารย์