ورود

View Full Version : ریست فیلد اتونامبر اکسس رد وی بی



soduko021
پنج شنبه 10 فروردین 1391, 22:59 عصر
سلام دوستان خسته نباشد
می خواستم یک button بزارم به نام ریست و فیلد اتونامبر که در اکسس تعریف کردیم و در دیتاگرید اتوماتیک عدد تولید میکنه رو ریست کنم و از شماره یک بزنه یعنی اطلاعات قبلی رو از بین ببره و دوباره از یک شروع کنه
ممنون میشم اگر سورس کد باشه
مر30

m.4.r.m
دوشنبه 14 فروردین 1391, 10:10 صبح
شما از داخل پایگاه داده یه بار فیلد رو پاک کن دوباره بساز اینطوری مطمئنن ریست میشه

MiladMR
دوشنبه 14 فروردین 1391, 11:24 صبح
والا این autonumberهای اکسس رو نمیشه پاک کرد نمیشه تغییر داد
مگه اینکه خودت توی برنامه یه autonumber درست کنی
خیلی سخت هم نیست
موقع ساخت یک رکورد به این فیلد رکورد قبلی نگاه میکنی هرچی بود یکی بیشترش میکنی و واسه این رکورد وارد میکنی
وقتی هم میخوای از اول این کارو انجام بدی با یه for next ساده میتونی این کارو کنی

M.T.P
دوشنبه 14 فروردین 1391, 15:45 عصر
برای ریست کردن فیلد Auto number لازمه که یک بار کل رکوردهای اون جدول رو پاک کنید و سپس بانک رو یک مرتبه Compact and repair کنید.

توضیح اینکه اگه CAR نکنید و قتی مجدد رکورد اضافه کنید از شماره آخرین رکوردی که حذفش کردید شروع به شمارش می کنه.

کد حذف و CAR هم که تو سایت زیاده اگه پیدا نکردید تا براتون بگزارم.

soduko021
دوشنبه 14 فروردین 1391, 23:21 عصر
برای ریست کردن فیلد Auto number لازمه که یک بار کل رکوردهای اون جدول رو پاک کنید و سپس بانک رو یک مرتبه Compact and repair کنید.

توضیح اینکه اگه CAR نکنید و قتی مجدد رکورد اضافه کنید از شماره آخرین رکوردی که حذفش کردید شروع به شمارش می کنه.

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

soduko021
سه شنبه 15 فروردین 1391, 01:06 صبح
بفرمایید این هم کد و سورس

M.T.P
سه شنبه 15 فروردین 1391, 01:39 صبح
این یک تابع کامل برای Compact And Repair بانک اکسس نسخه 2003 و پایین تر
توضیح اینکه موقع فراخوانی تابع حتما می بایست بانک رو ببندید.


Public Function CompactAccess2003(sDatabase As String) As Boolean
On Error GoTo EndLine
Dim blnReturn As Boolean
Dim ObAccess As Object
Dim strSrcCS As String
Dim strTmpCS As String
Dim strTmpDatabase As String
Dim strSrcDatabase As String

blnReturn = False

Set ObAccess = CreateObject("JRO.JETEngine")

strSrcDatabase = sDatabase
strTmpDatabase = sDatabase & "x"

Call SetAttr(strSrcDatabase, vbNormal)

strSrcCS = "Provider = Microsoft.Jet.OLEDB.4.0;" & _
"Jet OLEDB:Database Password =;" & _
"Data Source=" & strSrcDatabase

strTmpCS = "Provider = Microsoft.Jet.OLEDB.4.0;" & _
"Jet OLEDB:Engine Type=5;" & _
"Jet OLEDB:Database Password =;" & _
"Data Source=" & strTmpDatabase

Call ObAccess.CompactDatabase(strSrcCS, strTmpCS)

Call Kill(strSrcDatabase)
Name strTmpDatabase As strSrcDatabase

blnReturn = True

EndLine:
CompactAccess2003 = blnReturn
Set ObAccess = Nothing
If Err.Number Then Call MsgBox(Err.Description, vbExclamation)
End Function

M.T.P
سه شنبه 15 فروردین 1391, 02:09 صبح
این تابع هم برای compact and repair بانک اکسس 2007 هست.


Public Function CompactAccess2007(sDatabase As String) As Boolean
On Error GoTo EndLine
Dim blnReturn As Boolean
Dim ObAccess As Object
Dim strTmp As String
Dim strSrc As String

blnReturn = False

Set ObAccess = CreateObject("DAO.DBEngine.120")

strSrc = sDatabase
strTmp = sDatabase & "x"

Call SetAttr(strSrc, vbNormal)

Call ObAccess.CompactDatabase(strSrc, strTmp, , , ";pwd=;")

Call Kill(strSrc)
Name strTmp As strSrc

blnReturn = True

EndLine:
CompactAccess2007 = blnReturn
Set ObAccess = Nothing
If Err.Number Then Call MsgBox(Err.Description, vbExclamation)
End Function

M.T.P
سه شنبه 15 فروردین 1391, 02:17 صبح
باز هم می گم قبل از CAR بانک رو ببندید.

اگه با Adodb وصل شدید:


Conn.Close

اگه با Adodc وصل شدید:


Set Adodc1.Recordset.ActiveConnection = Nothing

soduko021
سه شنبه 15 فروردین 1391, 02:32 صبح
بفرمایید این هم برنامه