สร้าง ComboBox 3 ตัว โดยมีเงื่อนไขจาก Combobox ตัวที่1



0 สมาชิก และ 1 บุคคลทั่วไป กำลังดูหัวข้อนี้

10 พ.ค. 61 , 16:26:50
อ่าน 1197 ครั้ง

tHizoNe

ตารางหลักผมสร้างฟอร์มในการใส่ค่าต่างๆ และใช้ Queryในการสร้างตาราง แต่อยากทำให้ตารางหลักทำ Combobox แบบมีเงื่อนไข
ตัวอย่าง
type       Size      ยี่ห้อ
ปอนด์-80  31*43  อินโด
              25*36  อินโด




 

10 พ.ค. 61 , 16:45:02
ตอบกลับ #1

ปิ่นณรงค์

ตารางหลักผมสร้างฟอร์มในการใส่ค่าต่างๆ และใช้ Queryในการสร้างตาราง แต่อยากทำให้ตารางหลักทำ Combobox แบบมีเงื่อนไข
ตัวอย่าง
type       Size      ยี่ห้อ
ปอนด์-80  31*43  อินโด
              25*36  อินโด



ความหมายคือ คุณต้องการให้ มีคอมโบบ๊อก 3 ตัว
เมื่อเลือก type ในคอมโบบ๊อกแรก
Combobox Size ก็จะมี รายการเฉพาะ ที่ตรงกับ Type ที่เราเลือก
ComboBox ยี่ห้อ ก็จะเอามาจาก ที่เราระบุ Type และ Size ไว้ แบบนี้หรือเปล่าครับ
:love: :grin:
 

10 พ.ค. 61 , 17:01:56
ตอบกลับ #2

tHizoNe

ใช่แล้วครับ

 

10 พ.ค. 61 , 18:51:46
ตอบกลับ #3

UnKnown

ลองดูตัวอย่าง,แนวทางโดยอาจารย์ TTT และท่าน Newbies จากกระทู้นี้ครับ
> สอบถามการใช้ combo Filter มากกว่า1รายการ หรือ การใส่ filter sort แต่ละ column

 

10 พ.ค. 61 , 18:57:26
ตอบกลับ #4

ปิ่นณรงค์

ลองดูตัวอย่าง,แนวทางโดยอาจารย์ TTT และท่าน Newbies จากกระทู้นี้ครับ
> สอบถามการใช้ combo Filter มากกว่า1รายการ หรือ การใส่ filter sort แต่ละ column
ของผมเป็นการเลือกหลายหัวข้อโดยใช้ listbox เข้ามาช่วยครับ
สำหรับอันนี้น่าจะต้องทำตามที่ อาจารย์ TTT ทำให้ดูนะครับ
ถ้าท่านทำไม่ได้ ก็ลองส่งตัวอย่างไฟล์มาครับเดี่ยวผมทำให้ดู
วิธีการคือ ในคิวรี่เดียวกันนั้น กำหนดคิวรี่ดึงค่าจากตัว Combobox เมื่อกำหนดค่าตัวแรกมาแล้ว Combobox ตัวต่อมา ใน Event GotFocus สั่ง Requery ก็จะได้รายการ เฉพาะที่เลือกจาก Combobox ตัวแรก ครับ
:love: :grin:
 

11 พ.ค. 61 , 09:14:28
ตอบกลับ #5

tHizoNe

ผมลองดูแล้วครับ แต่ยังไม่ได้ตามที่ต้องการ

ผมได้แนบไฟล์ตัวอย่างไว้แล้ว

 

11 พ.ค. 61 , 17:27:45
ตอบกลับ #6

ปิ่นณรงค์

ผมลองดูแล้วครับ แต่ยังไม่ได้ตามที่ต้องการ

ผมได้แนบไฟล์ตัวอย่างไว้แล้ว
สวัสดีครับ ตัวอย่างนี้ ผมใช้คิวรี่ อ้างอิงไปที่ตัว Combobox แล้วสั่ง Requery ด้วย
ให้ไปศึกษา คิวรี่ชื่อ List 1 ถึง 3 ครับ
List1 แสดงรายการ Type
List2 แสดงรายการ Size (ที่มีในรายการ Type จาก List1)
List3 แสดงรายการ ยี่ห้อ (ที่มีในรายการ Type จาก List1 และ ที่มีในรายการ Size จาก List2)
:love: :grin:
 

12 พ.ค. 61 , 09:14:44
ตอบกลับ #7

tHizoNe

แล้วถ้าเราจะดึงข้อมูลของ ราคาต่อรีม ในตาราง ราคากระดาษ มาด้วยโดยใช้เงื่อนไขเดียวกันกับ combobox ต้องทำยังไงครับ

 

12 พ.ค. 61 , 10:39:11
ตอบกลับ #8

ปิ่นณรงค์

แล้วถ้าเราจะดึงข้อมูลของ ราคาต่อรีม ในตาราง ราคากระดาษ มาด้วยโดยใช้เงื่อนไขเดียวกันกับ combobox ต้องทำยังไงครับ

ใส่คำสั่งเพิ่มเข้าไปเพื่อให้ ราคามาแสดงใน textbox ชื่อ PricePaper
โดยเราจะให้ เช็คทุก Combobox และ สามารถคำนวนราคาได้ เมื่อเราเลือก Combobox ใดๆ ก็ตาม ราคาจะเปลี่ยนให้

โค๊ด: [Select]
Sub GroupRecal()
Me.cbType.Requery
Me.cbSize.Requery
Me.cbBrand.Requery
Me.PricePaper = Me.cbBrand.Column(1)
End Sub

