sh
سه شنبه 20 دی 1384, 22:00 عصر
در یه پروژه در نسخه 2005 مشخصات زیر را در نظر بگیرید
در قسمت ثبت مشتریان شماره مشتری باید خودکار و به ترتیب ایجاد و ثبت شود با در نظر گرفتن تکراری نبودن و غیره ..
بانک برنامه هم اکسس هست
از فیلد اتونامبر هم نمیشه استفاده کرد
من اومدم یه جدول درست کردم که دو فیلد داشت یکی اتونامبر یکی هم برای نگداری آخرین شماره مشتری
در فرم لود برنامه چک میکنم اگر این جدول حاوی رکورد نیست Textbox عدد 1 را که اولین شماره مشتری میباشد نشان میدهد. در زیر کلید ثبت شماره مشتری هم در جدول مشتریان ثبت شده و هم همان ردیف اول را در دیتاست آپدیت میکند یعنی جدول نگهداری همیشه حاوی 1 ردیف هست
در نسخه 2003 به راحتی این کار رو میکرم ولی الان هزار جور ایراد میگیره
کد ها رو در زیر می نویسم شاید از سادگی بیش از حد دچار اشتباه شدم
اگر راه بهتری هم سراغ دارین لطف کنید توضیح بدین
Try
If Me.MoshtaricTableAdapter.Fill(Me.SoftCityDataSet.m oshtaric) = 0 Then
TextBox2.Text = 1
Else
Dim x As Int32 = 0
x = Me.SoftCityDataSet.moshtaric.Rows(0).Item("mcode")
TextBox2.Text = x + 1
End If
این روال فرم لود بود حالا در زیر دکمه ثبت :
Dim x As Int32 = 0
x = Me.SoftCityDataSet.moshtaric.Rows.Count
If x = 0 Then
Me.SoftCityDataSet.moshtaric.AddmoshtaricRow(TextB ox2.Text.Trim)
Else
For Each dr As DataRow In Me.SoftCityDataSet.moshtaric
dr.BeginEdit()
dr("mcode") = CInt(TextBox2.Text.Trim)
dr.EndEdit()
Next
End If
Me.MoshtaricTableAdapter.Update(Me.SoftCityDataSet .moshtaric)
Dim x1 As Int32 = 0
x1 = Me.SoftCityDataSet.moshtaric.Rows(0).Item("mcode")
TextBox2.Text = x1 + 1
ولی هزار جور خطا میده بعضی موقع هم به جای اینکه در جدول Moshtaric که کدها نگهداری میشن فقط رکورد اول رو آپدیت کنه میاد رکورد جدید اضافه میکنه در صورتی که من شرط IF گذاشتم که فقط اگر تعداد رکوردها 0 هست رورد اضافه بشه
اگر میشه حتما یه تست کنید که برای مسئله به این سادگی اعصابم خورد شده
خطای مورد نظر هم اینه :
در قسمت ثبت مشتریان شماره مشتری باید خودکار و به ترتیب ایجاد و ثبت شود با در نظر گرفتن تکراری نبودن و غیره ..
بانک برنامه هم اکسس هست
از فیلد اتونامبر هم نمیشه استفاده کرد
من اومدم یه جدول درست کردم که دو فیلد داشت یکی اتونامبر یکی هم برای نگداری آخرین شماره مشتری
در فرم لود برنامه چک میکنم اگر این جدول حاوی رکورد نیست Textbox عدد 1 را که اولین شماره مشتری میباشد نشان میدهد. در زیر کلید ثبت شماره مشتری هم در جدول مشتریان ثبت شده و هم همان ردیف اول را در دیتاست آپدیت میکند یعنی جدول نگهداری همیشه حاوی 1 ردیف هست
در نسخه 2003 به راحتی این کار رو میکرم ولی الان هزار جور ایراد میگیره
کد ها رو در زیر می نویسم شاید از سادگی بیش از حد دچار اشتباه شدم
اگر راه بهتری هم سراغ دارین لطف کنید توضیح بدین
Try
If Me.MoshtaricTableAdapter.Fill(Me.SoftCityDataSet.m oshtaric) = 0 Then
TextBox2.Text = 1
Else
Dim x As Int32 = 0
x = Me.SoftCityDataSet.moshtaric.Rows(0).Item("mcode")
TextBox2.Text = x + 1
End If
این روال فرم لود بود حالا در زیر دکمه ثبت :
Dim x As Int32 = 0
x = Me.SoftCityDataSet.moshtaric.Rows.Count
If x = 0 Then
Me.SoftCityDataSet.moshtaric.AddmoshtaricRow(TextB ox2.Text.Trim)
Else
For Each dr As DataRow In Me.SoftCityDataSet.moshtaric
dr.BeginEdit()
dr("mcode") = CInt(TextBox2.Text.Trim)
dr.EndEdit()
Next
End If
Me.MoshtaricTableAdapter.Update(Me.SoftCityDataSet .moshtaric)
Dim x1 As Int32 = 0
x1 = Me.SoftCityDataSet.moshtaric.Rows(0).Item("mcode")
TextBox2.Text = x1 + 1
ولی هزار جور خطا میده بعضی موقع هم به جای اینکه در جدول Moshtaric که کدها نگهداری میشن فقط رکورد اول رو آپدیت کنه میاد رکورد جدید اضافه میکنه در صورتی که من شرط IF گذاشتم که فقط اگر تعداد رکوردها 0 هست رورد اضافه بشه
اگر میشه حتما یه تست کنید که برای مسئله به این سادگی اعصابم خورد شده
خطای مورد نظر هم اینه :