Access : จุดเริ่มต้นที่ง่ายที่สุดสำหรับการเรียนรู้ ระบบฐานข้อมูล
Access : จุดเริ่มต้นที่ง่ายที่สุดสำหรับการเรียนรู้ การเขียนโปรแกรม
Access : เป็นได้ทั้งตัวเก็บฐานข้อมูล และตัวจัดการฐานข้อมูล
Thai Access : บอร์ดเสริมการเรียนรู้ Access ด้วยภาษาไทย

น้อมรำลึกในพระมหากรุณาธิคุณอันหาที่สุดมิได้ พระบาทสมเด็จพระปรมินทรมหาภูมิพลอดุลยเดชฯ พระผู้เสด็จสู่สวรรคาลัย

Back to Board : Thai Access Webboard New Topic    Reply
Error #Name? ใน TextBox

Topic by Message Posted : on : 4/1/2560 17:07:45
Meng  ผมมีปัญหาแก้ไม่ได้ ที่ TextBox ของฟอร์ม ที่เป็นยอดรวมเงินครับ

ซึ่งไฟล์นี้สร้างตั้งแต่รุ่น Access2000 ครับ ใช้เรื่อยมา เปลี่ยนเวอร์ชั่นล่าสุด Access 2010 จนมาปีที่แล้วผมเปลี่ยนเป็น Access 2013, Windows 10 ครับ เปิดฟอร์มขึ้นมาทำงานแล้วติด Error ที่ TextBox ซึ่ง Text Box นี้เป็นยอดรวมเงินใบซื้อสินค้าอยู่ในส่วนฟอร์มหลัก โดยดึงข้อมูลมาจาก TextBox ของฟอร์มย่อยที่เป็น Datasheet Form ที่ใช้ฟังก์ชั่น Sum(Amount) มาอีกทีนึงครับ

โดยเขียนที่ Control Sourec =[FrmBuyCashDetails].[Form]![TxtTotalAmount]-[Discount]

ใน Reference ผมติ๊กไว้ดังนี้ครับ
- Visual Basic For Applications
- Microsoft Access 15.0 Object Library
- DirectAnimation Library
- Shockwave Flash
- Animation GIF Control
- Microsoft Visual Basic for Applications Extensibility 5.3
- Microsoft Calendar Control 9.0
- OLE Automation
- Microsoft ActiveX Data Objects 6.1 Library
- Microsoft Office 15.0 Access database engine Object Library
- Microsoft Jet and Replication Objects 2.6 Library



9 Reply in this Topic. Dispaly 1 pages and you are on page number 1

Reply by Message on : 5/1/2560 12:12:39
สันติสุข
(R22857)
แน่ใจหรือเปล่าครับว่าไม่ได้แก้ไขชื่อ subform control (ไม่ใช่ชื่อของฟอร์มนะครับ) ให้เป็นอย่างอื่นแทน FrmBuyCashDetails อีกอย่าง ลอง compile โปรแกรมใหม่ครับ อาจเจอที่ผิดก็ได้

Back to Top
Reply by Message on : 5/1/2560 16:20:34
Meng
(R22859)
ครับ ขอบคุณครับคุณสันติสุข ผมไม่ได้แก้ไขชื่อเลยครับ และลองใช้ Access 2013 Save as: Compile แล้ว ผลก็คือ compile ไม่สำเร้จครับ และ message ที่โชว์ขึ้นมาก็ไม่ได้ช่วยอะไรเราเลย บอกแต่กว้างๆ ครับ

