แสดงกระทู้

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

หน้า: [1] 2 3 4 ... 24
1
ได้ครับ
เพิ่มฟิลด์ Printed แล้วกำหนด DataType เป็น Yes/No

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

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

คำสั่งในการสั่งพิมพ์ให้มีเงื่อนไขว่า ถ้าฟิลด์นี้เป็น Yes ไม่ให้พิมพ์

2
ใครอธิบายให้หน่อย ผมอ่านแล้วไม่เข้าใจ ...  2 คนเปิดฟอร์มเดียวกัน พร้อมกัน นาย ก. ป้อนแล้วบันทึกเรคอร์ด แล้วหน้าฟอร์มของนาย ข. ไม่มีเรคอร์ดที่นาย ก.เพิ่งป้อนโผล่ขึ้นมาให้เห็นแบบอัตโนมัติอย่างงั้นเหรอครับ ?

ผมอ่านก็งงๆ อะครับ แต่พอดีเคยเจอเคสทำนองนี้มาก่อน
เลยเข้าใจว่าอย่างนี้

1. มีฟอร์มอยู่ 1 ฟอร์ม
2. นาย A กับ นาย B เปิดฟอร์มนี้พร้อมๆ กัน แถมดูเรคอร์ดเดียวกันอีก
3. นาย A ป้อนข้อมูลแล้วบันทึก จากนั้นก็ปิดฟอร์มซึ่งข้อมูลก็ยังไม่แสดงให้นาย B เห็น
4. จากนั้นนาย B ก็อาจมีการแก้ไขข้อมูลไปโดยไม่รู้ตัว หรือไม่ก็กดลบเรครอ์ดแล้วปิดฟอร์ม ซึ่งระบบก็คงถามอะไรซักอย่าง แล้วกด OK (ซึ่งส่วนนี้เค้าไม่ได้เล่าถึง)

ก็เลยทำให้ข้อมูลของนาย B ไปทับนาย A

อันนี้เดาล้วนๆ ครับ

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

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

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

4
1. ไม่ควรเก็บรูปไว้ในตาราง
2. เปลี่ยน Primary Key ของตารางเป็นหมายเลข PN
3. ใส่ Image Frame เข้าไปในฟอร์ม
4. ที่ On current ของฟอร์มให้ใส่ VBA กำหนดให้ Imageframe.picture = PN & ".jpg" ในกรณีที่รูปเป็น  jpg

5
สร้าง Label ครับ
ตรงประเด็นที่สุด

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

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

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

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

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

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

8
ได้ครับ
โดยนำ Union Query ไปสร้างเป็น Action Query ตามต้องการ

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

10
ใข้เรื่อง Running Sum ลองดูวิธีการจากในไฟล์แนบนะครับ

11
ไม่แนะนำให้ใช้ OneDrive ครับ

จากที่เคยทดลองมา ถึงจะสามารถใช้ได้ก็จริง แต่มันใช้เวลาในการ Process แต่ละ Transaction นานมาก ตอนทดสอบก็ประมาณ 30 วินาทีต่อ 1 เรคอร์ด

สมมติว่ามีผู้ใช้ 2 คน ชื่อ A กับ B

เวลา A ป้อนข้อมูลแล้วกด Enter ทั้ง A และ B ต้องรอประมาณ 30 วินาทีกว่าจะเห็นว่าข้อมูลถูก Update แล้ว

แนะนำว่าให้เก็บไฟล์ไว้ใน Server ของหน่วยงานแล้ว Share ให้ใช้จะเร็วกว่า

ถ้า 2 หน่วยงานอยู่ไกลกันก็เพิ่ม VPN เข้าไป

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

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

วิธีแก้ไขคือสร้างคิวรีแบบ 1:1 ครับ

13
แนะนำว่าใช้ Combo Box เป็นตัวกำหนเเงื่อนไขดีกว่าครับ แบบนี้น่ะ

14
เป็นเรื่อง Parameter Query ครับ จะใส่ข้อความอะไรใน [] ก็ได้ ยกเว้น * และผองเพื่อน

15
เปลี่ยน
like "PAA*"

เป็น

Like [Enter Bill Group] & "*"

หน้า: [1] 2 3 4 ... 24