PDA

View Full Version : قسمت فروش



bdf2121
دوشنبه 09 مرداد 1391, 06:26 صبح
سلام
میخواستم قسمت صدور فاکتور پروژم رو بنویسم چند تا راهنمایی میخواستم؟
دو تا تیبل دارم مربوط به فروش 1-معامله 2-ریزمعامله
1-میخوام دونه دونه محصولاتم رو اضافه کنم به یه دیتاگرید(یا لیست دیگه که صلاح میدونید) که در حال نمایشه
2- و بعد با تایید نهایی اطلاعاتم تو این دو دو تیبل ثبت بشه و مقدار فروش از مجودی کم بشه
3-در آخر هم میخوام اطلاعات فروش رو (فاکتور)پرینت بگیرم؟
روال به چه صورته و برای فاکتور باید چطوری عمل کنم باید حتما از کریستال ریپورت استفاده کنم یا راه راحت تری هم هست؟

saeedharati
دوشنبه 09 مرداد 1391, 08:16 صبح
سلام اميدوارم منظورتون رو فهميده باشم
اگه منظورت محصولاتت از انبار گرفته ميشه ميتوني از روش زير استفاده كني ، اول كالاي مورد نظر تو از انبار انتخاب كني حال به هر روشي كه ميدوني بعد از كد زير براي اضافه نمودن به ليست كه در حال نمايشه البته اونم يك جدول اطلاعاتي كه نبايد اطلاعات پاك بشه و ذخيره بشه براي چاپ فاكتور

كد زير براي كم نمودن از موجودي كالا از انبار و اضافه شدن به ليست : Adodc1 جدول انبار / Text1 موجودي درخواستي مشتري از كالا

Adodc1.Recordset.Fields("mojodi") = Val(Text1.text) - Val(Adodc1.Recordset.Fields("mojodi"))

بعد از اينكه اطلاعات رو وارد اون جدول درحال نمايش كردين ميتونيد با يك دكمه با رويداد زير وارد هر جدول ديگري بكنيد :

Adodc2.Recordset.AddNew
Adodc2.Recordset.Fields("Fild1") = Adodc1.Recordset.Fields("Fild1")
Adodc2.Recordset.Fields("Fild2") = Adodc1.Recordset.Fields("Fild2")

و هر چقدر كه فيلد نياز داري و اطلاعات داري بعد با كد زير جدول رو آپديت كن :

Adodc2.Recordset.Update
Adodc2.Refresh


حال براي چاپ فاكتور راحترين كار و شيكترين استفاده از ديتا ريپورت خود ويژال بيسيك كه بعد از طراحي ميتوني با دستور زير اطلاعات رو بهش ارسال كني از جدول بالا و نمايش بدي براي كاربر :

On Error Resume Next
Adodc1.Recordset.Clone
Set DataReport1.DataSource = Adodc1
DataReport1.Show


واسه طراحي ديتا ريپورت اگه خواستي يك نمونه بگو بذارم
اميدوارم متوجه شده باشي و من درست توضيح داده باشم و كارتو راه بندازه

bdf2121
دوشنبه 09 مرداد 1391, 17:47 عصر
سلام اميدوارم منظورتون رو فهميده باشم
اگه منظورت محصولاتت از انبار گرفته ميشه ميتوني از روش زير استفاده كني ، اول كالاي مورد نظر تو از انبار انتخاب كني حال به هر روشي كه ميدوني بعد از كد زير براي اضافه نمودن به ليست كه در حال نمايشه البته اونم يك جدول اطلاعاتي كه نبايد اطلاعات پاك بشه و ذخيره بشه براي چاپ فاكتور

كد زير براي كم نمودن از موجودي كالا از انبار و اضافه شدن به ليست : Adodc1 جدول انبار / Text1 موجودي درخواستي مشتري از كالا

Adodc1.Recordset.Fields("mojodi") = Val(Text1.text) - Val(Adodc1.Recordset.Fields("mojodi"))

بعد از اينكه اطلاعات رو وارد اون جدول درحال نمايش كردين ميتونيد با يك دكمه با رويداد زير وارد هر جدول ديگري بكنيد :

Adodc2.Recordset.AddNew
Adodc2.Recordset.Fields("Fild1") = Adodc1.Recordset.Fields("Fild1")
Adodc2.Recordset.Fields("Fild2") = Adodc1.Recordset.Fields("Fild2")

و هر چقدر كه فيلد نياز داري و اطلاعات داري بعد با كد زير جدول رو آپديت كن :

Adodc2.Recordset.Update
Adodc2.Refresh


حال براي چاپ فاكتور راحترين كار و شيكترين استفاده از ديتا ريپورت خود ويژال بيسيك كه بعد از طراحي ميتوني با دستور زير اطلاعات رو بهش ارسال كني از جدول بالا و نمايش بدي براي كاربر :

On Error Resume Next
Adodc1.Recordset.Clone
Set DataReport1.DataSource = Adodc1
DataReport1.Show


واسه طراحي ديتا ريپورت اگه خواستي يك نمونه بگو بذارم
اميدوارم متوجه شده باشي و من درست توضيح داده باشم و كارتو راه بندازه
خیلی ممنون از پاسختون
منظورتون اینکه یه جدول موقت باید ایجاد کنم که رکوردها اول در اون ریخته بشه و همزمان دیتا گرید محتویاتش رو نمایش بده و در اخر در ثبت نهایی اطلاعات رو از جدول تمپروری به جدول اصلی انتقال بدم
نوع این جدول باید همون جدول بیسیک و معمولی sql باشه یا نوع خاصی چون بعد از هر معامله باید ریست بشه وتمامی رکوردها حذف بشه
ممنون

saeedharati
سه شنبه 10 مرداد 1391, 06:31 صبح
سلام از هر نوع كه خواستي من از جدول معمولي بانك اطلاعاتي اكسس استفاده كردم و توضيح دادم و براي حذف داده ها از جدول بعد از تاييد نهايي ميتوني از كد زير كه روش ساده اي هم هست استفاده كني

Do While Adodc1.Recordset.EOF = False
If Adodc1.Recordset.RecordCount <> 0 Then
Adodc1.Recordset.Delete
Adodc1.Recordset.MoveNext
End If
Loop