แสดงกระทู้

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 ... 37
1
สาเหตุเกิดคุณกำหนด Record Source ของฟอร์มด้วย Query ประเภทที่ไม่สามารถ Update ข้อมูลได้
คือ Query มีทั้งแบบที่ Update ข้อมูลได้และไม่ได้

วิธีทดสอบคือเปิดคิวรีในมุมมองตารางแล้วลองแก้ข้อมูลดู ถ้าแก้ได้ก็ Update จากฟอร์มได้
วิธีแก้ไขคือเปลี่ยนคิวรีให้เป็นแบบที่แก้ไขได้ ทำง่ายๆ คือยกเลิกการ Join ข้อมูล แล้วใช้ Sub form/Main form ในการป้อนข้อมูล

วิธียากๆ คือย่อยตารางตามวิธีการ Normal Form จนถึง NF3

ข้อสังเกต
เห็นว่าบางออบเจ็กต์คุณใช้ชื่อที่มีเว้นวรรค ซึ่งจะส่งผลในระดับการเขียนโค้ด ดังนั้นแนะนำให้แก้ไขครับ
เห็นอยู่ตรง Drop Point Chg, Over Night Chg เหนือ Remark



2
ห้อง MS Access / : การตั้งค่า Caption
« เมื่อ: 25 ก.พ. 68 , 17:53:21 »


การตั้งค่าให้แสดงภาษาไทยครับ

4
ก็แก้ได้นี่ครับ

5
นอกจาก Relationship แล้วยังมี Subdatasheet อีก ทำให้เกิดปัญหาในการสร้างระบบนะครับ
ไม่ได้หมายตวามว่า Relationship และ Subdatasheet ไม่ดี

แต่ถ้าจะใช้งาน tools พวกนี้ ต้องวางระบบให้แน่นอนก่อน ไม่งั้นมันจะกลายเป็นการล็อคการแก้ไขครับ

ไฟล์ตัวอย่างคือสิ่งที่ผมพยายามอธิบายไปครับ

6
ปัญหามาจากเรื่องของ Relationship ที่สร้างไว้ครับ จะแก้ไขอย่างไรคงต้องไปไล่ดูเอง เพราะดูเหมือนว่าเวลา Update ข้อมูล มันต้องการให้ไปทำอะไรซักอย่างกับอีกตารางนึง

ทีนี้พอเป็น Relationship แบบ 1:N มันก็จะจัดการยากหน่อย

ถ้าให้ผมแนะนำคือ ลบ Relationship ออกให้หมด จะจัดการได้ง่ายกว่าครับ


9
การจะปิดไม่ให้เปิดดูฐานข้อมูลนั้นเป็นเรื่องยากครับ มันมีโค้ดที่ปิดการกดปุ่ม F11 และทำให้การกดปุ่ม Shift แล้วเปิดโปรแกรมไม่ทำงานอยู่
การกดปุ่ม F11 คงไม่ต้องอธิบายนะครับ แต่การป้องกันการกดปุ่ม Shift เนี่ยมันมีผลข้างเคียงคือ ถ้าต้องการแก้ไขโปรแกรม ต้องไปทำที่ตัวโปรแกรมก่อนหน้าที่ยังไม่ได้เปิดการทำงาน Disable Shift Button

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

https://learn.microsoft.com/en-us/office/troubleshoot/access/disable-database-startup-options


10
กำหนด Property ของฟอร์ม Data Entry = Yes


11
ได้ครับ แต่มันจะยุ่งยากกว่า Query เพราะต้องใช้คำสั่ง SQL ในช่อง Filter




12
ห้อง MS Access / : ไฟล์สำรอง *.laccdb คืออะไร
« เมื่อ: 05 ก.ย. 67 , 18:12:24 »
ของผมใช้ไม่ได้ครับ ที่ตอบ #1 เวลา  14.05 ขออภัยอีกครั้งครับท่าน

อ๋อๆ ผมก็ไม่แน่ใจว่านับกระทู้ 2 คืออันไหนครับ เลยร้อนตัว ^____^

13
ห้อง MS Access / : ไฟล์สำรอง *.laccdb คืออะไร
« เมื่อ: 05 ก.ย. 67 , 17:35:52 »
ขออภัยทุกท่านที่เห็นกระทู้ที่ 2 วิธีที่ชี้แจง จริงๆๆใช้ไม่ได้ครับ 
ตอนนี้ปิดการเชื่อมต่อ onedrive แล้วจึงเปิด access ใช้งาน ก็จะหมดปัญหา

