แสดงกระทู้

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Messages - Supanida

หน้า: 1 [2]
19
อย่างที่บอกแหล่ะครับ การแก้ไขเรคอร์ดในเทเบิล ก็ใช้ Update Query    โดยในมุมมองแบบ Design View   ที่บรรทัด Update To ก็กำหนดค่าสำหรับฟิลด์ Yes/No นั้นเป็นคำว่า True และในบรรทัด Criteria ของคอลัมน์ของทุกฟิลด์ที่ใช้เป็นเงื่อนไข ก็ใส่เงื่อนไขสำหรับการดึงเรคอร์ดเหล่านั้นมาแก้ไข

ขอตัวอย่างเงื่อนไขสำหรับการดึงเรคอร์ดได้ไหมคะ

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

ขอสอบถามการกำหนดค่า true ลงในฟีลที่เรากำหนดเป็นให้เป็นการเลือกต้องกำหนดอย่างไรคะ

21
ถ้าระบบมีผู้ใช้คนเดียว เอาง่ายก็คือเพิ่ม S ลงในเทเบิลที่เป็นแหล่งข้อมูลที่แสดงส่วนของ [ผลลัพธ์การค้น] (R) หาไปเลยก็ได้

ส่วนที่เลือกไม่ได้ ให้ทดสอบว่าสามารถแก้ค่าในคอนโทรลอื่นๆใน R ได้ด้วยหรือไม่ ถ้าไม่ได้เหมือนกัน อาจเกิดจากคิวรี่(ถ้ามี)ที่เป็นแหล่งข้อมูลของผลการค้นหามีการเชื่อมเทเบิลและเข้าเงื่อนไขให้คิวรี่นั้นแก้ไขไม่ได้ แก้ไขโดยเลือก Property ของคิวรี่ให้เป็น Inconsistant Update แต่ต้องไปล็อคทุกคอนโทรลบน R ยกเว้นคอนโทรลของ S เพื่อไม่ให้ผู้ใช้เผลอแก้ไขไปด้วยครับ

มันมีตรงคอนโทล QTY ที่มันเหลือน้อยกว่าสิบมันจะแก้ไขค่าได้ค่ะ เราต้องกำหนดคิวรี่ก่อนหรอคะ พอจะมีตัวอย่างให้ดูเป็นแนวทางไหมคะ

22
แนวคิดก็คือ เมื่อรู้ว่าเรคอร์ดไหนบ้างที่เป็นผลลัพธ์ที่ค้นหาได้ ก็ให้เขียนเรคอร์ดเหล่านั้นลงในเทเบิลชั่วคราวอีกเทเบิลนึง (T) ซึ่งมีฟิลด์ต่างๆตามที่ต้องการแสดงในหน้า [การค้นหา] แต่ให้เพิ่มอีกหนึ่งฟิลด์ (S) ที่มี data type เป็น yes/no ซึ่งให้นำไปทำเป็น check box บนแต่ละบรรทัดในฟอร์ม [การค้นหา] ดังนั้นผู้ใช้ก็จะสามารถเลือก/ไม่เลือกทำเครื่องหมายสำหรับแต่ละบรรทัดได้ พอกดปุ่ม [ทำการเบิก] ก็ให้เขียนทุกเรคอร์ดในเทเบิล T ที่ฟิลด์ S มีค่าเป็น True ลงในเทเบิลการเบิกจ่ายและเทเบิลรายการเบิกจ่าย (RI)   แล้วค่อยเปิดฟอร์มเบิก/จ่ายตามเอกสารที่เพิ่งสร้างอีกที

ส่วนการเพิ่มหรือตัดสต็อก ง่ายๆก็สร้าง Update Query ที่โยงระหว่างเทเบิลสต็อก กับ เทเบิล RI โดยอ้างตามรหัสใบเบิกจ่ายวัตถุดิบบนหน้าจอ [การเบิกจ่ายวัตถุดิบ]  แล้วในปุ่ม [บันทึก] ก็ให้เรียก Update Query ตัวนี้มาทำงานครับ



