1
ห้อง MS Access / สอบถามว่าถ้าถ้ามีการ Save ทับ record เดิมให้แจ้งเตือนได้ไหมครับ
« เมื่อ: 17 ก.พ. 64 , 14:42:58 »
สอบถามว่าถ้าถ้ามีการ Save ทับ record เดิมให้แจ้งเตือนได้ไหมครับ และให้เลือกว่า save ทับหรือไม่น่ะครับ
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.
ลองปรับ criteria เป็น
LIKE Nz([Forms]![ReportMA]![txtTruck],"*")
TruckNo คือเลขทะเบียนรถใช้ใหมครับ ?
Criteria ให้อยู่ในบรรทัดเดียวกันได้เลย
ไม่ต้องมี Like ครับ
จากตัวอย่างของคุณ เอา Between.... ขึ้นมาอีก 1 บรรทัดครับ แล้วดูผลใหม่
ถ้าไม่ได้ขอดูคำสั่ง Forms!...... ตรงส่วนของ Criteria หน่อย
TruckNo คือเลขทะเบียนรถใช้ใหมครับ ?
Criteria ให้อยู่ในบรรทัดเดียวกันได้เลย
ไม่ต้องมี Like ครับ
จากตัวอย่างของคุณ เอา Between.... ขึ้นมาอีก 1 บรรทัดครับ แล้วดูผลใหม่
ถ้าไม่ได้ขอดูคำสั่ง Forms!...... ตรงส่วนของ Criteria หน่อย
วิธีทำ
1.กำหนดแหล่งข้อมูลแถวของ Combobox TruckNO เป็นโค๊ด: [Select]SELECT tblTruck.TruckNO, tblTruck.TruckBrand, tblTruck.DriverName
1.1 กำหนด BoundColumn(หรือ คอลั่มที่ผู้ไว้ เท่ากับ 1)
FROM tblTruck
WHERE ((Not (tblTruck.TruckNO) Is Null));
1.2 กำหนดจำนวนคอลัมน์ 3
1.3 กำหนดความกว้างคอลัมน์ 5ซม.;0ซม.;0ซม.
2.กำหนดแหล่งข้อมูลแถวของ Combobox TruckBrand เป็นโค๊ด: [Select]SELECT [tblTruck].TruckBrand FROM tblTruck GROUP BY [tblTruck].TruckBrand HAVING ((Not ([tblTruck].TruckBrand) Is Null));
2.1 กำหนด BoundColumn(หรือ คอลั่มที่ผู้ไว้ เท่ากับ 1)
2.2 กำหนดจำนวนคอลัมน์ 1
2.3 กำหนดความกว้างคอลัมน์ 5ซม.
3.กำหนดแหล่งข้อมูลแถวของ Combobox DriverName เป็นโค๊ด: [Select]SELECT [tblTruck].DriverName FROM tblTruck GROUP BY [tblTruck].DriverName HAVING ((Not ([tblTruck].DriverName) Is Null));
3.1 กำหนด BoundColumn(หรือ คอลั่มที่ผู้ไว้ เท่ากับ 1)
3.2 กำหนดจำนวนคอลัมน์ 1
3.3 กำหนดความกว้างคอลัมน์ 5ซม.
4.เขียนโค้ด Event เมื่ออัพเดท ของcombobox TruckNO เป็นโค๊ด: [Select]Private Sub TruckNO_AfterUpdate()
If Not IsNull(Me.TruckNO) Then
Me.TruckBrand = Me.TruckNO.Column(1)
Me.DriverName = Me.TruckNO.Column(2)
Else
Me.TruckBrand = Null
Me.DriverName = Null
End If
End Sub
ไม่รู้ว่าการแสดงข้อมูลเป็นแบบไหนนะครับ แต่ถ้าทำวิธีง่ายๆ คือสร้างคิวรี่ไว้ตรวจสอบ เพื่อใช้กับเงื่อนไขว่า เป็นข้อมูลของเดือนที่แล้วหรือไม่
ถ้าเป็นข้อมูลของเดือนที่แล้วก็ กำหนดให้Formให้ ห้ามแก้ไข = true ได้ครับ
สร้างตารางไว้ตรวจสอบนี้ มีเก็บ ID ของข้อมูลหลัก และ วันเดือนปี ของข้อมูลหลัก เพื่อนำมาเช็คเดือนว่าเป็นเดือนปัจจุบันหรือไม่
อ้างถึง Textbox ในฟอร์มหลัก แบบนี้ครับ = [Forms]![ชื่อฟอร์มหลัก]![ชื่อTextbox]
ได้ครับ
เพิ่มฟิลด์ Printed แล้วกำหนด DataType เป็น Yes/No
เริ่มแรกให้กำหนด Default ของฟิลด์นี้เป็น No
เมื่อสั่งพิมพ์ก็ให้เปลี่ยนฟิลด์นี้เป็น Yes
คำสั่งในการสั่งพิมพ์ให้มีเงื่อนไขว่า ถ้าฟิลด์นี้เป็น Yes ไม่ให้พิมพ์
แสดงว่าคุณให้ฟอร์มเดียวกัน แถมฟอร์มนี้ก็เชื่อมต่อกับตารางอีกด้วย
แนะนำให้ทำเป็น 2 ฟอร์ม ฟอร์มนึงสำหรับดูอย่างเดียว อีกฟอร์มสำหรับแก้ข้อมูล
ฟอร์มดูอย่างเดียวอาจใช้คิวรีในการดูข้อมูล แล้วกำหนดว่า ไม่ให้ Add Data
ฟอร์มแก้ข้อมูลสามารถต่อกับตารางได้โดยตรง