ทำไม่ code ใช้ได้กัลบ บางข้อมูล
กระทู้เก่าบอร์ด อ.Yeadram

 1,260   13
URL.หัวข้อ / URL
ทำไม่ code ใช้ได้กัลบ บางข้อมูล

บางข้อมุลกัลบใช้ได้ ไม่ error บางข้อมุลกัลบเป็นอย่างนี้


และก้อ บอกแบบนี้ จะแก้ยังไง ค่ะ

ช่วยทีนะค่ะ
                                        ขอบคุณค่ะ

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

1 @R23713
มีข้อมูลอยู่ 3 แภวคื
1.       301
2.       601
3.       221

เราคิกที่ 301 ทำงานได้ปักกะติ
แต่กัลบ 601 แล้ว error แบบนี้ ค่ะ
2 @R23714
มีข้อมูลอยู่ 3 แภวคื
1.       301
2.       601
3.       221
เราคิกที่ 301 ทำงานได้ปักกะติ
แต่กัลบ 601 แล้ว error แบบนี้ ค่ะ
3 @R23715
ลองเขียนแบบนี้ดูครับ ตัด .Form ออก

Forms!khormoon.Bookmark = rs.Bookmark
4 @R23723
เป็นแบบเดีมเลียค่ะ
5 @R23728
ให้เช็คว่าหาเจอหรือเปล่าก่อนครับ

rs.FindFirst ......
If Not rs.NoMatch then
   Forms!khormoon.Form.Bookmark = rs.Bookmark
Else
   MsgBox "หาข้อมุลดังกล่าวไม่พบ"
End If
.....

ถ้ามันหาสิ่งที่ค้นไม่เจอ Bookmark มันจะว่างเปล่าครับ ซึงทำให้มันไปยังตำแหน่ง Bookmark ไม่ได้
6 @R23729
เป็นแบบเดีมค่ะ
แบบวิดีโอนี้เลีย
https://drive.google.com/file/d/0B_1bLii2Kx9XTUkyRVU4Y2hlR2s/view?usp=drivesdk
เป็นเพาะ มีข้อมูลมากไป จะเป็นไปได้ไม่ ค่ะ
7 @R23733
การใช้ bookmark ตัว recordset จะต้องมาจาก recordset เดียวกัน หรือ clone มาจาก recordset เดิม ถึงจะใช้ rs1.bookmark = rs2.bookmark ได้ ถ้า recordset ทั้งสองอันมีข้อมูลที่ไม่เหมือนกัน ตัว bookmark ก็จะไม่เหมือนกันด้วย

ถ้าจะเปิด form โดยที่มี recordset ที่มาจากข้อมูลของอีกฟอร์ม เราก็ใส่ใน where condition argument ของ method OpenForm ได้เลย

Private Sub b_lahutsin_DblClick(Cancel As Integer)

DoCmd.OpenForm "khormoon", , , "[s_lh] = '" & Me.Text26 & "'"

End Sub
8 @R23734
Code where condition argument ใส่ต่อคำสั่ง เปิด Form ใช้ใหม่ค่ะ
9 @R23735
ใช่ครับ

รูปแบบการใช้งาน OpenForm Method
DoCmd.OpenForm FormName, View, FilterName, WhereCondition, DataMode, WindowMode, OpenArgs
10 @R23736
เป็นแบบเดีมค่ะ ไม่รูวาใส่ code ผิดธืป่าวืค่ะ
จะเป็นไปได้ใหมว่า ข้อมูลเรามีเยอะถื่ง 1100 แล้วจะหาข้อมูลไม่ พบค่ะ

Private Sub b_lahutsin_DblClick(Cancel As Integer)

DoCmd.OpenForm ("khormoon"), View, FilterName, WhereCondition, DataMode, WindowMode, OpenArgs

Set rs = CurrentDb.OpenRecordset("xinkha", dbOpenDynaset)


If Not rs.NoMatch Then

rs.FindFirst "[s_lh] = '" & Me.Text26 & "'"
Forms!khormoon.Form.Bookmark = rs.Bookmark

Else

MsgBox "ไม่มีข้อมูล"

End If
End Sub
11 @R23737
ตรวจสอบ บรรทัดนี้ นะ

rs.close
Set rs = Nothing

เพราะถ้า Set rs = Nothing แล้ว ตัวแปรนั้นจะไม่สามารถใช้งานได้ต่อไป
12 @R23739
ลองอันนี้หรือยังครับ

Private Sub b_lahutsin_DblClick(Cancel As Integer)

DoCmd.OpenForm "khormoon", , , "[s_lh] = '" & Me.Text26 & "'"

End Sub

ใส่ code แค่นี้พอ ถ้ายังไม่ได้ส่งไฟล์ให้ดูหน่อย เพราะต้องดูที่ตัวข้อมูลว่ามีอะไรบ้าง
13 @R23742
ทำได้แล้วค่ะ
ใช้แบบนี้ไม่ error ค่ะ
Private Sub b_lahutsin_DblClick(Cancel As Integer)

DoCmd.OpenForm "khormoon", , , "[s_lh] = '" & Me.Text26 & "'"

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