PDA

View Full Version : مشکل در update کردن جدول



maryam82
سه شنبه 01 مرداد 1387, 19:36 عصر
با سلام
من یک جدول مواد اولیه دارم که دارای فیلدهای کد- مقدار-نام کالا است . و یک جدول تولید هم دارم که شامل کد و مقدار مصرفی کالا است(این جدول تو list box نمایش داده شده) حالا می خوام با استفاده از دستور update ابتدا مقدار از جدول تولید رو از مقدار از جدول مواد اولیه کم کنم بعد جدول مواد اولیه رو update کنم. چطوری می تونم این کارو انجام بدم.
لطفا کسی اگه کدشو می دونه برام بنویسه.
باتشکر

ALI TT
پنج شنبه 03 مرداد 1387, 00:41 صبح
روش اول و کمی مشکل : می تونی از دستورات SELECT تو در تو استفاده کنی و پس از منها کردن مقدارها اونارو در فیلد مخصوص درج و سپس آپدیت کنی .

روش دوم آسانتر : اول از جدول مواد اولیه ، اطلاعات مربوط به کالای انتخاب شده از سوی List Box را از جدول SELECT کن و به یک Data Table بده .... این طوری :


OleDbDataAdapter1.SelectCommand.CommandText = "SELECT * FROM [Table Name] WHERE [نام ستون کد مـحصول] = '" & ListBox1.SelectedItem.ToString & "'"
OleDbDataAdapter1.Fill(DataSet1)

Dim Table1 As DataTable = DataSet1.Tables(0)

بعد از فیلدی که SELECT شده .. مقدار مواد اولیه را خارج کن و با مقداری که از لیست باکس انتخاب کردی منها کن .... این طوری :


Dim a As Integer = Table1.Rows(0)(1)

Dim b As Integer = ListBox2.SelectedItem.ToString

Dim X As Integer = a - b

در آخر هم اونو آپدیت کن ... این طوری :


OleDbDataAdapter1.UpdateCommand.CommandText = "UPDATE [Table Name] SET [نام ستون مقدار مـحصول] = '" & X & "' WHERE [نام ستون کد مـحصول] = '" & ListBox1.SelectedItem.ToString & "'"

OleDbDataAdapter1.UpdateCommand.ExecuteNonQuery()

دقت کن که من دوتا لیست باکس استفاده کردم : اولی که اسمش هست ListBox1 ، کد محصول رو نشون میده و دومیش که هست ListBox2 : مقدار مصرف رو نشون میده...... چون خودت گفتی جدول مقدار مصرفی کالا توی ListBox نشون داده میشه


موفق باشی اگه بازم کمک خواستی در خدمتم . (همین جا)