ในการทำ Data Type เราไม่สามารถกำหนดในตารางเดิมได้หรอคะ พอดีดิชั้นกำหนดในตารางเดินไปค่ะ แต่ไม่สามารถติ๊กเลือกได้ ต้องมีการเขียนคำสั่งอย่างไรคะถึงจะสามารถติ๊กในช่องได้คะ

23
แนวคิดก็คือ เมื่อรู้ว่าเรคอร์ดไหนบ้างที่เป็นผลลัพธ์ที่ค้นหาได้ ก็ให้เขียนเรคอร์ดเหล่านั้นลงในเทเบิลชั่วคราวอีกเทเบิลนึง (T) ซึ่งมีฟิลด์ต่างๆตามที่ต้องการแสดงในหน้า [การค้นหา] แต่ให้เพิ่มอีกหนึ่งฟิลด์ (S) ที่มี data type เป็น yes/no ซึ่งให้นำไปทำเป็น check box บนแต่ละบรรทัดในฟอร์ม [การค้นหา] ดังนั้นผู้ใช้ก็จะสามารถเลือก/ไม่เลือกทำเครื่องหมายสำหรับแต่ละบรรทัดได้ พอกดปุ่ม [ทำการเบิก] ก็ให้เขียนทุกเรคอร์ดในเทเบิล T ที่ฟิลด์ S มีค่าเป็น True ลงในเทเบิลการเบิกจ่ายและเทเบิลรายการเบิกจ่าย (RI)   แล้วค่อยเปิดฟอร์มเบิก/จ่ายตามเอกสารที่เพิ่งสร้างอีกที





คืออันนี้ต้องสร้างตารางใหม่หรอคะ ไม่สามารถเพิ่ม data type เป็น yes/no ไปเลยใช่ไหมคะ พอดีเพิ่มไปในตารางเดิมเลยน่ะค่ะ แล้วไม่สามารถเลือกได้ ต้องมีการเขียนคำสั่งไหมคะ

24
เขียนเรคอร์ดลงเทเบิล สร้าง Append Query
แก้ไขเรคอร์ดในเทเบิล สร้าง Update Query
ลบเรคอร์ดในเทเบิล สร้าง Delete Query

ใช้แมโครเรียกคิวรี่มาทำงาน ใช้ Action ชื่อ OpenQuery
ใช้โค้ดสั่งคิวรี่มาทำงาน ใช้ DoCmd.OpenQuery "ชื่อคิวรี่"

ใช้แมโครเปิดฟอร์ม ใช้ Action ชื่อ OpenForm
ใช้โค้ดสั่งเปิดฟอร์ม ใช้ DoCmd.OpenForm "ชื่อฟอร์ม"

ใช้แมโครปิดฟอร์ม ใช้ Action ชื่อ Close
ใช้โค้ดสั่งปิดฟอร์ม ใช้ DoCmd.Close acForm, "ชื่อฟอร์ม"

อ้างอิงชื่อคอนโทรล (เท็กซ์บ็อกซ์, คอมโบบ็อกซ์, ...) บนฟอร์ม ใช้ Forms![ชื่อฟอร์ม]![ชื่อคอนโทรล]

ขอบคุณมากๆเลยนะคะ

25
ผมให้ไปแค่แนวคิดครับ ส่วนจะใช้วิธีเขียนโค้ด เขียนแมโคร หรือจะสร้างคิวรี่ ไม่ว่าจะเป็น Append Query หรือ Update Query ก็อยู่ที่รายละเอียดปลีกย่อยของระบบที่คุณได้ออกแบบไว้ครับ ถ้าไม่ถนัดเขียนโค้ดก็ต้องลองทำโดยแมโครดูก่อนครับ ถ้าไม่ได้ค่อยแก้ปัญหาบางส่วนโดยการเขียนโค้ด

