unbound continuous forms
กระทู้เก่าบอร์ด อ.Yeadram

 1,070   8
URL.หัวข้อ / URL
unbound continuous forms

สมมุติมี ฟิล์ด   id name date
เราใส่เป็น 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
4 @R22795
ถ้าเป็น Continuous Form แล้วให้กด save ทีเดียวบันทึกทุกเรคอร์ด วิธีที่ผมให้ไปในลิงค์ข้างบน ใช้ไม่ได้นะครับ ใช้ได้เฉพาะกด save เพื่อบันทึกทีละเรคอร์ดและสำหรับ Bound Form เท่านั้น
5 @R22796
สรุปว่า ทำไม่ได้ใช่ไหมครับ อ.สันติสุข
แบบนี้ เราใช้เป็น 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
ขอบคุณ อ.สันติสุข มากครับผม
@ ประกาศใช้งานเว็บบอร์ดใหม่ => บอร์ดเรียนรู้ Access สำหรับคนไทย
แล้วจะใส่ลิ้งอ้างอิงมาที่โพสต์เก่านี้หรือไม่ก็ตามสะดวกครับ
Time: 0.2624s