err 3800 'EmployeeID' is not an index in this table.
กระทู้เก่าบอร์ด อ.สุภาพ ไชยา

 227   5
URL.หัวข้อ / URL
err 3800 'EmployeeID' is not an index in this table.

Dim Db As DAO.Database
Dim Rs As DAO.Recordset

Private Sub Form_Load()
Set Db = CurrentDb()
Set Rs = Db.OpenRecordset("tbl_Employee")
Rs.Index = "EmployeeId" <=====

err 3800 'EmployeeID' is not an index in this table.

พยายามเปรียบเทียบจาก ข้างล่างแล้ว
<>

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

1 @R04012
ลองเปิดตาราง tbl_Employee แล้วดูว่าฟีลด์ EmployeeId มีการเลือก Index (อยู่ล่างสุด) ให้เป็น Yes (No Duplicates) หรือไม่ครับ

ถ้ายัง ลองกำหนดให้เป็น Yes (No Duplicates) แล้วลองโค้ดใหม่อีกครั้งว่าปัญหาดังกล่าวหมดไปหรือไม่

2 @R04013
ฟีลด์ EmployeeId เลือก Index ให้เป็น Yes (No Duplicates) แล้วครับครับ อ้อของผมเป็น Access2002 sp2
**ขอบคุณมากครับอาจารย์ที่ตอบ
3 @R04016
งั้นลองเอาบันทัดRs.Index = "EmployeeId" ออกครับ แล้วลองใหม่

4 @R04019
Private Sub cboEmployeeID_AfterUpdate()
Rs.Seek "=", cboEmployeeID.Value <====

***err 3019 operation invalid a cuurent index**

If Rs.NoMatch = False Then
txtFirstName.Value = Rs.Fields("FirstName").Value
txtFirstNameThai.Value = Rs.Fields

note ..ผมพยายามเลียนแบบโปรแกรมตัวอย่าง Project ของอาจารย์ โดยมาทำบน AccessXP และ กำหนด reference ให้เหมือนกันแล้วนะครับ

** ขอบคุณอาจารย์ที่กรุณาตอบครับ
5 @R04022
ผมเคยเจอเหมือนกันครับ ผมลองมาหลายครั้งแล้วมาเจอวิธีที่ถูกใจอยู่วิธีครับ คือตอนที่ผมสร้างตารางและ Field " EmployeeID" ( ปกติ Access จะSet Yes'No Duplicates เพราะ มีคำว่า IDอยู่ ) ผมสร้างตารางเสร็จผมจะเข้าไปแก้ Indexed ให้เป็น No เลยครับ แล้วหลังจากผมสร้าง Form และเขียน Codeเสร็จแล้วผมจะ Run Form เปิดมา Formจะขึ้น Error "3015 " ผมจะ end ไป แล้วผมจะกลับไป Set Indexed ให้เป็น Yes (No Duplicates) กลับมาเปิดForm อีกครั้ง ปัญหานี้ก็จะหายไป ตอนนี้ผมก็ใช้อย่างนี้อยู่ถ้าเกิดปัญหา ลองดูแบบบ้านนอก ๆ ก็ได้นะครับเพื่อจะหาย
@ ประกาศใช้งานเว็บบอร์ดใหม่ => บอร์ดเรียนรู้ Access สำหรับคนไทย
แล้วจะใส่ลิ้งอ้างอิงมาที่โพสต์เก่านี้หรือไม่ก็ตามสะดวกครับ
Time: 0.0847s