แสดงกระทู้

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

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

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

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


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

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

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


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

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

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

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

6
Make Table Query พอจะมีอ็อปชั่น IN เพื่อสร้างเทเบิลในฐานข้อมูลอื่นได้ครับ
SELECT field1, field2, ... INTO new_table IN "drive:\path\...\file_name.accdb" FROM source_table;

แต่ก็ตามที่คุณ Unknown บอกครับ เราสามารถ JOIN ลิงค์เทเบิลจากฐานข้อมูลอื่น กับ เทเบิลในฐานข้อมูลเราได้ครับ
โพสต์นี้ได้รับคำขอบคุณจาก: pattan0013

7
อ้างถึง
1. มีวิธีให้ Query แล้ว table ยังอยู่ใน back end ไหมครับ
จะให้ Front End ไปสร้าง table ใน back end นี่คงจะไม่ได้ แต่ถ้าเมื่อสร้างเสร็จแล้้วค่อยส่งเทเบิ้ลดังกล่าวให้ไปอยู่ back end น่าจะได้ครับรอท่านอื่นมาแนะนำอีกที :yuush:

อ้างถึง
2. เหตุที่ต้องทำอย่างนี้เพราะต้องเอา Query Union กับ table ข้อมูลมาแมตกันครับ มีวิธีที่ดีกว่านี้ไหมครับ
แม้เทเบิ้ลจะอยู่กันคนล่ะที่แต่ก็สามารถเอามา Union กันได้ไม่ใช้เหรอครับ :question:
โพสต์นี้ได้รับคำขอบคุณจาก: pattan0013

8
เราสามารถเอาข้อมูลจาก Query Union ไปสร้างเป็น Table ได้ไหมครับ

ได้ Query Union แล้วก็ไปสร้าง MakeTable Query ต่อได้เลยครับ
โพสต์นี้ได้รับคำขอบคุณจาก: pattan0013

9
Query มีทั้งแบบที่ Update ข้อมูลได้ และไม่ได้ครับ ขึ้นอยู่กับประเภทและความสัมพันธ์ของตารางหรือคิวรีที่นำมาสร้างคิวรี

เช่น Crosstab Query หรือ Total Query แบบนี้จะ Update ไม่ได้
หรือ Select Query ที่มีการเชื่อมโยงข้อมูลจากหลายๆ ตาราง ก็มีโอกาสที่ไม่สามารถแก้ไขได้ครับ

วิธีแก้ไขคือสร้างคิวรีแบบ 1:1 ครับ
โพสต์นี้ได้รับคำขอบคุณจาก: pattan0013

10
ใช้ Append Query ครับ
โดยกำหนด JobNo = Forms![ชื่อฟอร์ม]![JobNo]
และกำหนดฟิลล์ให้มันก็ได้แล้วครับ
โพสต์นี้ได้รับคำขอบคุณจาก: pattan0013

11
น่าจะแบบนี้นะครับงั้น
จากตาราง



ในคิวรี่

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

12
สร้างแบบเดียวกันครับ แต่สร้าง Union Query อีกตารางหนึ่ง เพราะข้อมูลที่ได้ต้องแยกกัน แต่สามารถรวมกันแสดงภายหลังได้จาก JobNo ครับ

โดยต้องปรับเปลี่ยน เอา IS NOT Null ออกทั้ง 2 คิวรี่เลยนะครับ เพราะเราต้องเก็บ JobNo ทั้งหมดของทั้ง TruckNo และ TruckOwn ไว้สร้างความสัมพันธ์กัน
โดยตัวรายงานต้องปรับเปลี่ยนเล็กน้อย โดยกำหนดแหล่งระเบียนสำหรับรายงานนี้ใหม่ครับตามตัวอย่าง
โพสต์นี้ได้รับคำขอบคุณจาก: pattan0013

13
Truck Owner 1-10 คือฟิลล์ที่อยู่ใน tblTruck_Imp เหมือนกับ truck no 1 หรือเปล่าครับ
หรือ อยู่ในตารางอื่นๆ อธิบายเพิ่มหน่อยหรือมีภาพด้วยก็ดี
โพสต์นี้ได้รับคำขอบคุณจาก: pattan0013

14
วิธีนี้ใช้ Union Query นะครับ โดยจับกลุ่ม Jobno ตาม Truck No 1 - 10 ที่มี โดยถ้าเป็นช่องว่างๆ ไม่มีข้อมูลก็จะไม่นำมาแสดง
ตัวอย่างโค้ด
โค๊ด: [Select]
select Jobno,[truck no 1] as TruckNo from tbltruck_imp WHERE [truck no 1] IS NOT NULL
Union
Select Jobno,[truck no 2] from tbltruck_imp WHERE [truck no 2] IS NOT NULL
Union
Select Jobno,[truck no 3] from tbltruck_imp WHERE [truck no 3] IS NOT NULL
Union
Select Jobno,[truck no N] from tbltruck_imp WHERE [truck no [N] IS NOT NULL;
์N คือ Field TruckNo N ที่มี ต่อลงมาเรื่อยๆ
เราจะได้ผลลัพธ์ ตามคิวรี่ชื่อ
UnionTruck_Imp


อ้างถึง
TruckNo นี้ใช้ใน JobNo อะไรบ้าง?
ที่ตัวรายงาน เราใช้การจัดกลุ่ม และใช้  TruckNo เป็น HeadGroup
และนำ Jobno มาวางไว้ในส่วน Detail เพื่อแสดง JobNo ตาม TruckNo ครับ

อ้างถึง
Truck นี้ใช้งานกี่งาน??
เมื่อได้คิวรี่ Union แล้วก็ใช้การ Count เพื่อนับจำนวนของ JobNo โดยลำดับตาม TruckNo ที่มี
โค๊ด: [Select]
SELECT UnionTruck_Imp.TruckNo, Count(UnionTruck_Imp.Jobno) AS จำนวนงาน
FROM UnionTruck_Imp
GROUP BY UnionTruck_Imp.TruckNo;
ลองดูการแสดงผลจากตัวอย่างนะครับ ถ้าต้องการแสดงแบบไหนอีกจะทำตัวอย่างให้ดูเน้อ :cool:

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

15
UNION QUERY เพื่อจับกลุ่ม Truck 1 ถึง 10 ครับ และ JopNo
ตัวอย่างเดี่ยวทำให้ดูเน้อ
โพสต์นี้ได้รับคำขอบคุณจาก: pattan0013

16
จากเดิมอักษรย่อกลุ่มคือ TEX SEX และ AEX ซึ่งนับได้ 3 ตัวอักษร
ท่านใช้ TE, SE และ AE ซึ่งนับได้ 2 ตัวอักษร ดังนั้นแก้เลขตัวนี้ครับ
X = DMax("Right(JobNo,4)", "[Export_Booking_Table]", "Left([JobNo],6) = cmbG & Left([txtDate2], 4)")

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

หน้า: [1] 2