Page 1 of 1

คิวรี่ข้อมูลมาแสดง

Posted: Wed Oct 18, 2017 1:50 pm
by piches
สวัสดีครับอาจารย์และเพื่อนสมาชิกทุกท่าน ผมขอสอบถาม เรื่องการ คิวรี่ข้อมูลมาแสดง ใน 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

Re: คิวรี่ข้อมูลมาแสดง

Posted: Wed Oct 18, 2017 11:03 pm
by snasui
:D ยังไม่เข้าใจประเด็นที่ว่าช้ากว่า มีลำดับการทำงานอย่างไรช่วยแจ้งลำดับการทำงานมาอีกรอบครับ

ช่วอธิบายถึงปัญหาเมื่อช้ากว่าการแสดงผลจะเป็นอย่างไร ทำให้เกิดปัญหาใด ช่วงอ้างถึงชีต ถึงเซลล์ ที่แสดงผลผิดพลาดไปครับ

Re: คิวรี่ข้อมูลมาแสดง

Posted: Thu Oct 19, 2017 4:45 pm
by piches
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 ได้ ต้องทำการรันซ้ำอีกครั้งถึงจะได้ครับอาจารย์

Re: คิวรี่ข้อมูลมาแสดง

Posted: Thu Oct 19, 2017 5:52 pm
by piches
ท่านใดที่ทำงานกับ Database หลายๆก้อนบ้างครับขอคำแนะนำด้วยครับ

Re: คิวรี่ข้อมูลมาแสดง

Posted: Thu Oct 19, 2017 6:12 pm
by snasui
:D ควรจะทำข้อ 1 ให้เสร็จก่อนแล้วค่อยทำ 2 และ 3 ครับ

ลองใช้ Code Run Query จากนั้นค่อยใช้ Code ทำข้อ 2 และ 3 ตามมาอีกทีครับ

สรุปคือ ทำด้วย Code ทั้งหมด ติดปัญหาตรงไหนอย่างไร แจ้งมาได้เรื่อย ๆ ครับ

ผมทำงานกับ SQL โดยใช้ Query, Store Procedure ดึ่งและส่งข้อมูลกลับไปบันทึก แทรก ลบ ประมวลผล แต่เป็น Database ที่ได้รวมเอา Database อื่น ๆ มาไว้ใน Table ปลายทางเรียบร้อยแล้ว ไม่ได้ดึงจากหลาย Database การดึงจากหลาย Database ทำด้วย Job ไม่ได้ทำด้วย Manual ครับ

Re: คิวรี่ข้อมูลมาแสดง

Posted: Thu Oct 19, 2017 6:49 pm
by piches
ขอบคุณครับอาจารย์ อาจารย์พอจะมีลิงค์ตัวอย่างให้ศึกษาบ้างไหมครับ ที่ผมใช้วิธีนี้เพราะผมไม่มีพื้นฐานในการเขียน VB

Re: คิวรี่ข้อมูลมาแสดง

Posted: Thu Oct 19, 2017 8:45 pm
by snasui
:D ลองศึกษาจาก Link นี้ดูสำหรับ Code ครับ https://www.mrexcel.com/forum/excel-que ... abase.html

ส่วนอันนี้เป็น Link นี้สำหรับ Connection String เพื่อติดต่อฐานข้อมูลชนิดต่าง ๆ http://www.connectionstrings.com/

Re: คิวรี่ข้อมูลมาแสดง

Posted: Thu Oct 19, 2017 9:32 pm
by piches
ขอบคุณครับอาจารย์