แสดงกระทู้

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 - pattan0013

หน้า: [1] 2 3
1
ลองปรับ criteria เป็น
LIKE Nz([Forms]![ReportMA]![txtTruck],"*")


โพสต์นี้ได้รับคำขอบคุณจาก: pattan0013

2
TruckNo คือเลขทะเบียนรถใช้ใหมครับ ?
Criteria ให้อยู่ในบรรทัดเดียวกันได้เลย
ไม่ต้องมี Like ครับ

จากตัวอย่างของคุณ เอา Between.... ขึ้นมาอีก 1 บรรทัดครับ แล้วดูผลใหม่

ถ้าไม่ได้ขอดูคำสั่ง Forms!...... ตรงส่วนของ Criteria หน่อย
โพสต์นี้ได้รับคำขอบคุณจาก: pattan0013

3
วิธีทำ
1.กำหนดแหล่งข้อมูลแถวของ Combobox TruckNO เป็น
โค๊ด: [Select]
SELECT tblTruck.TruckNO, tblTruck.TruckBrand, tblTruck.DriverName
FROM tblTruck
WHERE ((Not (tblTruck.TruckNO) Is Null));
1.1 กำหนด BoundColumn(หรือ คอลั่มที่ผู้ไว้ เท่ากับ 1)
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
โพสต์นี้ได้รับคำขอบคุณจาก: pattan0013

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

สร้างตารางไว้ตรวจสอบนี้ มีเก็บ ID ของข้อมูลหลัก และ วันเดือนปี ของข้อมูลหลัก เพื่อนำมาเช็คเดือนว่าเป็นเดือนปัจจุบันหรือไม่
โพสต์นี้ได้รับคำขอบคุณจาก: pattan0013

5
ได้ครับ
เพิ่มฟิลด์ Printed แล้วกำหนด DataType เป็น Yes/No

เริ่มแรกให้กำหนด Default ของฟิลด์นี้เป็น No

เมื่อสั่งพิมพ์ก็ให้เปลี่ยนฟิลด์นี้เป็น Yes

คำสั่งในการสั่งพิมพ์ให้มีเงื่อนไขว่า ถ้าฟิลด์นี้เป็น Yes ไม่ให้พิมพ์
โพสต์นี้ได้รับคำขอบคุณจาก: pattan0013

6
อ้างถึง Textbox ในฟอร์มหลัก แบบนี้ครับ   = [Forms]![ชื่อฟอร์มหลัก]![ชื่อTextbox]

โพสต์นี้ได้รับคำขอบคุณจาก: pattan0013

7
[Date] นี่ชื่อฟิลด์หรือเปล่าครับ
หรือ Date() เรียกวันที่จากระบบ
โพสต์นี้ได้รับคำขอบคุณจาก: pattan0013

8
แสดงว่าคุณให้ฟอร์มเดียวกัน แถมฟอร์มนี้ก็เชื่อมต่อกับตารางอีกด้วย

แนะนำให้ทำเป็น 2 ฟอร์ม ฟอร์มนึงสำหรับดูอย่างเดียว อีกฟอร์มสำหรับแก้ข้อมูล

ฟอร์มดูอย่างเดียวอาจใช้คิวรีในการดูข้อมูล แล้วกำหนดว่า ไม่ให้ Add Data
ฟอร์มแก้ข้อมูลสามารถต่อกับตารางได้โดยตรง
โพสต์นี้ได้รับคำขอบคุณจาก: pattan0013

9
คือคุณต้องการ Update ข้อมูลในตารางไหน คุณเอาตารางนั้นมาทำ Update Query ครับ ไม่จำเป็นต้องทำ Union เลยนี่นา เพราะ Union นั้นเขาเอาไว้ดูข้อมูลอย่างเดียว

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

ถ้าคุณทำ Normalization แล้ว การ Update ข้อมูลน่าจะทำได้ง่ายกว่านี้ครับ
โพสต์นี้ได้รับคำขอบคุณจาก: pattan0013

10
ก็อย่างที่เคยบอกไว้คือ

Query ไม่ใช่จะสามารถป้อนหรือแก้ไขข้อมูลได้ทุกคิวรี โดยเฉพาะ Action Query หรือ Crosstab Query หรือ Query ที่มีความสัมพันธ์แบบ 1:N (มีบางกรณีที่ Update ข้อมูลได้) หรือ M:N

ถ้า Select Query ที่คุณสร้าง มีความสัมพันธ์แบบ 1:N หรือ M:N อย่าได้พยายามแก้ไขหรือป้อนข้อมูลเลยครับ ถ้าทำได้ ข้อมูลก็อาจผิดมันก็เลยล็อคไว้ตัวตัวของมันเอง
โพสต์นี้ได้รับคำขอบคุณจาก: pattan0013

11
ได้ครับ
โดยนำ Union Query ไปสร้างเป็น Action Query ตามต้องการ
โพสต์นี้ได้รับคำขอบคุณจาก: pattan0013

12
คือถ้า Query ประเภทที่แก้ไขข้อมูลไม่ได้ คือแก้ไขไม่ได้ครับ
วิธีการคือให้สร้าง Update Query เพื่อไปแก้ไขข้อมูลในตารางที่นำมาทำ Union ครับ จากนั้นก็สั่ง Requery อีกที่หลังจาก Update Query ทำงานเสร็จ
โพสต์นี้ได้รับคำขอบคุณจาก: pattan0013

13
ผมคิดว่าการทำ UNION Query นั้นจะเป็นเพียงการรวมข้อมูลในหลายๆตารางมาแสดงเท่านั้นทำให้แก้ไขไม่ได้ครับ
>> https://stackoverflow.com/questions/1261959/how-do-i-make-an-editable-union-query link

ปล.เท่าที่ผมทราบ+หาดูมาให้นะ
โพสต์นี้ได้รับคำขอบคุณจาก: pattan0013

14
ทำได้อยู่แล้วครับ
ในรถแต่ล่ะคัน  มี  TruckNo เอามาอ้างอิงได้เลยครับ


โดยต้องเพิ่ม วันที่ เลขกำกับ Work Order อะไรพวกนี้ครับ
ถ้าจะกำหนดให้เก็บข้อมูลใหม่ก็เอา TruckNo เป็น PK และเอา วันที่ เลขกำกับ Work Order ใส่เป็นฟิลล์เข้าไปในตารางนี้ครับด้วยครับ

โพสต์นี้ได้รับคำขอบคุณจาก: pattan0013

15
ซ้ำซ้อนแน่นอนครับ คุณต้องกำหนดว่าจะนำเข้าข้อมูลอย่างไรครับ
มันสามารถกำหนดได้ครับ เช่นถ้ามี ID ที่เป็น PK  อยู่แล้ว ก็ไม่ต้อง Append เข้าไปครับ


โพสต์นี้ได้รับคำขอบคุณจาก: pattan0013

16
ใช้ Append Query ได้ครับ โดยเลือกตารางที่ต้องการ Append เข้าไป
วิธีการนี้คือการนำเข้าข้อมูลไปยังตารางเป้าหมายได้ที่ละหลายๆเรคคอร์ดเลยครับ

วิธีการทำ ลองดูลิ้งนี้นะครับ

https://www.thai-access.com/index.php?topic=543.msg2382#msg2382
โพสต์นี้ได้รับคำขอบคุณจาก: pattan0013

หน้า: [1] 2 3