เกี่ยวกับการเตือนเช็คสินค้าคงเหลือน้อยครับ ทำได้แล
กระทู้เก่าบอร์ด อ.Yeadram

 1,784   8
URL.หัวข้อ / URL
เกี่ยวกับการเตือนเช็คสินค้าคงเหลือน้อยครับ ทำได้แล

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

SELECT Inventory.LastStock
FROM Inventory
WHERE (((Inventory.LastStock)<=50));



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

Private Sub Form_Current()
Dim rst As Object
Set rst = CurrentDb.OpenRecordset("qCheckStock")
If rst.RecordCount > 0 Then
MsgBox "มีสินค้าใกล้จะหมด กรุณาตรวจสอบได้ที่คลังสินค้า", vbInformation, "สินค้าเหลือน้อย!"
    End If
rst.Close
Set rst = Nothing
End Sub


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

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

1 @R20186
อ่านแล้วยังงงว่าความต้องการเป็นอย่างไร ? เอาเป็นว่า ถ้าเป็นผมทำ ก็แค่ให้มันแสดงตัวอักษรสีแดง (หรือขาวบนพื้นแดง) ในช่อง จำนวนคงเหลือ ก็พอ

- ทำไมถึงไปใส่ใน Form_Current event
- ฟอร์มที่แสดงรายการสินค้า เป็น single form หรือ continuous form
- minimum level อยู่ในเทเบิลอะไร เทเบิลนั้นมี primary key เป็นฟิลด์อะไร
- เทเบิล Inventory มี primary key เป็นฟิลด์อะไร
- ความต้องการอธิบายให้ชัดเจนอีกที เอารูปฟอร์มที่ออกแบบไว้มาลงก็ดี
2 @R20187
- ทำไมถึงไปใส่ใน Form_Current event
เวลาเปิดฟอร์มหน้า inventory ให้ คิวรี่ไปตรวจที่ Inventory.LastStock ว่าเหลือน้อยกว่าเท่าไหร่อะครับ

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




อันนี้หน้าฟอร์มครับ หนึ่งหน้าคือหนึ่งสินค้า อยากให้ตั้งสินค้าคงเหลือให้เตือนได้ในหน้านี้ ผมหาทางทำไม่เป็นครับผม



รบกวนด้วยครับผม
3 @R20188
ผิดรูปครับอันที่สองรูปนี้ครับผม

4 @R20189
พอผมเลื่อนไปสินค้าตัวอื่น ข้อความเตือนก็ขึ้นมาทุกครั้งทุกหน้าทั้งๆที่ไม่ได้เกี่ยวด้วยเลยครับผม
5 @R20190
- minimum level อยู่ในเทเบิลอะไร เทเบิลนั้นมี primary key เป็นฟิลด์อะไร
- เทเบิล Inventory มี primary key เป็นฟิลด์อะไร
6 @R20191
- minimum level อยู่ในเทเบิลอะไร เทเบิลนั้นมี primary key เป็นฟิลด์อะไร
อยู่เทเบิล Inventory ครับผม primary key เป็น Id Product ครับ

- เทเบิล Inventory มี primary key เป็นฟิลด์อะไร
primary key เป็น Id Product ครับ

อยู่ที่เดียวกันครับผม
7 @R20192
ในโค้ดน่าจะมีแค่

if me.[ชื่อฟิลด์ที่เก็บยอดทั้งหมด] - me.[ชื่อฟิลดิ์ที่เก็บยอดเบิกไป] <= me.[ชื่อฟิลด์ที่เก็บ minimum level] then
   msgbox ....
end if

แต่ผมไม่แนะนำวิธีให้แสดง msgbox ออกมานะครับ มันจะน่ารำคาญมาก น่าจะใช้ conditional formatting กำหนดสีพื้นและตัวอักษรให้แก่ช่อง ยอดคงเหลือ มากกว่า
8 @R20193
ขอบคุณมากๆครับอาจารย์ สันติสุข ใช้งานได้แล้วครับ อธิบายให้เข้าใจง่ายมากๆเลยครับผม
ผมเอาโค้ดไปไว้ที่

Onload
Private Sub Form_Current()

ตอนนี้เตือนหน้าใครหน้ามันแล้วครับผม

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