อธิบาย คำสั่ง Me.cbBrand.Column(1)

คือรายการของ Combobox Fieldที่ 2 เพราะ Column เริ่มจาก (0) ( 0 คือ Field แรก)


ใน Code ผม Group คำสั่งไว้ 1 ชุด เวลาจะเรียกใช้ ก็แค่ใส่
โค๊ด: [Select]
Call GroupRecal
ลองดูครับ
« แก้ไขครั้งสุดท้าย: 12 พ.ค. 61 , 11:02:44 โดย Newbies »
:love: :grin:
 

12 พ.ค. 61 , 11:54:02
ตอบกลับ #9

tHizoNe

ผมสงสัยเกี่ยวกับชื่อตาราง List1,2,3 คืออะไรหรอ แล้วสร้างยังไงครับ

 

13 พ.ค. 61 , 00:25:42
ตอบกลับ #10

ปิ่นณรงค์

ผมสงสัยเกี่ยวกับชื่อตาราง List1,2,3 คืออะไรหรอ แล้วสร้างยังไงครับ

List1,2,3 นั้นไม่ใช่ตารางครับ เรียกว่า Query หรือ แบบสอบถาม
ใช้ในการประมวลผล หรือแสดงผล ปกติเราจะเก็บข้อมูลลงไปใน Table แต่ Table ไม่มีเครื่องมือในการประมวลผล ดังนั้น การวิเคราะห์ การคำนวณ
ต้องใช้คิวรี่ในการทำงาน และมีหน้าที่สำคัญ คือ คัดเลือกเฉพาะข้อมูลที่ต้องการ โดยกำหนด Expression หรือค่าที่ต้องการที่ Criteria.
ซึ่งถ้าสังเกตุทีละ Query จะเห็นได้ว่าผมได้กำหนด Criteria ให้ดึงข้อมูลเฉพาะที่เราเลือกจาก ชื่อ Combobox ตัวก่อนหน้า
ก่อนที่จะแสดงผลอันต่อไปนั้นเองครับ
« แก้ไขครั้งสุดท้าย: 13 พ.ค. 61 , 00:28:15 โดย Newbies »
:love: :grin:
 

14 พ.ค. 61 , 10:21:40
ตอบกลับ #11

tHizoNe

ขอบคุณสำหรับการแนะนำและความรู้ใหม่ๆ มากเลยครับ

 

18 พ.ค. 61 , 17:05:05
ตอบกลับ #12

tHizoNe

ต้องการนำค่าที่ได้จาก Query (Id_PricePP) มาใส่ใน recordsource (Id_ราคากระดาษ) ได้หรือเปล่าครับ
Query

Record Source


 

18 พ.ค. 61 , 20:06:17
ตอบกลับ #13

ปิ่นณรงค์

ต้องการนำค่าที่ได้จาก Query (Id_PricePP) มาใส่ใน recordsource (Id_ราคากระดาษ) ได้หรือเปล่าครับ
Query

Record Source

ถ้าต้องการเพิ่มข้อมูล รายละเอียดข้อมูล ผมว่าทำบนฟอร์มดีกว่าครับ จากตัวอย่าง ข้อมูลหลักเป็น Autonumber และ Reletionship One to Many ถ้าคุณจะเพิ่มข้อมูล ในตารางหลัก คุณก็ต้องเพิ่ม ID ให้ตารางรองด้วย เพื้อกำหนดตารางรอง เช่่อมเป็นข้อมูลชุดเดียวกัน ลองส่งไฟล์มาครับผมทำตัวอย่างให้ดู
:love: :grin:
 

21 พ.ค. 61 , 09:55:18
ตอบกลับ #14

tHizoNe

ผมเลือกค่าจาก คอมโบบ็อก 3 ตัว จะได้ = เรคอร์ด(ID) ที่ตารางหลัก
จากนั้นอยากให้ฟอร์มที่ผมเลือก คอมโบบ็อกบันทึกค่า Id

 

 

21 พ.ค. 61 , 10:12:11
ตอบกลับ #15

ปิ่นณรงค์

ผมเลือกค่าจาก คอมโบบ็อก 3 ตัว จะได้ = เรคอร์ด(ID) ที่ตารางหลัก
จากนั้นอยากให้ฟอร์มที่ผมเลือก คอมโบบ็อกบันทึกค่า Id

คือตอนนี้ ข้อมูลที่นำมาลงทะเบียนมีจากทั้ง 2 ตารางใช่ไหมครับ คุณได้กำหนด ว่าเมื่อกรอกข้อมูลครบ 3 Combobox แล้ว ที่ Combobox ตัวที่ 3 ได้ตั้ง Event ให้สร้าง ID ขึ้นมา ซึ่งไอดีนั้นก็แสดงสำหรับ ของตารางแรก ผมสมมุติชื่อว่า ID1 นะครับ

ต่อไปวิธีการ
1.ให้สร้าง Textbox ขึ้นมาอีก 1 อันเพื่อ Bound กับ Field ID ของตารางที่ 2 เราสมมุติชื่อว่า ID2
2.ที่ Combobox ตัวที่ 3 ต่อจาก Event สร้างไอดีที่คุณสร้างขึ้นมา ต่อคำสั่งไปว่า

ID2 = ID1

เราก็จะได้ ID ทั้ง 2 ตารางแล้วครับ
หรือถ้าลองทำแล้วยังไม่ได้ ก็ลองส่งไฟล์มาครับผมแก้ให้

« แก้ไขครั้งสุดท้าย: 21 พ.ค. 61 , 10:14:14 โดย ปิ่นณรงค์ »
:love: :grin:
 


บอร์ดเรียนรู้ Access สำหรับคนไทย