Seek on Linked Tables
กระทู้เก่าบอร์ด อ.สุภาพ ไชยา

 296   2
URL.หัวข้อ / URL
Seek on Linked Tables

ก่อนอื่นต้องขอขอบคุณ อ.สุภาพ ที่มี Webbord ดีๆ ให้เราได้เข้ามาหาความรู้เพิ่มเติม
และขอขอบคุณเพื่อนๆทุกคนที่ถามคำถาม และตอบคำถามในWebbordแห่งนี้ เพระทุกคำถาม-ตอบ
ช่วยเพิ่มพูนความรู้ให้กับผู้ที่สนใจ

ผมมีปัญหาจากการทำ Front End - Back End ไม่สามารถใช้คำสั่ง Seek ใน Form ซึ่งอยู่ที่
Front End ได้ ลองค้นหาจากกระทู้เก่าๆก็ไม่ค่อยเข้าใจ Code ที่ อ.สุภาพแนะนำ เลยลองค้นจากเวป
ต่างประเทศได้ Code มาทดลองใช้ดู สามารถใช้งานได้เลยนำมาลงไว้ใน Webbord นี้ แต่ยังไม่ค่อย
แน่ใจว่าจะมีปัญหาหรือไม่ เนื่องจากความรู้เรื่องการเขียน Code ยังมีอยู่น้อย

รบกวนขอคำแนะนำ อ.สุภาพ และเพื่อนๆ ว่าเราสามารถใช้ Code นี้ในกรณี Multiuser ได้หรือไม่ครับ


How to perform Seek on Linked Tables Author(s) Michel Walsh
(Q) Can I perform Seek and Index on linked tables?
(A) Directly, No. But you can use the following function which will allow you to do this.
(watch out for line wraps. It's just a single line of code.)
'************ Code Start ***************
'This code was originally written by Michel Walsh.
'It is not to be altered or distributed,
'except as part of an application.
'You are free to use it in any application,
'provided the copyright notice is left unchanged.
'Code Courtesy of
'Michel Walsh

Public Function OpenForSeek(TableName As String) As Recordset
' Assume MS-ACCESS table
Set OpenForSeek = DBEngine.Workspaces(0).OpenDatabase _
(Mid(CurrentDb().TableDefs(TableName).Connect, _
11), False, False, "").OpenRecordset(TableName, _
dbOpenTable)
End Function
'************ Code End ***************

Just use:
Dim rst as Recordset
set rst=OpenForSeek("TableName")
and you can use rst.Seek and rst.Index on linked table TableName.

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

1 @R04938
ขอบคุณครับ สำหรับตัวอย่างโค้ดดีๆ ที่นำมาแบ่งปันเพื่อนๆ ที่นี่

ใช้ได้ครับ เพราะโค้ดที่นำมานี้ไม่ได้เปิดตารางที่เป็น Linked ครับ
แต่มันเปิดตารางใน BE เลย

ลองดูโค้ดให้ดีนะครับ ตรง

Mid(CurrentDb().TableDefs(TableName).Connect, 11) จะได้ชื่อไฟล์ BE แล้วค่อยเปิดตารางเป้าหมายอีกทีหนึ่ง

การเปิดตารางอีกฐานข้อมูลหนึ่ง จะไม่เหมือนกับเปิดตารางที่ Linked มาก็ตรงที่ใช้ Seek ได้นี่แหล่ะครับ
2 @R04942
สุดยอดครับ ขอบอก :-)
@ ประกาศใช้งานเว็บบอร์ดใหม่ => บอร์ดเรียนรู้ Access สำหรับคนไทย
แล้วจะใส่ลิ้งอ้างอิงมาที่โพสต์เก่านี้หรือไม่ก็ตามสะดวกครับ
Time: 0.0501s