نمایش نتایج 1 تا 15 از 15

نام تاپیک: عدم استفاده از AutoNumber در فیلدهای ID

Threaded View

پست قبلی پست قبلی   پست بعدی پست بعدی
  1. #1
    مدیر بخش آواتار Abbas Amiri
    تاریخ عضویت
    فروردین 1390
    محل زندگی
    اصفهان
    پست
    2,327

    عدم استفاده از AutoNumber در فیلدهای ID

    بسیای از دوستان احتمالا برای راحتی کار جهت فیلدهای ID یا شناسه جداول از دیتاتایپ AutoNumber استفاده می کنند . درحالی که از شماره های جاافتاده که ایجاد می شوند ناراضی هستند روشی که اکثر کاربران استفاده می کنند نوشتن حداکثر چند خط کد واستفاده از یک خط برای درج مقدار ID جدید است
    کافیست در روال Form_Current مانند زیر عمل کنید

    Private Sub Form_Current()
    If IsNull(MyIDField) Then
    MyIDField = NewID(Me.RecordSource)
    End If
    End Sub



    تابع NewID را در یک ماژول کپی کنید وهرزمان رکورد جدیدی ایجاد می شود آنرا صدا بزنید .اگر اولین فیلد جدولتان همان ID آن است به آرگومان دوم نیاز نیست ولی درغیر اینصورت شماره فیلد در جدول(اینکه فیلد موردنظر چندمین فیلد درجدول است)که از صفر شروع می شود الزامی است


    Public Function NewID(TableName As String, Optional FieldIdx As Integer = 0) As Long
    Dim rs As Recordset
    Set rs = CurrentDb.OpenRecordset(TableName)
    If rs.RecordCount Then
    rs.MoveLast
    NewID = CLng(rs.Fields(FieldIdx).Value) + 1
    Else
    NewID = 1
    End If
    rs.Close
    Set rs = Nothing
    '************************************************* *******
    'NewID = Nz(DMax("ID", TableName), 0) + 1
    '************************************************* ********
    End Function



    لازم به ذکر است که خودم تمام فیلدهای شناسه جداول را ID نامگذاری کرده ام و از کد میان ستاره ها استفاده میکنم
    آخرین ویرایش به وسیله Abbas Amiri : جمعه 02 دی 1390 در 16:33 عصر

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •