กระทู้เก่าบอร์ด อ.Yeadram
1,823 8
URL.หัวข้อ /
URL
link ข้อมูลจากฟิลด์หนึ่งไปอีกฟิลด์หนึ่งเป็นค่าเริ่
ผมสร้างตารางข้อมูลที่มีฟิลด์ที่อยู่ลูกค้า และฟิลด์ที่อยู่จัดส่ง
อยากทำให้ค่าในฟิลด์ที่อยู่จัดส่งมีค่าเริ่มต้น ที่รับข้อมูลจากฟิลด์ที่อยู่ลูกค้า แต่สามารถเปลี่ยนได้ กรณีที่อยู่จัดส่งเป็นคนละที่กับที่อยู่ลูกค้า
รบกวนสอบถาม เพื่อเพิ่มความรู้ครับ
ขอบคุณครับ :)
อยากทำให้ค่าในฟิลด์ที่อยู่จัดส่งมีค่าเริ่มต้น ที่รับข้อมูลจากฟิลด์ที่อยู่ลูกค้า แต่สามารถเปลี่ยนได้ กรณีที่อยู่จัดส่งเป็นคนละที่กับที่อยู่ลูกค้า
รบกวนสอบถาม เพื่อเพิ่มความรู้ครับ
ขอบคุณครับ :)
8 Reply in this Topic. Dispaly 1 pages and you are on page number 1
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
ให้ผู้ใช้เลือกข้อมูลลูกค้าก่อน
เราดักจับเหตุการณ์หลังจากนั้น เช่น 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 &""")
ผมลองตามตัวอย่างแล้วครับ ทำได้แล้ว ขอบคุณมากครับ
แต่ผมลองใช้ 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)
ค่าของคอมโบ เป็น 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 มากๆครับ
เข้ามาในบอร์ดนี้ ได้ความรู้เยอะจริงๆ
ขอบคุณ คุณ yeadram มากๆครับ
เข้ามาในบอร์ดนี้ ได้ความรู้เยอะจริงๆ
Time: 0.2418s
ที่ฟิลด์ "ที่อยู่จัดส่ง"
เลือก คุณสมบัติ Default value
ลองเล่นกับมันดูครับ ตรงนั้นแหละ