(This error is usually associated with compiling a large database into an MDE file.  Because of the method used to compile the database, a considerable number of TableID references are created for each table.  The Access database engine can only create a maximum of 2048 open TableIDs at one time.  Exporting a database as an MDE potentially can exceed this limit if the database has a large number of objects (table, macro, form, report, etc).
Back to Top
Reply by Message on : 5/1/2560 16:41:07
สันติสุข
(R22860)
เปิดไฟล์ขึ้นมา แล้วเข้า VBA Editor เลือกเมนู Debug - Compile ครับ ไม่ใช่ Save As...
Back to Top
Reply by Message on : 5/1/2560 17:02:51
Meng
(R22861)
ครับผม ขอโทษครับ ผมลอง compile ที่ VBA Editor ตามที่คุณสันติสุขบอกแล้ว ผ่านฉลุยไม่ติดอะไรเลยครับ

ผมฝากลิงค์หน้าตาแบบฟอร์มมาให้ดูครับ ขึ้น error แบบในรูปครับ

https://www.dropbox.com/s/29vus6u492ml39y/ViewForm.jpg?dl=0


ขอบคุณครับ
Back to Top
Reply by Message on : 5/1/2560 18:01:00
สันติสุข
(R22863)
ลองป้อนรายการซื้อสัก 2 บรรทัดนะครับ ป้อนส่วนลดด้วย เสร็จแล้วกด Ctrl-G เพื่อแสดง Immediate Windows ใน VBA Editor แล้วป้อนคำสั่ง 3 บรรทัดครับ

? Forms("ชื่อฟอร์มหลัก").Name
? Forms("ชื่อฟอร์มหลัก").FrmBuyCashDetails.Name
? Forms("ชื่อฟอร์มหลัก").FrmBuyCashDetails.Form.TxtTotalAmount
? Forms("ชื่อฟอร์มหลัก").Discount

ดูผลลัพธ์เช่นกันว่าเกิด error ที่บรรทัดไหนบ้าง และ error ว่าอะไร
Back to Top
Reply by Message on : 6/1/2560 9:17:07
Meng
(R22865)
ครับ ผมลองเทสแล้ว error หลายส่วนเลยครับ เรียงลำดับ error ดังนี้ครับ

1. error ในขั้นตอนเลือกชื่อร้านผู้ขายที่อยู่ในส่วนฟอร์มหลัก คือจะมีรายการสินค้า เพิ่มเข้ามาในฟอร์มย่อยทันที 1 รายการเองอัตโนมัติทันที ตามรูปครับ
https://www.dropbox.com/s/qvobttpd2l999i6/ViewForm-1.jpg?dl=0

2. error ถัดมา พอเข้ามาในฟอร์มย่อยพอลองคีย์ลำดับที่ ก็เกิด error ตามรูปครับ เป็น error ทั้ง 2 รายการเลยครับ
https://www.dropbox.com/s/uewv8twty8808nt/ViewForm-2.jpg?dl=0

3. error ที่ 3 พอผมใส่ส่วนลดเสร็จแล้วกดแท็บเพื่อเลื่อนไปฟิล์ดถัดไป (คือฟิล์มรวมเป็นเงิน) ขึ้น error ตามรูปครับ
https://www.dropbox.com/s/juz10yyr863vclc/ViewForm-3.jpg?dl=0

4. error ที่ 4 ตอนที่ผมคลิ๊กถูก 7% ด้วย ตามรูปครับ
https://www.dropbox.com/s/bemx3e5nc0rio5a/ViewForm-4.jpg?dl=0

5. error ที่ 5 ขณะที่ใช้คำสั่งตามที่คุณสันติสุข แนะนำครับ ขึ้น error ตามรูปครับ
https://www.dropbox.com/s/3y224yv7rwpr0pq/ViewForm-5.jpg?dl=0

ผมขออธิบายเพื่อเป็นข้อมูลเพิ่มเติมครับ (ไม่แน่ใจว่าจะมีประโยชน์หรือเปล่า)
1. Icon Exit ที่ผมสร้างไว้ คลิ๊กไม่ได้ คลิ๊กแล้วขึ้น Error เหมือน error ที่ 4 ครับ
2. ที่ผ่านมาเวลาผมเปลี่ยน version ของโปรแกรมทีไรก็เกิด error ที่ 4 เหมือนกันทุกครั้ง แต่ผมหาไฟล์ mscal.ocx มาใส่ในเครื่องและติ๊กเลือก Reference ก็หายทำงานได้ตามปกติ แต่คราวนี้ version 2013 กับไม่สามารถใช้งานได้ทั้งที่ก็นำไฟล์ mscal.ocx มาใส่แล้ว ก็ยังทำงานไม่ได้ครับ




Back to Top
Reply by Message on : 6/1/2560 13:03:34
สันติสุข
(R22866)
error ที่บอกมาทั้งหลายในคำตอบสุดท้าย อาจเป็นไปได้ที่เกิดจาก Microsoft Calendar Control มีปัญหา มีคำตอบของ blackjack_9820 ใน https://social.msdn.microsoft.com/Forums/office/en-US/57ffd371-4f46-4d01-882d-85da6bcba39e/does-ms-access-2013-have-mscalocx-available?forum=accessdev ที่น่าจะตรงกับที่คุณต้องการ แต่ตรงนี้ต้องเสี่ยงเอาเองนะครับ ไม่รู้ว่าจะเกิดอะไรขึ้นบ้าง ก่อนจะทำก็ให้สำรองไฟล์โปรแกรมและฐานข้อมูลคุณไว้ก่อน เผื่อมีปัญหาจะได้เอาของเดิมกลับมาใช้ได้

แต่ถ้าระบบของคุณไม่จำเป็นต้องใช้ Microsoft Calendar Control ตัวนี้ ก็เอาออกจาก Reference ไปเลย แล้วเอา ActiveX ของ Microsoft Calendar Control ออกจากทุกฟอร์มด้วย อีกอย่าง ในระบบของคุณมี Reference หลายตัวเหลือเกิน ถ้าตัวไหนไม่ได้ใช้ เอาออกไปด้วยก็ได้นะครับ

หรืออาจเปลี่ยนไปเลือก Show Date Picker property ของเท็กซ์บ็อกซ์ให้เป็น For Dates เพื่อให้เท็กซ์บ็อกซ์แสดงปุ่มเลือกวันที่จากปฏิทินแทน ซึ่งเป็นอินเทอร์เฟสที่ผมว่าดูดีและเหมาะสมกว่าการใช้ Microsoft Calendar Control

สุดท้าย ถ้าแก้ปัญหาเรื่อง Microsoft Calendar Control นี้ได้ ก็ไม่รู้ว่าจะแก้ปัญหา #Name? ได้หรือไม่ เพราะเหมือนมันจะไม่เกี่ยวข้องกันเลย
Back to Top
Reply by Message on : 6/1/2560 18:12:46
U&ME
(R22867)
งานนี้ขอแจมด้วยจ้าในฐานะอยุ่กะ access มา 18 ปี

เจ๊เคยเจอปัญหานี้เหมือนกัน ประมาณว่า version ก่อนทำงานได้ตามปกติแต่พอย้ายแล้วเกิดปัญหาเยอะจนไม่รู้จะแก้ยังไง

ลองทำตามขั้นตอนนี้นะจ้ะเจ๊จะบอก
1. สร้างฐานข้อมูลใหม่ (เวอร์ใหม่)
2. นำเข้าวัตถุฐานข้อมูลทุกอย่างที่มีอยู่
3. ลบ reference ที่เป็น activeX
4. ถ้ามี ActiveX ให้ทดสอบสร้างฟอร์มใหม่
แล้วเพิ่ม ActiveX ตัวนั้นเข้ามาในฟอร์ม
5. บันทึกฟอร์มชั่วคราว
6. ปิดและเปิดฐานข้อมูลอีกครั้ง
โชคดีจ้า
*** การสำรองข้อมูลนั้นสำคัญก่อนกระบวนการที่มีความเสี่ยง***
Back to Top
Reply by Message on : 7/1/2560 9:01:02
Meng
(R22870)
ขอบคุณ คุณสันติสุข และคุณ U&ME มากๆ นะครับ

ผมจะลองทดสอบตามที่แนะนำมาทั้ง 2 เลยนะครับ ได้ผลอย่างไรแล้วจะมาแจ้งให้ทราบครับ


ขอบคุณมากครับ
Back to Top

Reply

 *Indicates required fields
Format:
Bold Under Line Italic Add Hyperlink Add Email Link Italic List Indent Add Image Emoticons Insert code Mode:
Message:*
Your Name*:
Normal word*: Please input : ไทยแอ็คเซส
+++ webboard source: ASPThai.Net Webboard 6.0 webbord +++++++ admin : yeadram +++