กระทู้เก่าบอร์ด อ.สุภาพ ไชยา
367 4
URL.หัวข้อ /
URL
ขอถามเกี่ยวกับเรื่อง Index ,seek ในBackEnd
ผมสร้าง Form สำหรับกรอกข้อมูลไว้ที่ FrontEnd แล้วจะสร้าง Index ,seek ต้องเปิดTable แบบไหนครับถึงจะใช้รปแบบ Index, seek ได้ครับ ขอบคุณครับ
4 Reply in this Topic. Dispaly 1 pages and you are on page number 1
2 @R04535
ครับ อ.เป็นตารางที่ Linked มาครับ
ผมเจอตัวอย่างจาก CD อ.ท่านหนึ่ง เป็นแบบนี้ครับ
x = "D:\PM_File\Spare_Part_MC.mdb"
Set DB =............................(ตรงนี้ผมลืมครับ)
Set rs = DB........................("tblLinked",dbOpenTable)
rs.Index="ID"
แสดงว่า Codeนี้ ไม่ได้ใช้ Table ที่ Linked มาใช่ไหมครับ
ผมเจอตัวอย่างจาก CD อ.ท่านหนึ่ง เป็นแบบนี้ครับ
x = "D:\PM_File\Spare_Part_MC.mdb"
Set DB =............................(ตรงนี้ผมลืมครับ)
Set rs = DB........................("tblLinked",dbOpenTable)
rs.Index="ID"
แสดงว่า Codeนี้ ไม่ได้ใช้ Table ที่ Linked มาใช่ไหมครับ
3 @R04536
ตรงนี้เป็นการใช้เปิดฐานข้อมูลภายนอกด้วยโค้ด จะไม่ถือว่าเป็น Linked table ครับ
จึงสามารถใช้ seek ได้
x = "D:\PM_File\Spare_Part_MC.mdb"
Set DB =OpenDatabase(x)
et rs = DB.OpenRecordSet("tblLinked", dbOpenTable)
rs.Index="ID"
...
จึงสามารถใช้ seek ได้
x = "D:\PM_File\Spare_Part_MC.mdb"
Set DB =OpenDatabase(x)
et rs = DB.OpenRecordSet("tblLinked", dbOpenTable)
rs.Index="ID"
...
4 @R04555
ขออนุญาตอาจารย์สุภาพ ครับ
ผม Link MDB แต่สามารถใช้ Seek ด้วย ไม่ทราบว่าตรงตามที่ท่านผู้ถามต้องการหรือเปล่าครับ
Dim dbs As dao.Database
Dim rst As dao.Recordset
Dim varBookmark As Variant
Dim wrkJet As Workspace
Set wrkJet = CreateWorkspace("", "admin", "", dbUseJet)
Set dbs = wrkJet.OpenDatabase("s:\DB2.mdb")
Set rst = dbs.OpenRecordset("Tempmkt", dbOpenTable)
With rst
.Index = "PrimaryKey"
' Store current bookmark in case the Seek fails.
varBookmark = .Bookmark
.Seek "=", Trim(Me.Text991), Trim(Me.text326)
' Return to the current record if the Seek fails.
If .NoMatch Then
MsgBox "Application Number not found"
.Bookmark = varBookmark
Else
Me.Combo86 = rst!TitleName
Me.Text16 = rst!HirerName
Me.Combo271 = rst!DealerCode
Me.Combo47 = rst!AMO
Me.Text77 = Middate(rst!DateOfBirth)
Me.Text80 = rst!ID_No
Me.Text819 = rst!ID_PLACE
Me.Text808 = Middate(rst!ID_Date)
Me.Text88 = rst!TelOff
Me.Text92 = rst!Mobile
Me.Text90 = rst!TelHome
Me.Text102 = rst!IncomePerMtN
Me.Combo277 = rst!TypeCust
Me.Text104 = rst!AgingOfWork
Me.Combo100 = rst!Occupation
Me.Text82 = rst!Sett_add
Me.Text872 = rst!Sett_moo
Me.Text876 = rst!Sett_Soi
Me.Text880 = rst!Sett_Street
Me.Text84 = rst!Sett_Tumbon
Me.Text874 = rst!Sett_Aumphur
Me.Text878 = rst!Sett_Province
Me.Text882 = rst!Sett_Zipcode
Me.Text884 = rst!nationnality
Me.Text966 = rst!SubjectTo
Me.Text968 = rst!BOTFlag
End If
End With
ผม Link MDB แต่สามารถใช้ Seek ด้วย ไม่ทราบว่าตรงตามที่ท่านผู้ถามต้องการหรือเปล่าครับ
Dim dbs As dao.Database
Dim rst As dao.Recordset
Dim varBookmark As Variant
Dim wrkJet As Workspace
Set wrkJet = CreateWorkspace("", "admin", "", dbUseJet)
Set dbs = wrkJet.OpenDatabase("s:\DB2.mdb")
Set rst = dbs.OpenRecordset("Tempmkt", dbOpenTable)
With rst
.Index = "PrimaryKey"
' Store current bookmark in case the Seek fails.
varBookmark = .Bookmark
.Seek "=", Trim(Me.Text991), Trim(Me.text326)
' Return to the current record if the Seek fails.
If .NoMatch Then
MsgBox "Application Number not found"
.Bookmark = varBookmark
Else
Me.Combo86 = rst!TitleName
Me.Text16 = rst!HirerName
Me.Combo271 = rst!DealerCode
Me.Combo47 = rst!AMO
Me.Text77 = Middate(rst!DateOfBirth)
Me.Text80 = rst!ID_No
Me.Text819 = rst!ID_PLACE
Me.Text808 = Middate(rst!ID_Date)
Me.Text88 = rst!TelOff
Me.Text92 = rst!Mobile
Me.Text90 = rst!TelHome
Me.Text102 = rst!IncomePerMtN
Me.Combo277 = rst!TypeCust
Me.Text104 = rst!AgingOfWork
Me.Combo100 = rst!Occupation
Me.Text82 = rst!Sett_add
Me.Text872 = rst!Sett_moo
Me.Text876 = rst!Sett_Soi
Me.Text880 = rst!Sett_Street
Me.Text84 = rst!Sett_Tumbon
Me.Text874 = rst!Sett_Aumphur
Me.Text878 = rst!Sett_Province
Me.Text882 = rst!Sett_Zipcode
Me.Text884 = rst!nationnality
Me.Text966 = rst!SubjectTo
Me.Text968 = rst!BOTFlag
End If
End With
Time: 0.1377s
แต่ถ้าเป็นตารางที่ Linked เราจะไม่สามารถใฃ้ seek ได้ครับ
ต้องใช้ findfirst แทนครับ
เช่น
...
Dim IntX As Integer
IntX = Me.MyID
Me.Requery
Me.RecordsetClone.FindFirst "[MyID] = " & IntX
Me.Bookmark = Me.RecordsetClone.Bookmark
...