กระทู้เก่าบอร์ด อ.Yeadram
1,358 5
URL.หัวข้อ /
URL
รบกวนช่วยหน่อยครับ runtime error 2498
form ของผม
ใช้ combobox เพื่อเลือกข้อมูลครับ
ตอนเปิดมาปกติดีเลือกข้อมูลได้ครับ
แต่พอลบข้อมูลแล้วกด ปุ่มเพื่อเปิด form ใหม่จะพบปัญหา ครับ
run-time error 2498 อากิวเมนต์ ครับ
form หลัก frmcustomers
ผมใช้ afterupdate นะครับ
Private Sub Combo3_AfterUpdate()
Me![txtorgname].SetFocus
DoCmd.GoToRecord , , acFirst
DoCmd.FindRecord Me![Combo3]
Me![Combo3].SetFocus
End Sub
อันนี้ผมเขียนให้มันเอาข้อมูลไป เปิดที่ subform ครับ
subform frmtax1 ครับ
ตรง form หลักผมเพิ่มปุ่มเอาไว้ add ข้อมูลเพิ่มใน combo3 นะครับ
พอข้อมูลว่าง ที่ combo3 จะเกิด error ด้านบนครับ
ไม่ทราบว่าจะต้องแก้ไขอย่างไรครับ
ปัญหาที่ 2 เรื่อง วันที่ บ้างครั้งจะเป็น 30/12/2442 ครับ
เข้าใจ้ว่าเป็นค่าว่างของข้อมูลวันที่ครับ
ไม่ทราบว่าพอจะมีวิธีแก้ไขมั้ยครับ
ขอบคุณล่วงหน้าด้วยครับ
ใช้ combobox เพื่อเลือกข้อมูลครับ
ตอนเปิดมาปกติดีเลือกข้อมูลได้ครับ
แต่พอลบข้อมูลแล้วกด ปุ่มเพื่อเปิด form ใหม่จะพบปัญหา ครับ
run-time error 2498 อากิวเมนต์ ครับ
form หลัก frmcustomers
ผมใช้ afterupdate นะครับ
Private Sub Combo3_AfterUpdate()
Me![txtorgname].SetFocus
DoCmd.GoToRecord , , acFirst
DoCmd.FindRecord Me![Combo3]
Me![Combo3].SetFocus
End Sub
อันนี้ผมเขียนให้มันเอาข้อมูลไป เปิดที่ subform ครับ
subform frmtax1 ครับ
ตรง form หลักผมเพิ่มปุ่มเอาไว้ add ข้อมูลเพิ่มใน combo3 นะครับ
พอข้อมูลว่าง ที่ combo3 จะเกิด error ด้านบนครับ
ไม่ทราบว่าจะต้องแก้ไขอย่างไรครับ
ปัญหาที่ 2 เรื่อง วันที่ บ้างครั้งจะเป็น 30/12/2442 ครับ
เข้าใจ้ว่าเป็นค่าว่างของข้อมูลวันที่ครับ
ไม่ทราบว่าพอจะมีวิธีแก้ไขมั้ยครับ
ขอบคุณล่วงหน้าด้วยครับ
5 Reply in this Topic. Dispaly 1 pages and you are on page number 1
2 @R07542
ถ้า combo3 ไม่มีข้อมูลแล้วทำให้เกิด error คุณก็ตรวจสอบ combo3 ก่อนสิครับ ถ้ามันเป็น Null หรือ Zero-Length String ก็ข้ามไป ไม่ต้องทำงาน
... Combo3_AfterUpdate ...
If Nz(Me.Combo3,"") = "" then exit sub
Me![txtorgname].SetFocus
...
...
ปัญหาที่ 2 ก็ตรวจสอบตามที่ อ.yeadram บอกดูนะครับ
... Combo3_AfterUpdate ...
If Nz(Me.Combo3,"") = "" then exit sub
Me![txtorgname].SetFocus
...
...
ปัญหาที่ 2 ก็ตรวจสอบตามที่ อ.yeadram บอกดูนะครับ
3 @R07549
ผมขอรบกวนช่วยดูโค๊ดใน E-mail accboard ให้หน่อยได้มั้ยครับ
-------------------------------------------------
แล้วตรงส่วนของ combobox3 นั้น
คือจะเป็นการเลือกข้อมูลเพื่อนำไปแสดงใน subform นะครับ
แล้วถ้าไม่มีก็ให้ทำการกดปุ่มเพื่อเพิ่มนะครับ
ส่วนเรื่องแหล่งของข้อมูลนั้นผม ดึง query มาจากตารางนะครับ
ให้ขึ้นใน combo3 นะครับ
แต่ผมไม่รู้จะเขียนดัก error ยังไงครับให้ถูกต้องในกรณีเกิดปัญหา
และข้อมูลที่ไม่มีก็จะเป็นการกดเพื่อเพิ่มข้อมูลใน combo3 นะครับ
จะเป็นการเรียน form เลยนะครับ
ตรงเลยเกิด error ดังกล่าวครับ
-----------------------------------------------------
ยังไงช่วยแนะนำด้วยได้มั้ยครับ
denpongw@hotmail.com
-------------------------------------------------
แล้วตรงส่วนของ combobox3 นั้น
คือจะเป็นการเลือกข้อมูลเพื่อนำไปแสดงใน subform นะครับ
แล้วถ้าไม่มีก็ให้ทำการกดปุ่มเพื่อเพิ่มนะครับ
ส่วนเรื่องแหล่งของข้อมูลนั้นผม ดึง query มาจากตารางนะครับ
ให้ขึ้นใน combo3 นะครับ
แต่ผมไม่รู้จะเขียนดัก error ยังไงครับให้ถูกต้องในกรณีเกิดปัญหา
และข้อมูลที่ไม่มีก็จะเป็นการกดเพื่อเพิ่มข้อมูลใน combo3 นะครับ
จะเป็นการเรียน form เลยนะครับ
ตรงเลยเกิด error ดังกล่าวครับ
-----------------------------------------------------
ยังไงช่วยแนะนำด้วยได้มั้ยครับ
denpongw@hotmail.com
4 @R07558
เปลี่ยนจาก If Combo3 = Null Then ไปเป็น If Nz(Me.Combo3, "") = "" Then
5 @R07559
ขอบคุณครับ คุณสันติสุขครับ
ผมเติมโค๊ดอีดนิดหน่อยก็ไม่พบ error แล้วครับ
และต้องขอบคุณ คุณyeadram ที่ช่วยตอบปัญหาของผมครับ
ผมเติมโค๊ดอีดนิดหน่อยก็ไม่พบ error แล้วครับ
และต้องขอบคุณ คุณyeadram ที่ช่วยตอบปัญหาของผมครับ
Time: 0.3822s
ตอบแบบหยาบๆ แบบคร่าวๆ ปัญหาของคุณน่าจะเกิดจากแหล่งข้อมูลของคอมโบ ไม่สัมพันธ์กันกับเหตุการณ์ คือคุณวางแผนงานไม่รอบคอบ เช่นว่า
-ตอนต้น แหล่งข้อมูลของคอมโบจะมีกี่เรคคอร์ดกี่คอลัมน์
-เมื่อทำงานไปแล้ว ถ้าเป็นงานเพิ่มข้อมูล แหล่งข้อมูลจะเป็นเท่าไหร่
-หรือเมื่อทำงานไปแล้ว เป็นงานลบข้อมูล แหล่งข้อมูลจะเหลือเท่าไหร่ เหลือครบทุกคอลัมน์หรือไม่
ต้องคิดแทนมันครับ ต้องคิดดักไว้ในทุกๆ เหตุการณ์ แล้ววางแผนให้ดี
ปัญหาที่สอง วันที่ผิดพลาดคลาดเคลื่อน
สาเหตุของปัญหาเป็นไปได้หลายอย่างครับ
- ป้อนข้อมูลจากเครื่องที่ต่างกัน เข้าฐานข้อมูลเดียวกัน
- ป้อนข้อมูลคนละรูปแบบกัน สมมติบางคนป้อน แบบสั้น 01/01/11 บางคนป้อนแบบสั้นเหมือนกัน แต่เป็น 01/01/54 ผลที่มีการบันทึกเข้าตารางจะแตกต่างกันครับ
- ป้อนข้อมูลผิดประเภท เช่น ฟิลด์ข้อมูลเป็นชนิด Date/Time แต่ข้อมูลที่ป้อนเข้าไปเป็น Double ระบบจะปรับเปลี่ยนข้อมูลอัตโนมัติอยู่แล้ว แต่จะปรับผิดไม่ตรงความต้องการแน่นอน สมมติเช่นป้อน 10.11 เข้าในช่อง Date/Time หรือด้วยความเข้าใจผิดคิดว่ารูปแบบวันที่สั้นแบบนี้น่าจะกรอกได้ดังนั้นกรอกลงไปทันที่ ว่า 01012010 หรือ 010153 หรือ 010111 เหล่านี้ ระบบจะมองเป็น Number ครับ ไม่ใช่ Date/Time เมื่อมันมองว่าไม่ใช่ Date/Time มันก็จะพยามแปลงค่าเอาเองครับ ซึ่งผลการระบบอัตโนมัติดังกล่าว ก็เลยทำให้เกิดปัญหาครับ
หรือข้อมูลที่เป็นผลจากการคำนวนวันที่ เช่นบางคน เอา Date/Time ลบกับ Date/Time แล้วเอาผลลัพธ์ป้อนเข้าตาราง มันก็ผิดประเภท เพราะผลของการคำนวนแบบนี้ ไม่ได้คืนค่ามาเป็น Date/Time แน่นอน
ลองย้อนดูงานของคุณใหม่อีกครั้ง หรือไม่ก็ถามใหม่ให้จินตนาการด้วยว่า ผู้ตอบ ไม่รู้ว่าโปรแกรมของคุณเป็นอย่างไร งานของคุณอาจจะเป็นงานที่ไม่เหมือนใครมาก่อน ดังนั้นต้องบอกรายละเอียดที่ชัดเจน ผู้ตอบถึงจะคิดตามได้ถูกต้อง