กระทู้เก่าบอร์ด อ.Yeadram
1,163 8
URL.หัวข้อ /
URL
unbound continuous forms
สมมุติมี ฟิล์ด id name date
เราใส่เป็น unbound ทั้งหมดได้ไหมครับ พอกด save ค่อยให้ข้อมูลใน continuous forms นี้ไปเก็บใน table อีกที ถ้าไม่ save ก็ปิดไป
เราใส่เป็น unbound ทั้งหมดได้ไหมครับ พอกด save ค่อยให้ข้อมูลใน continuous forms นี้ไปเก็บใน table อีกที ถ้าไม่ save ก็ปิดไป
8 Reply in this Topic. Dispaly 1 pages and you are on page number 1
1 @R22791
ไม่เคยวิธีนี้ แต่ขอตอบว่าได้จ้า
2 @R22792
รบกวนท่านที่เคย หน่อยจ้า
3 @R22793
ลองดูกระทู้นี้ครับ
http://www.thai-access.com/yeadram_view.php?topic_id=2194&page=2
http://www.thai-access.com/yeadram_view.php?topic_id=2194&page=2
4 @R22795
ถ้าเป็น Continuous Form แล้วให้กด save ทีเดียวบันทึกทุกเรคอร์ด วิธีที่ผมให้ไปในลิงค์ข้างบน ใช้ไม่ได้นะครับ ใช้ได้เฉพาะกด save เพื่อบันทึกทีละเรคอร์ดและสำหรับ Bound Form เท่านั้น
5 @R22796
สรุปว่า ทำไม่ได้ใช่ไหมครับ อ.สันติสุข
แบบนี้ เราใช้เป็น temp table แทน เสร็จแล้วค่อย append ไปที่
table หลัก ได้ไหมครับ
แบบนี้ เราใช้เป็น temp table แทน เสร็จแล้วค่อย append ไปที่
table หลัก ได้ไหมครับ
6 @R22797
ผมว่า temp table น่าจะเป็นวิธีที่พื้นๆและตรงไปตรงมาที่สุดแล้วครับ สำหรับผมเอง จะสร้าง temp table เตรียมไว้ก่อนเพียงเทเบิลเดียว แต่ให้มีฟิลด์ประเภทต่างๆอย่างละ10 ฟิลด์ คือ text01, text02, ..., text10, int01, ..., int10, dec01, ..., dec10 ฯลฯ ส่วน primary key ใช้เป็นชื่อเครื่อง+ชื่อยูสเซอร์(ถ้าระบบเรามี)+ชื่อฟอร์มหรือชื่องาน เช่น Office0504-Wanna-SalesInvoices ฟิลด์ก็เลือกเอาเลยว่าจะใช้ฟิลด์ไหนบ้างและโยงไปกับคอนโทรลไหนบนหน้าฟอร์มที่ป้อน ผมแนะนำว่า Record Locks property ของฟอร์มควรเป็น No Locks นะครับ หลังจากที่บันทึกหรือยกเลิกการป้อนลงเทเบิลจริงแล้ว เราก็สั่งลบเรคอร์ดตาม primary key ที่ใช้ไปเท่านั้นเอง เหตุที่ผมสร้างเทเบิลเดียวก็เพื่อว่า จะได้ไม่ต้องมาสร้างเทเบิลชั่วคราวทีละเทเบิลเมื่อมีความต้องการอันใหม่เพิ่มขึ้นมา ซึ่งจะช่วยให้ไม่ต้องมานั่งทำลิงค์เทเบิลด้วยครับ แต่ข้อด้อยของเทเบิลเดียวก็คือเราต้องมาเช็ค integrity ของข้อมูลระหว่างเรคอร์ดที่กำลังป้อนเอาเอง เช่น ระบบกำหนดว่าใบสั่งซื้อใบนึงห้ามมีรหัสสินค้าซ้ำกันเลย ถ้าเราออกแบบ temp table เฉพาะงาน เราก็สร้าง unique index ที่มีฟิลด์เลขที่ใบสั่งซื้อ+รหัสสินค้านั้นได้ แต่ temp table เหมารวมทุกงานแบบของผม จะสร้างไม่ได้ ก็ต้องเขียนโค้ดเพื่อตรวจสอบเองครับ
ใครมีวิธีอื่นเพิ่มเติมก็ช่วยแนะนำด้วยนะครับ
ใครมีวิธีอื่นเพิ่มเติมก็ช่วยแนะนำด้วยนะครับ
7 @R22798
ผมว่า temp table น่าจะเป็นวิธีที่พื้นๆและตรงไปตรงมาที่สุดแล้วครับ สำหรับผมเอง จะสร้าง temp table เตรียมไว้ก่อนเพียงเทเบิลเดียว แต่ให้มีฟิลด์ประเภทต่างๆอย่างละ10 ฟิลด์ คือ text01, text02, ..., text10, int01, ..., int10, dec01, ..., dec10 ฯลฯ ส่วน primary key ใช้เป็นชื่อเครื่อง+ชื่อยูสเซอร์(ถ้าระบบเรามี)+ชื่อฟอร์มหรือชื่องาน เช่น Office0504-Wanna-SalesInvoices ฟิลด์ก็เลือกเอาเลยว่าจะใช้ฟิลด์ไหนบ้างและโยงไปกับคอนโทรลไหนบนหน้าฟอร์มที่ป้อน ผมแนะนำว่า Record Locks property ของฟอร์มควรเป็น No Locks นะครับ หลังจากที่บันทึกหรือยกเลิกการป้อนลงเทเบิลจริงแล้ว เราก็สั่งลบเรคอร์ดตาม primary key ที่ใช้ไปเท่านั้นเอง เหตุที่ผมสร้างเทเบิลเดียวก็เพื่อว่า จะได้ไม่ต้องมาสร้างเทเบิลชั่วคราวทีละเทเบิลเมื่อมีความต้องการอันใหม่เพิ่มขึ้นมา ซึ่งจะช่วยให้ไม่ต้องมานั่งทำลิงค์เทเบิลด้วยครับ แต่ข้อด้อยของเทเบิลเดียวก็คือเราต้องมาเช็ค integrity ของข้อมูลระหว่างเรคอร์ดที่กำลังป้อนเอาเอง เช่น ระบบกำหนดว่าใบสั่งซื้อใบนึงห้ามมีรหัสสินค้าซ้ำกันเลย ถ้าเราออกแบบ temp table เฉพาะงาน เราก็สร้าง unique index ที่มีฟิลด์เลขที่ใบสั่งซื้อ+รหัสสินค้านั้นได้ แต่ temp table เหมารวมทุกงานแบบของผม จะสร้างไม่ได้ ก็ต้องเขียนโค้ดเพื่อตรวจสอบเองครับ
ใครมีวิธีอื่นเพิ่มเติมก็ช่วยแนะนำด้วยนะครับ
ใครมีวิธีอื่นเพิ่มเติมก็ช่วยแนะนำด้วยนะครับ
8 @R22803
ขอบคุณ อ.สันติสุข มากครับผม
Time: 0.3146s