พอจะแนะแนวในการเขียนคำสั่งได้ไหมคะ พอดีว่าเพิ่งลองมาทำครั้งแรกค่ะ

26
แนวคิดก็คือ เมื่อรู้ว่าเรคอร์ดไหนบ้างที่เป็นผลลัพธ์ที่ค้นหาได้ ก็ให้เขียนเรคอร์ดเหล่านั้นลงในเทเบิลชั่วคราวอีกเทเบิลนึง (T) ซึ่งมีฟิลด์ต่างๆตามที่ต้องการแสดงในหน้า [การค้นหา] แต่ให้เพิ่มอีกหนึ่งฟิลด์ (S) ที่มี data type เป็น yes/no ซึ่งให้นำไปทำเป็น check box บนแต่ละบรรทัดในฟอร์ม [การค้นหา] ดังนั้นผู้ใช้ก็จะสามารถเลือก/ไม่เลือกทำเครื่องหมายสำหรับแต่ละบรรทัดได้ พอกดปุ่ม [ทำการเบิก] ก็ให้เขียนทุกเรคอร์ดในเทเบิล T ที่ฟิลด์ S มีค่าเป็น True ลงในเทเบิลการเบิกจ่ายและเทเบิลรายการเบิกจ่าย (RI)   แล้วค่อยเปิดฟอร์มเบิก/จ่ายตามเอกสารที่เพิ่งสร้างอีกที

ส่วนการเพิ่มหรือตัดสต็อก ง่ายๆก็สร้าง Update Query ที่โยงระหว่างเทเบิลสต็อก กับ เทเบิล RI โดยอ้างตามรหัสใบเบิกจ่ายวัตถุดิบบนหน้าจอ [การเบิกจ่ายวัตถุดิบ]  แล้วในปุ่ม [บันทึก] ก็ให้เรียก Update Query ตัวนี้มาทำงานครับ

ไม่ต้องมีการเขียนโค้ดคำสั่งอะไรเพิ่มใช่ไหมคะ สามารถทำตามนี้ได้เลยใช่ไหมคะ

27
รบกวนสอบถามได้ไหมคะว่าถ้าเราต้องการเลือกรายการเบิกหลายรายการ แบบประมาณว่าให้มีการติ๊กเลือกค่ะ แล้วให้ลิ้งค์ไปยังฟอร์มการเบิก มีวิธีการทำอย่างไรคะ

อันนี้คือตัวอย่างฟอร์มการค้นหาที่ต้องการให้มีการทำการเลือกจากหน้าฟอร์มนี้แล้วลิ้งค์ไปยังฟอร์มการเบิกค่ะ


อันนี้ฟอร์มการเบิกค่ะ// แล้วการให้ยอดจำนวนรับเข้าบวกเข้ากับจำนวนที่มีอยู่ในสต๊อก และ การตัดยอดสต๊อกเวลาทำการเบิก มีวิธีการทำอย่างไรบ้างคะ ช่วยตอบหน่อยนะคะ พอดีต้องทำโปรเจ็คน่ะค่ะ ขอบคุณล่วงหน้าค่า

28
ถ้าต้องการทำการเบิกแบบเลือกหลายรายการเพื่อให้ลิ้งค์ไปยังฟอร์มการเบิกสามารถทำได้ยังไงค่ะ ในโปรแกรม access
ออกแบบหน้าตาฟอร์มไว้แบบไหนครับ ถ้าเลือกหลายๆรายการ คุณอาจจะสร้างListbox เพื่อทำการเลือกรายการ(Multi Select) ได้คับ

การล็อคอินเข้าaccess ให้ผลต่างกันเช่น ยูสเซอร์แอดมินสามารถเข้าได้ทุกฟอร์ม ส่วนยูเซอร์ที่ไม่ใช่แอดมิน เข้าได้แค่ฟอร์มการค้นหาและฟอร์มการเบิกค่ะ

