กระทู้เก่าบอร์ด อ.Yeadram
3,232 3
URL.หัวข้อ /
URL
เขียน vba ติดต่อกับฐานข้อมูล
เรียนถามผู้รู้ค่ะ
เขียน vba ในฐานข้อมูลที่ใช้อยุ่โดยจะเอาข้อมูลจากเทเบิลมาใช้ ก่อนที่จะใช้คำสั่ง SQL ต้องมีการเชื่อมต่อกับฐานข้อมูลก่อนหรือเปล่าคะ และถ้ามี ช่วยบอกคำสั่งที่ใช้ในการเชื่อมต่อกับฐานข้อมูลได้ไหมคะ
*ไม่ทราบจริงๆค่ะ
เขียน vba ในฐานข้อมูลที่ใช้อยุ่โดยจะเอาข้อมูลจากเทเบิลมาใช้ ก่อนที่จะใช้คำสั่ง SQL ต้องมีการเชื่อมต่อกับฐานข้อมูลก่อนหรือเปล่าคะ และถ้ามี ช่วยบอกคำสั่งที่ใช้ในการเชื่อมต่อกับฐานข้อมูลได้ไหมคะ
*ไม่ทราบจริงๆค่ะ
3 Reply in this Topic. Dispaly 1 pages and you are on page number 1
2 @R08819
ตอบคุณ Sun
ไม่ต้องเชื่อมต่อครับ
ตามที่เขียน ไกด์ ไว้มุมบนขวามือของเว็บครับ "Access : เป็นได้ทั้งตัวเก็บฐาน.ข้อมูล และตัวจัดการฐานข้อมูล"
ถ้าคุณจะเอาข้อมูล(จากตาราง) ไปทำงานกับรายงาน ใช้วิซาร์ดช่วยสร้างก็ได้ มีขั้นตอนหนึ่งมันจะถามว่าเอาข้อมูลจากแหล่งใด คุณก็เลือกชื่อตารางได้เลย
หรือจะออกแบบรายงาน ไว้ก่อน แล้วเปิดพร็อบเพอร์ตี้ ไดอะล็อกของรายงาน เลือกแหล่งข้อมูลของรายงาน ก็เลือกชื่อตารางได้เช่นกัน ไม่ต้องเชื่อมต่อด้วยสายอักขระใดๆ ครับ มันทำให้แล้วในเบื้องหลัง
ถ้าจะเอาข้อมูลไปทำงานกับฟอร์ม ก็คล้ายกันกับการทำงานร่วมกับรายงาน
ถ้าจะเอาข้อมูลไปทำงานในคิวรี่ อาจะใช้วิซาร์ดช่วยสร้าง ก็เลือกแหล่งข้อมูล (ชื่อตาราง) ได้เช่นกัน
หรือสามารถสร้างคิวรี่ในมุมมองออกแบบได้เลย อันดับแรกมันจะให้เลือกแหล่งข้อมูลอยู่แล้ว ก็สามารถเลือกชื่อตารางได้เช่นกัน
หรือสามารถสร้างได้ในมุมมอง SQL ได้เลย เขียน statement ตามปกติ ไม่ต้องเชื่อมต่อใดๆ
การนำข้อมูลในตารางไปใช้ในคอนโทรลต่างๆ เช่น listbox combobox ก็เลือกได้เลยครับ ไม่ต้องเชื่อมต่อ
แต่ถ้ามีความจำเป็นต้องเขียนฟังก์ชั่น หรือโค้ด VBA ใดๆ ก็อาจจะต้องมีคำสั่งในการเชื่อมต่อซึ่งง่ายมากๆ
ประกาศตัวแปรให้เป็น class ตัวเชื่อมต่อ 1 ตัวแปร แล้วเซ็ตค่าได้เลย
ตัวอย่าง กรณีใช้ ADO
dim Conn as New ADODB.connection
set Conn = Currentproject.connection
เสร็จแล้วครับ ตัว Conn สามารถกระทำได้ทุกอย่างตามที่คุณเคยทำแล้วครับ ไม่ต้องเขียนสายอักขระการเชื่อมต่อใดๆ เลยครับ
เช่น
Rs.open......, Conn, .....
หรือ
Conn.Execute ......
เป็นต้น
หรือแม้แต่หากใช้ DAO ก็
dim Conn as Database
set Conn = currentDB
เสร็จแล้วครับ เอา Conn ไปใช้ได้เลย
ไม่ต้องเชื่อมต่อครับ
ตามที่เขียน ไกด์ ไว้มุมบนขวามือของเว็บครับ "Access : เป็นได้ทั้งตัวเก็บฐาน.ข้อมูล และตัวจัดการฐานข้อมูล"
ถ้าคุณจะเอาข้อมูล(จากตาราง) ไปทำงานกับรายงาน ใช้วิซาร์ดช่วยสร้างก็ได้ มีขั้นตอนหนึ่งมันจะถามว่าเอาข้อมูลจากแหล่งใด คุณก็เลือกชื่อตารางได้เลย
หรือจะออกแบบรายงาน ไว้ก่อน แล้วเปิดพร็อบเพอร์ตี้ ไดอะล็อกของรายงาน เลือกแหล่งข้อมูลของรายงาน ก็เลือกชื่อตารางได้เช่นกัน ไม่ต้องเชื่อมต่อด้วยสายอักขระใดๆ ครับ มันทำให้แล้วในเบื้องหลัง
ถ้าจะเอาข้อมูลไปทำงานกับฟอร์ม ก็คล้ายกันกับการทำงานร่วมกับรายงาน
ถ้าจะเอาข้อมูลไปทำงานในคิวรี่ อาจะใช้วิซาร์ดช่วยสร้าง ก็เลือกแหล่งข้อมูล (ชื่อตาราง) ได้เช่นกัน
หรือสามารถสร้างคิวรี่ในมุมมองออกแบบได้เลย อันดับแรกมันจะให้เลือกแหล่งข้อมูลอยู่แล้ว ก็สามารถเลือกชื่อตารางได้เช่นกัน
หรือสามารถสร้างได้ในมุมมอง SQL ได้เลย เขียน statement ตามปกติ ไม่ต้องเชื่อมต่อใดๆ
การนำข้อมูลในตารางไปใช้ในคอนโทรลต่างๆ เช่น listbox combobox ก็เลือกได้เลยครับ ไม่ต้องเชื่อมต่อ
แต่ถ้ามีความจำเป็นต้องเขียนฟังก์ชั่น หรือโค้ด VBA ใดๆ ก็อาจจะต้องมีคำสั่งในการเชื่อมต่อซึ่งง่ายมากๆ
ประกาศตัวแปรให้เป็น class ตัวเชื่อมต่อ 1 ตัวแปร แล้วเซ็ตค่าได้เลย
ตัวอย่าง กรณีใช้ ADO
dim Conn as New ADODB.connection
set Conn = Currentproject.connection
เสร็จแล้วครับ ตัว Conn สามารถกระทำได้ทุกอย่างตามที่คุณเคยทำแล้วครับ ไม่ต้องเขียนสายอักขระการเชื่อมต่อใดๆ เลยครับ
เช่น
Rs.open......, Conn, .....
หรือ
Conn.Execute ......
เป็นต้น
หรือแม้แต่หากใช้ DAO ก็
dim Conn as Database
set Conn = currentDB
เสร็จแล้วครับ เอา Conn ไปใช้ได้เลย
3 @R08820
ตอนนี้ทำได้แล้วค่ะ ขอบคุณมากค่ะ
Time: 0.3470s
เขียน vba ในฐานข้อมูลที่ใช้
แต่ถ้าใช้อย่างอื่นดึงข้อมูลต้องติดต่อ เช่นพวกฟอร์มต่างๆ
ผมคิดว่านะ ต้องลองดู