อันไหนใช้ไม่ได้ครับ อันที่ผมแนะนำไปหรือเปล่า

ถ้าวิธีที่ผมแนะนำไปใช้ไม่ได้ ผมจะได้ลบข้อความของผมทิ้งครับ เดี๋ยวใครเอาไปใช้แล้วจะยุ่ง

รีบตอบด่วนนะครับ หลัง 3 ทุ่ม จะลบล่ะนะ

14
ห้อง MS Access / : ไฟล์สำรอง *.laccdb คืออะไร
« เมื่อ: 05 ก.ย. 67 , 14:32:24 »
เหตุการณ์นี้ เกิดทั่วโลกเมื่อ 2-3 วันที่ผ่านมาครับ

คือ Windows ได้ทำการ Update Security แล้วไม่รู้อะไร ยังไง มันก็ทำให้ Access ค้าง เปิดไฟล์ laccdb เอาไว้แบบ Background ทำให้การเปิดไฟล์ครั้งต่อไปมีปัญหา

ตอนนี้ปัญหานี้ที่เครื่องผมหายไปแล้ว

วิธีการจัดการมีดังนี้

แก้ปัญหาชั่วคราว
1. ปิดไฟล์ Access ให้หมด
2. กดปุ่ม Ctrl+Alt+Del
3. เลือก Task Manager
4. Scroll ลงมาที่ด้านล่างของ Background Processes
5. จะเห็น Access ทำงาน Background อยู่ ให้สั่ง End Task
6. ปิด Task Manager
7. ไปลบไฟล์ laccdb ที่แสดงใน File Explorer ออก
8. เปิดไฟล์ Access ใหม่ก็จะใช้งานได้ปกติ

แก้ปัญหาจริงจัง หลังแก้ปัญหาชั่วคราว
สั่ง Update Windows
ทำเสร็จแล้วก็รอ ประมาณ 2 วัน อาการนี้ก็จะหายไป

ตอบเรื่องไฟล์ laccbd
ไฟล์นี้จะถูกสร้างขึ้นมาทุกครั้งที่เปิดไฟล์ accdb โดยไฟล์นี้จะทำหน้าที่กันพื้นที่ในหน่วยความจำให้ Access ทำงาน และทำหน้าที่เป็นระบบรักษาความปลอดภัย ไม่ให้ไฟล์ accdb เกิดความเสียหาย
ตามปกติแล้ว เมื่อปิดไฟล์ accdb ไฟล์ laccdb ก็จะถูกลบออกไปด้วย แต่คราวนี้สงสัย Microsoft จะลืม



15
ห้อง MS Access / : 2003 run บน window 10 ไม่ได้
« เมื่อ: 02 ก.ย. 67 , 11:50:04 »
จาก ปสก. ที่เคยเจอ เมื่อนำ Access ในเวอร์ชั่นบรรพกาล มาเปิดในเครื่องรุ่นใหม่แล้วเกิดปัญหาแบบนี้คือ

มีภาษาไทยอยู่ใน VBA Coding และชื่อออบเจ็กต์ต่างๆ ครับ

เพราะภาษาไทยใน Windows รุ่นเก่ากับรุ่นใหม่ใช้จำนวน Bit ที่ต่างกัน

วิธีการแก้ไขคือ ให้กด Shift ค้างไว้ แล้วเปิดโปรแกรม จากนั้นก็แก้ไข VBA เปลี่ยนภาษาไทยเป็นภาษาอังกฤษให้หมด
รวมถึงชื่อออบเจ็กต์ต่างๆ ก็ต้องแก้ให้เป็นภาษาอังกฤษให้หมด

16
ที่ AfterUpdate ของคอนโทรล สมมติชื่อ txtText1 ที่ใส่ค่า HT24XXXXX ให้ใส่ว่า

IF Len(txtText1) > 10 THEN
    MSGBOX "เกิน 10 ตัวอักษร"
    คอนโทรลอื่น.SetFocus
    txtText1.SetFocus
    txtText1=""
END IF

17
ฐานข้อมูลสำหรับเครื่องสแกนนิ้ว สแกนบัตร เค้าใช้ Access กันเป็นปกติอยู่แล้วครับ ลองเอาสายเชื่อมต่อมาเสียบกับคอมพิวเตอร์ แล้วเปิดโปรแกรม Excel ดูครับ
ถ้าสแกนแล้วข้อมูลเข้า Excel ได้ ก็เข้า Access ได้ครับ

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