PDA

نسخه کامل مشاهده نسخه کامل : چگونه می توان محل قرار گیری یا Position یک رکورد را در یک بانک اطلاعاتی اکسس را بدست آورد؟



Romina2006
16-12-2006, 00:31
چگونه می توان محل قرار گیری یا Position یک رکورد را در یک بانک اطلاعاتی اکسس را بدست آورد؟

فرض کنید یک رکورد را با دستور Select انتخاب کردیم برای اینکه بدانیم چندمین رکورد است چه کار باید کرد ؟

kbdfa
16-12-2006, 09:31
اينو از Msdn برداشتم ولي امتحان نكردم ببين به دردت ميخوره

kbdfa
16-12-2006, 09:33
كد اين بود يادم رفت با بالائي پست كنم

Public Sub AbsolutePositionX()

Dim rstEmployees As ADODB.Recordset
Dim strCnn As String
Dim strMessage As String

' Open a recordset for the Employee table
' using a client cursor.
strCnn = "driver={SQL Server};server=srv;" & _
"uid=sa;pwd=;database=pubs"
Set rstEmployees = New ADODB.Recordset
' Use client cursor to enable AbsolutePosition property.
rstEmployees.CursorLocation = adUseClient
rstEmployees.Open "employee", strCnn, , , adCmdTable

' Enumerate Recordset.
Do While Not rstEmployees.EOF
' Display current record information.
strMessage = "Employee: " & rstEmployees!lName & vbCr & _
"(record " & rstEmployees.AbsolutePosition & _
" of " & rstEmployees.RecordCount & ")"
If MsgBox(strMessage, vbOKCancel) = vbCancel _
Then Exit Do
rstEmployees.MoveNext
Loop

rstEmployees.Close

End Sub

black_storm
20-01-2007, 21:22
رویداد respone را امتحان کن !
در ثانی تو دستورات sql دستوری وجود نداره !

palizesoftware
20-01-2007, 21:50
اينكه محل فيزيكي ركورد رو تشخيص بدي امكان پذير نيست. چون با حذف و بروزرساني ركوردها دائما جاي اونها در فايل تغيير ميكنه و ثابت نيست. منتها ميشه رديف ركورد خاصي رو در نتيجه برگشت دستورات Sql بدست بياري. ولي بگو كه براي چي همچين چيزي رو ميخواي؟

a_mohammadi_m
05-02-2007, 12:41
ابتدا در ركوردست فعلي يكبار MoveLast و بعد MoveFirst را انجام بده ( كد براش بنويس )
حالا Recordset.RecordCount تعداد كل ركوردها رو بهت ميده
بعد در هر ركوردي كه رفتي AbsolsatePosition محل ركورد رو در ركوردست فعلي بهت ميده
البته شمارش از 0 شروع مي شه
الاخ...

mtakami
05-02-2007, 13:42
در اسکوئل دستوری به نام Findfirst هست که فکر کنم به دردت بخوره
strDBName = "fileshoma.mdb"
Set dbf = DBEngine.OpenDatabase(strDBName, False, False)
Set tbl= dbs.OpenRecordset("SELECT * FROM tabelshoma")
tbl.findfirst "esmefield=10"