PDA

View Full Version : شمارش خودکار



ali162
جمعه 22 شهریور 1392, 21:00 عصر
سلام به همه برنامه نویسان محترم
من یک برنامه نویس مبتدی در زمینه ویژوال بیسیک 6 هستم و به تازگی شروع به برنامه نوشتن نرم افزار دبیرخانه کرده ام و به یه مشکلی برخوردم و از شما خواهش می کنم که بهم کمک کنید.
من در برنامه دبیرخانه می خوام قسمتی رو ایجاد کنم که یک شماره نامه اولیه از کاربر دریافت کنه و بعد از دریافت شماره دیگر به صورت اتوماتیک با زدن دکمه ای یک شماره به شماره دریافتی اضافه کند و نامه ثبت کن و دوباره با زدن همان دکمه یک شماره دیگر اضافه و نامه دیگر را ثبت کند.
از شما خواهش می کنم که به صورت مبتدی بهم کمک کنید
خیلی ممنون

ali162
پنج شنبه 28 شهریور 1392, 14:19 عصر
چرا کسی از شما جواب من رو نمیدید؟
باور کنید که من خیلی به راهنمایی شما احتیاج دارم

ho3ein.3ven
پنج شنبه 28 شهریور 1392, 14:34 عصر
سلام به همه برنامه نویسان محترم
من یک برنامه نویس مبتدی در زمینه ویژوال بیسیک 6 هستم و به تازگی شروع به برنامه نوشتن نرم افزار دبیرخانه کرده ام و به یه مشکلی برخوردم و از شما خواهش می کنم که بهم کمک کنید.
من در برنامه دبیرخانه می خوام قسمتی رو ایجاد کنم که یک شماره نامه اولیه از کاربر دریافت کنه و بعد از دریافت شماره دیگر به صورت اتوماتیک با زدن دکمه ای یک شماره به شماره دریافتی اضافه کند و نامه ثبت کن و دوباره با زدن همان دکمه یک شماره دیگر اضافه و نامه دیگر را ثبت کند.
از شما خواهش می کنم که به صورت مبتدی بهم کمک کنید
خیلی ممنون
سلام
منظورتون رو واضح تر بگین .
یعنی چی یک شماره اضافه کنه ؟

mmssoft
جمعه 29 شهریور 1392, 00:42 صبح
بهتر هست شماره ها تو رجیستری ذخیره بشه. برای نوشتن کد فرایند شماره گذاری، اول چک میشه که آیا قبلا شماره ای توی رجیستری ذخیره شده یا نه، اگر ذخیره شده بود، یک عداد به اون اضافه میشه و اگر شماره ای ذخیره نشده بود ، یک شماره پیشفرض اختصاص داده میشه (AppName اسم نرم افزارتون هست و Section بخش مربوطه هست ، مثلا بخش Letters) :

Dim Shomare As Integer

If Trim(GetSetting("AppName", "Section", "LCount")) = "" Then

Shomare = 1 ' meghdare pish-farz
SaveSetting "AppName", "Section", "LCount", Trim(Str(Shomare))

Else

Shomare = Val(GetSetting("AppName", "Section", "LCount"))
Shomare = Shomare + 1

End If

Label1.Caption = "Letter Code : " & Trim(Str(Shomare))

در ضمن باید هنگامی که نامه تایید و ثبت نهایی شد از کد زیر استفاده کنید تا شماره جدید تو رجیستری ذخیره بشه :

Dim a As Integer

a = Val(GetSetting("AppName", "Section", "LCount")) + 1
SaveSetting "AppName", "Section", "LCount", Trim(Str(a))

ali162
چهارشنبه 04 دی 1392, 09:14 صبح
خیلی ازت ممنونم بهم کمک بزرگی کردی
آلان چند سالی هست که دنبال این روش هستم
انشاالله هر چی می خوای خدا بهت بده

m.4.r.m
شنبه 07 دی 1392, 14:27 عصر
رجیستری لازم نیست حالا استفاده می کنید ولی شماره نامه باید در دیتابیس شما ذخیره بشه برای دفعات بعد مثلا جست و جو مگه شماره نامه لازم نداری ؟ برای جست و جو ، ویرایش ، حذف ، پیدا کردن نامه مربوط به شماره نامه و .... می تونی برای شمارش خودکار از فیلد AutoNumber خود پایگاه داده استفاده کنی و یا اگر به صورت کد بخوای بنویسی باید به این صورت بنویسی

If Adodc1.Recordset.RecordCount = 1 Then
Adodc1.Recordset.Field("Id")= Adodc1.Recordset.Field("Id")+1
ElseIf Adodc1.RecordSet.RecordCount > 1 Then
Adodc1.Recordset.MoveLast
Adodc1.Recordset.Field("Id")= Adodc1.Recordset.Field("Id")+1
End If