คุณอาจจะสร้าง ตาราง User ขึ่นมา และมี Field พวก UserName , Password , Permisions
ตรงส่วนของ Permisions นั้น เราจะกำหนดสิทธิ์ในการเข้าถึงฟอร์มต่างๆ คอนโทรล ต่างๆ ได้คับ
เช่น กำหนด สิทธิ์ไว้ 2 แบบ Admin และ User โดยกำหนด ให้หลังล๊อกอิน แล้วให้มีการเช็คสิทธิ์ของ User
โดย ถ้าไม่มีสิทธิ์ปุ่มเปิดฟอร์มนั้นจะไม่สามารถกดได้ หรือถ้าอยากซ่อนไว้ก็ใส่ Botton.visible = false แทน Botton.Enabled = false นะครับ
ส่วนตัวอย่างคำสั่ง การเช็คสิทธิ์
สมมุติ textbox ที่กรอก Username ชื่อ UserBox
       Table Field UserName , Password , Permissions
       กำหนดตัวแปลเก็บค่า ชื่อ ChkPermissions

Dim ChkPermissions as String
ChkPermissions = DLookup("[Permissions]", "User", "[UserName]='" & Me.UserBox & "'")
Select Case ChkPermissions
Case "Admin"
   BtnSearch.enabled = true
   BtnWithdraw.Enabled = true
   BtnEtc.Enabled = true
   Btn บลาๆๆๆ.Enabled = true
Case "User"
   BtnSearch.enabled = true
   BtnWithdraw.Enabled = true
   BtnEtc.Enabled = False
   Btn บลาๆๆๆ.Enabled = False
End Select

ถ้าคุณสร้างฟอร์มไว้แล้ว แต่ยังไม่สามารถเพิ่มโค้ดเองได้ ก็ส่งตัวอย่างฟอร์มมาได้คับ

อันนี้เป็นตัวอย่างฟอร์มการค้นหาค่ะ เป็น single from ค่ะ คือต้องการเลือกรายการจากฟอร์มนี้ แล้วพอกดปุ่มทำรายการเบิกจะลิ้งค์รายการที่เราทำการเลือกไว้ไปยังฟอร์มทำการเบิกค่ะ

 

แล้วส่วนเรื่องการล็อคอิน ต้องสร้างตารางใหม่หรอคะ

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


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

29
ขอสอบถามค่ะ ถ้าต้องการทำการเบิกแบบเลือกหลายรายการเพื่อให้ลิ้งค์ไปยังฟอร์มการเบิกสามารถทำได้ยังไงค่ะ ในโปรแกรม access


 // การล็อคอินเข้าaccess ให้ผลต่างกันเช่น ยูสเซอร์แอดมินสามารถเข้าได้ทุกฟอร์ม ส่วนยูเซอร์ที่ไม่ใช่แอดมิน เข้าได้แค่ฟอร์มการค้นหาและฟอร์มการเบิกค่ะ

30
ขอบคุณมากๆนะคะ

31
ใช่ครับ เป็นวิธีในฟอร์ม

ขอบคุณนะคะ แต่ขอถามอีกอย่างได้ไหมคะ คือทำตามแล้วมันไม่สามารถไฮท์ไล์สีแดงได้อ่ะคะ ต้องมีการเขียนคำสั่งไหมคะ

32
ใช้การกำหนด Conditional Formatting ครับ



วิธีการนี้สามารถกำหนดได้ในรูปแบบบของฟอร์มเลยใช่ไหมคะ

33
อยากสอบถามการทำแจ้งเตือนใน Access ค่ะ ในกรณีวัตถุดิบเหลือน้อยกว่า 10 ชิ้น ทำให้การแจ้งเตือนโดยการไฮท์ไลท์แถววัตถุดิบนั้นเอาไว้ค่ะ

หน้า: 1 [2]