من کد وی بی شو می ذارم
یه راهنمایی هم می کنم

بی زحمت تبدیلش کردی به سی شارپ بذار تو همین صفحه که استفاده بشه




Public Sub ReindexRecordsUpdateCode(tbl As String, HasMsg As Boolean, ttl As String, Optional ByVal dateFieldName As String = "date")

Dim db As ADODB.Connection
Dim rs As ADODB.Recordset
Set rs = Nothing
Set db = New ADODB.Connection

db.CursorLocation = adUseClient
db.Open strDBConnectionString
Set rs = New ADODB.Recordset
' rs.Open "select code from " & tbl & " WHERE FT = " & lngCurrFinaTerm & " order by code ", db, adOpenStatic, adLockOptimistic
rs.Open "select * from " & tbl & " WHERE FT = " & lngCurrFinaTerm & " order by " & dateFieldName & ",code ", db, adOpenStatic, adLockOptimistic
Dim max, min, temp As Integer
Dim tmpDt As String, flgChange As Boolean




If rs.RecordCount > 0 Then
With rs

rs.MoveFirst
min = .Fields("code")

rs.MoveLast
max = .Fields("code")

If min < 0 Then
temp = max - min + 10
Else
temp = max + min + 1000
End If


.MoveFirst
Do Until .EOF = True

'If .Fields("code") < 0 Then
.Fields("code") = .Fields("code") + temp
.Update
.MoveNext
'Else
' GoTo nex
'End If

Loop

Dim i As Integer
i = 0
.MoveFirst
i = 0
Do Until .EOF
i = i + 1
.Fields("code") = i
.Update
.MoveNext
Loop



nex:
End With
If HasMsg Then farmsgbox "ok", vbOK, 4, "406"
Else
If HasMsg Then farmsgbox "NO", vbOK, 1, "406"
End If


'close data base
If db.State <> 0 Then
db.Close
End If
Set db = Nothing

With rs
If .State = 1 Then
.Close
End If
End With


End Sub