data type conversion error 3421
กระทู้เก่าบอร์ด อ.สุภาพ ไชยา

 307   2
URL.หัวข้อ / URL
data type conversion error 3421

เรียนถามเพื่อนๆครับ ไม่รู้ว่าผิดอย่างไร

Function apptoweb(prbillno As String)
Dim dbs As Database
Dim rs As Recordset
Dim strsql As String
Set dbs = CurrentDb
strsql = "Select * from dtbill where billno='" & prbillno & "'"
Set rs = dbs.OpenRecordset(strsql)
rs.MoveFirst

Do While Not rs.EOF
vpackdata = vpackdata & cm & rs.Fields("id").Value
vpackdata = vpackdata & cm & Trim(rs.Fields("namesp").Value) & cm
rs.MoveNext
Loop

Set dbs = Nothing
End Function
ความจริงแล้วผมตัด code ออกไปบางส่วน เพื่อให้ดูง่าย
มัน error ตรงบรรทัด Set rs = dbs.OpenRecordset(strsql)
โดยมัน ฟ้องว่า runtime error code 3421
data type conversion error
ไม่ทราบว่าเป็นไร ขอบคุณเพื่อนๆ หรือ อ.สุภาพมาล่วงหน้าที่กรุณาช่วยตอบครับ

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

1 @R02658
ลืมบอก ผมใช้ XP ครับ ขอบคุณอีกครั้ง
2 @R02660
ผมว่าคงเป็นปัญหาที่ทุกท่านจะต้องเจอ ถ้ามีการเขียนโค้ดโดยใช้ DAO

ให้เปลี่ยนโค้ดส่วนนี้ จาก

Dim dbs As Database
Dim rs As Recordset
Dim strsql As String
Set dbs = CurrentDb
strsql = "Select * from dtbill where billno='" & prbillno & "'"

ไปเป็น

Dim dbs As DAO.Database
Dim rs As DAO.Recordset
Dim strsql As String
Set dbs = CurrentDb
strsql = "Select * from dtbill where billno='" & prbillno & "'"

และต้องเลือก DAO 3.6 ไว้ใน References ด้วย

วิธีทำตรงนี้ ให้ค้นหาด้วยคำว่า Microsoft DAO ดูครับ


@ ประกาศใช้งานเว็บบอร์ดใหม่ => บอร์ดเรียนรู้ Access สำหรับคนไทย
แล้วจะใส่ลิ้งอ้างอิงมาที่โพสต์เก่านี้หรือไม่ก็ตามสะดวกครับ
Time: 0.0817s