link ข้อมูลจากฟิลด์หนึ่งไปอีกฟิลด์หนึ่งเป็นค่าเริ่
กระทู้เก่าบอร์ด อ.Yeadram

 1,823   8
URL.หัวข้อ / URL
link ข้อมูลจากฟิลด์หนึ่งไปอีกฟิลด์หนึ่งเป็นค่าเริ่

ผมสร้างตารางข้อมูลที่มีฟิลด์ที่อยู่ลูกค้า และฟิลด์ที่อยู่จัดส่ง
อยากทำให้ค่าในฟิลด์ที่อยู่จัดส่งมีค่าเริ่มต้น ที่รับข้อมูลจากฟิลด์ที่อยู่ลูกค้า แต่สามารถเปลี่ยนได้ กรณีที่อยู่จัดส่งเป็นคนละที่กับที่อยู่ลูกค้า

รบกวนสอบถาม เพื่อเพิ่มความรู้ครับ
ขอบคุณครับ :)

8 Reply in this Topic. Dispaly 1 pages and you are on page number 1

1 @R06632
ที่มุมมองออกแบบของตาราง
ที่ฟิลด์ "ที่อยู่จัดส่ง"
เลือก คุณสมบัติ Default value   
ลองเล่นกับมันดูครับ ตรงนั้นแหละ
2 @R06639
ขอบคุณครับ
3 @R06642
ถ้าผมสร้างฟอร์มใบส่งของจากตารางการจัดส่ง ที่มีการเลือกรหัสลูกค้า และที่อยู่ลูกค้าที่ผูกกับตารางข้อมูลลูกค้าแสดงขึ้นมา ในตัวควบคุมกล่องข้อความที่กำหนด

ผมอยากได้ข้อมูลลูกค้า เช่น ชื่อลูกค้า ที่อยู่ลูกค้า ที่แสดงขึ้นมา ให้ไปปรากฏเป็นค่าเริ่มต้นในฟิลด์ "ชื่อลูกค้าจัดส่ง" "ที่อยู่ลูกค้าจัดส่ง" ในตารางการจัดส่ง ซึ่งสามารถเปลี่ยนแปลงข้อมูลการจัดส่งให้ต่างจากข้อมูลลูกค้าได้ กรณีจัดส่งไปคนละที่กับข้อมูลลูกค้า

รบกวนอีกครั้งครับ :)
ขอบคุณครับ
4 @R06646
-ถ้าบังคับผู้ใช้กรอกข้อมูลตามลำดับ (ไม่ข้ามช่อง)
ให้ผู้ใช้เลือกข้อมูลลูกค้าก่อน
เราดักจับเหตุการณ์หลังจากนั้น เช่น after_update ของคอนโทรลรหัสลูกค้า เป็นต้น

private sub cbCustomer_afterupdate()
' คอมโบ บ็อกซ์ รหัสลูกค้าถูกเลือก
คำสั่ง...
คำสั่ง...
คำสั่ง...
End sub


คำสั่งทำงาน ซึ่งมีงานอย่างน้อย 2 จังหวะ คือ
1) การหาข้อมูลมา อาจจะมีวิธีให้เลือกแบบยิบย่อยไปอีกแยะ (เลือกใช้วิธีที่เราเข้าใจหรือถนัดดีที่สุด)
- การใช้เอาข้อมูลจากคอลัมน์อื่นๆ ของ คอมโบรหัสลูกค้า
- การใช้ Dlookup ไปเอาข้อมูลโดยตรงจากตารางลูกค้าโดยตรง
- การมองหาข้อมูลที่มีอยู่แล้วจาก textbox ตัวอื่นๆ

2) การเติมข้อมูล ก็เช่นกันมีวิธียิบย่อย
-การป้อนค่าจากตัวแปรเข้า textbox (ใช้ vba เก็บค่าเข้าตัวแปรมาก่อน)
-การป้อนค่าอัตโนมัติเข้า textbox ด้วย นิพจน์ เช่นการ เขียนนิพจน์ด้วย Dlookup
- การใช้คำสั่งคัดลอกเข้าสู่ textbox (คัดลอกจาก textbox ตัวอื่น)
- การเขียน sql statement ให้ insert ข้อมูลเข้าตารางปลายทาง แล้วค่อยสั่งฟอร์มปัจจุบันให้ดึงข้อมูลใหม่ (refresh)



ตัวอย่าง.....
   Private sub comboCustomer_Afterupdate()
      me.textboxShipname = comboCustomer.column(2)
      me.textboxShipAddress = me.textboxCustomerAddress
      me.textboxZipcode = Dlookup("zipcode","tableCustomer","[custID] = '" & comboCustomer & "'")
   End sub
5 @R06648
พอที่จะเห็นภาพครับ เดี๋ยวของลองดูน่ะครับ
ขอบคุณครับ :)
6 @R06666
ผมรบกวนอีกทีครับ
ผมลองตามตัวอย่างแล้วครับ ทำได้แล้ว ขอบคุณมากครับ

แต่ผมลองใช้ Dlookup เพื่อเพิ่มความรู้ครับ ยังไม่ได้ครับ ไม่แน่ใจผมผิดที่ตรงไหนครับ

Me.PostTo = DLookup("PostID", "T-PostDB", "[CustID]="" &CustIDCombo &""")
7 @R06667
ในส่วนเงื่อนไขของมันครับ (อาร์กิวร์เมนต์สุดท้าย) เขียนผิดรูปแบบหรือเปล่าครับ

ค่าของคอมโบ เป็น string หรือ number
ค่าของฟิลด์ CustID ในตาราง T-PostDB เป็น string หรือ number

ถ้าเป็น string ทั้งคู่ ลองปรับเป็น
DLookup("PostID", "T-PostDB", "[CustID] Like '" & CustIDCombo & "'")
อ่านเรียงตัวว่า ไลค์-น้ำค้าง-ฟันหนู-เคาะ-แอนด์-เคาะ-คัสไอดีคอมโบ-เคาะ-แอนด์-เคาะ-ฟันหนู-น้ำค้าง-ฟันหนู

ถ้าเป็น number ทั้งคู่ ลองปรับเป็น
DLookup("PostID", "T-PostDB", "[CustID] = " & CustIDCombo)

8 @R06669
ทำได้แล้วครับผม
ขอบคุณ คุณ yeadram มากๆครับ
เข้ามาในบอร์ดนี้ ได้ความรู้เยอะจริงๆ
@ ประกาศใช้งานเว็บบอร์ดใหม่ => บอร์ดเรียนรู้ Access สำหรับคนไทย
แล้วจะใส่ลิ้งอ้างอิงมาที่โพสต์เก่านี้หรือไม่ก็ตามสะดวกครับ
Time: 0.2418s