مشاهده نسخه کامل
: چگونه می توان محل قرار گیری یا Position یک رکورد را در یک بانک اطلاعاتی اکسس را بدست آورد؟
Romina2006
16-12-2006, 00:31
چگونه می توان محل قرار گیری یا Position یک رکورد را در یک بانک اطلاعاتی اکسس را بدست آورد؟
فرض کنید یک رکورد را با دستور Select انتخاب کردیم برای اینکه بدانیم چندمین رکورد است چه کار باید کرد ؟
اينو از Msdn برداشتم ولي امتحان نكردم ببين به دردت ميخوره
كد اين بود يادم رفت با بالائي پست كنم
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 شروع مي شه
الاخ...
در اسکوئل دستوری به نام Findfirst هست که فکر کنم به دردت بخوره
strDBName = "fileshoma.mdb"
Set dbf = DBEngine.OpenDatabase(strDBName, False, False)
Set tbl= dbs.OpenRecordset("SELECT * FROM tabelshoma")
tbl.findfirst "esmefield=10"
vBulletin , Copyright ©2000-2025, Jelsoft Enterprises Ltd.