View Full Version : نحوه اجرا ؟
mosaArabi
یک شنبه 12 خرداد 1387, 17:03 عصر
با سلام
بنده تاحدي با اكسس كاركردم و تقريبا مشكل را حل كرده ام . اما مي خواستم ببينم كه آي مي شود در نمونه هايي مشل كارت انبار تعداد ورودي و خروجي از هم كسر و مقدار حاصل در مقابل ان نوشته شود به مثال توجه نماييد :
موجودي صادره وارده
10 --------2---- 12
8 --------2 ------
6 ---------4----- 1
آيا راهي در اين مورد وجود دارد تا در فرم يا ريپورت اين فاليت مثل بالا نمايش داده شود .
با تشكر
shaghaghi
یک شنبه 12 خرداد 1387, 17:34 عصر
سلام
از طریق ساخت فیلد محاسباتی در یک Query
mosaArabi
یک شنبه 12 خرداد 1387, 19:26 عصر
ولي دوست عزير در كوري اطلاعات بصورت تفريق ساده محاسبه ميشوند يعني در هر رديف فقط حاصل همان رديف نوشته مي شود نه مجمع مانده رديف اول +وارده رديف دوم - صادره دريف دوم = مانده دريف دوم
با تشكر از نظر شما
shaghaghi
دوشنبه 13 خرداد 1387, 09:34 صبح
سلام
برای محاسبه ی مانده از قبل هر ردیف باید یک فیلد را ملاک قرار دهید مثلا بگویید مانده هر ردیف یعنی تاریخ سند های ماقبل تاریخ آن ردیف یا شماره سند های کوچکتر از آن ردیف.
بر این ملاک در دستور محاسباتی تان برای هر ردیف همان شرط را اعمال کنید. (از دستور Dlookup یا DSUM می توانید کمک بگیرید )
mosaArabi
دوشنبه 13 خرداد 1387, 10:55 صبح
با سلام و تشكر از اينكه در اين خصوص زمان ميگذاريد
دوست اگر امكان دارد نمونه تايپ شده يا نمونه فايل مشابه را قرار دهيد تا بنده راحت تر متوجه لطف و راهنمايي شما قرار بگيرم
با تشكر
shaghaghi
دوشنبه 13 خرداد 1387, 12:35 عصر
با سلام و تشكر از اينكه در اين خصوص زمان ميگذاريد
دوست اگر امكان دارد نمونه تايپ شده يا نمونه فايل مشابه را قرار دهيد تا بنده راحت تر متوجه لطف و راهنمايي شما قرار بگيرم
با تشكر
سلام
بنده نمونه ای مشابه کار شما در دسترس ندارم، اگر شما بخش مربوط به این کار را Upload کنید سایرین هم می توانند نظر بدهند.
مهدی قربانی
دوشنبه 13 خرداد 1387, 14:49 عصر
سلام
دوست عزيز ببينيد نمونه موجود در اين تاپيك ايده اي بهتون ميده .
http://barnamenevis.org/forum/showpost.php?p=483115&postcount=5
mosaArabi
سه شنبه 14 خرداد 1387, 11:46 صبح
با سلام
بنده خوشحالم از اينكه توانستم به واسته سئوال خودم دوستاني چو شما پيدا كنم . با تشكر از آقاي shaghaghi (http://barnamenevis.org/forum/member.php?u=57533) . دوست گرامي mehdi-gh (http://barnamenevis.org/forum/member.php?u=35416) نمونه دقيقا چيزي بود كه بنده سئوال داشتم و قسمت برنامه نوشته شده در دكمه محاسبه را ديدم . فقط اگر امكان دارد در خصوص اين دستور توضيح بيشتر دهيد و آيا از روش ديگري نيز مي توان به اين نتيجه رسيد يا نه.
در ضمن اگر بنده بخواهم نمونه فايل در تايپيك قراردهم چه مراحلي را بايد طي كنم
با تشكر فراوان
مهدی قربانی
سه شنبه 14 خرداد 1387, 16:16 عصر
سلام
خوشحالم كه نمونه بدرد خورد ، در مورد كدنويسي اگر دقت كنيد محاسبات با استفاده از ركوردست ، دستور SQL و تابع حلقه انجام شده كه اتفاقاً ساختار ساده اي هم داره ضمناً توضيحات مربوطه در خلال كدها نوشته شده .
در مورد ضميمه كردن فايل وقتي تاپيك يا پست جديد ايجاد مي كنيد در قسمت ويژگيهاي بيشتر يك كامند با عنوان مديريت ضميمه ها هست كه امكان اضافه كردن فايل ضميمه رو با فرمت هاي zip rar ,jpg و gif به شما ميده .
e601
سه شنبه 14 خرداد 1387, 17:03 عصر
با سلام
من در برنامه های خودم از این روش استفاده میکنم:
در فیلد مانده برای وارده ها عدد مثبت و برای صادره ها عدد منفی قرار بده. بعد در ریپورت مورد نظر برای فیلد مانده به صفحه پروپرتیس برو و در برگه Data گزینه ی Runnig Sum را برابر OverGroup قرار بده. بصورت خودکار عملیات کسر و اضافه مانده محاسبه و نمایش داده میشود
mosaArabi
چهارشنبه 15 خرداد 1387, 08:54 صبح
با سلام
دوست گرامي روش شما هم جالب بود . بنده آن را انجام دادم فقط به علت اينكه در تيبل ذخيره نمي شود و اگر برنامه دچار مشگل شود دوباه بايد اين مرحله انجام شود . آيا راهي وجود دارد كه جواب محاسبات در ريپورت به در تيبل ذخيره شود يا نه
ضمنا از هر دوروش گفته شده برنامه را اصلاح كردم كه جهت رفع اشگال احتمالي در تاپيك قراردادم . لطفا موارد را ذكر كنيد و يا برنامه را به صلاحديد اصلاح و ضميمه نماييد
با تشكر
مهدی قربانی
چهارشنبه 15 خرداد 1387, 17:03 عصر
سلام
دوست عزيز لزومي نداره شما اطلاعات رو از ريپورت به جدول بفرستيد همونطور كه مي دونيد ريپورت عملاً براي مشاهده اطلاعات با تركيب و شمايل مورد نظر كاربر استفاده ميشه و اين فرم هست كه بيشتر وظيفه محاسبه ، بروزآوري ، انتقال و ثبت اطلاعات رو به جداول بر عهده داره
در مورد كد نوشته شده در رخداد On Click كامندباتون محاسبه بهتره براي كنترل خطا به اين صورت اصلاح كنيد (قسمت هاي قرمز رنگ ) :
On Error GoTo Err_Command20_Click
Dim Db As Database
Dim Rst As Recordset
Dim StrSQL As String
Dim VarBalance As Double
Dim VarAcc As Double
Dim I As Integer
Dim Y As Integer
Dim X As Long
'ÊäÙíã ãÊÛíÑåÇ
'Table2 ÈÑÑÝÊå ÇÒ ÌÏæá Recordset ÌåÊ ÓÇÎÊ SQL ÇÓÊÝÇÏå ÇÒ ÚÈÇÑÊ
StrSQL = "SELECT Table2.cod, Table2.Rdif, Table2.Deta, Table2.Sharh, Table2.[sh Sanad], Table2.Varedeh, Table2.Sadereh, Table2.Mogodi, Table2.Tozih FROM Table2 WHERE (((Table2.cod)='" & Me.cod & "'));"
Set Db = CurrentDb
Set Rst = Db.OpenRecordset(StrSQL)
VarMogodi = 0
'Recordset ÔãÇÑÔ ÊÚÏÇÏ ÑßæÑÏåÇí
Rst.MoveFirst
Rst.MoveLast
X = Rst.RecordCount
Rst.MoveFirst
'ÈÇÞíãÇäÏå åÇ ãæÑÏ ãÍÇÓÈå ÞÑÇÑ ÑÝÊå VarMogodi ÈÇ ÇÓÊÝÇÏå ÇÒ ÊÇÈÚ ÍáÞå æ ãÊÛíÑ
'ÐÎíÑå ÔÏå æ Èå ÊÑÊíÈ ÊÇ ÂÎÑíä ÑßæÑÏ ÚãáíÇÊ ÊßÑÇÑ ãí ÔæÏ Mogodi æ ãÞÇÏíÑ ÏÑ ÝíáÏ
For I = 1 To X
VarMogodi = VarMogodi + Rst.Fields("Varedeh") - Rst.Fields("Sadereh")
VarAcc = Rst.Fields("Varedeh") - Rst.Fields("Sadereh")
Rst.Edit
Rst.Fields("Mogodi").Value = VarMogodi
Rst.Update
Rst.MoveNext
Next I
MsgBox "ÊÚÏÇÏ" & " " & X & " ÑßæÑÏ" & "ãÍÇÓÈå ÑÏíÏ", _
vbInformation + vbMsgBoxRight, "ãÍÇÓÈå"
Set Rst = Nothing
Set Db = Nothing
Exit_Command20_Click:
Exit Sub
Err_Command20_Click:
If Err.Number = 3021 Then
MsgBox "ركوردي جهت محاسبه موجود نمي باشد", vbExclamation + vbMsgBoxRight, "ãÍÇÓÈå"
Else
MsgBox Err.Description & " " & Err.Number
Resume Exit_Command20_Click
End If
mosaArabi
پنج شنبه 16 خرداد 1387, 08:02 صبح
با سلام
دوست محترم قسمت مورد نظر را به انتهاي فرمان ذكر شده اضافه كردم اما ارور3021را گرفت كه تصوير را جهت بررسي خدمت شماضميمه شد
با نهايت سپاس
مهدی قربانی
پنج شنبه 16 خرداد 1387, 10:02 صبح
سلام
خط اول مجموعه كدهاي بالا رو هم اضافه كرديد ؟ اگر اين خط اضافه نشده باشه در موقع وقوع خطا ارجاع لازم به قسمتي كه اضافه كرديد داده نمي شه .
منظورم اين عبارته :
On Error GoTo Err_Command20_Click
mosaArabi
پنج شنبه 16 خرداد 1387, 12:20 عصر
دوست گرامي
سطر مورد اشاره را اضافه كردم فايل درست شد . ممنون از لطف شما
يك سئوال در خصوص فرم ها :
من يك فايل از همين سايت دانلود كردم كه در آن با كليد بر روي هر يك از باكسهاي سطر ، تمام سطر رنگي نمايش داده ميشد .بنده آن را در فرم اجرا كردم و جواب داد . مشكل اينجا بود كه فرم من دچار لرزش تمام سطر ها ميشود (البته اين مشكل در فايل دانلود شده نيز وجود داشت ). آيا راه حل ديگري وجود دارد كه با انتخاب باكسهاي سطر تمام آن سطر رنگي نمايش داده شود.
با كمال تشكر
مهدی قربانی
پنج شنبه 16 خرداد 1387, 13:43 عصر
دوست عزيز با توجه به اينكه هر تاپيك در مورد يك موضوع خاص ايجاد ميشه بايد عرض كنم كه موضوع مورد نظر شما قاعدتاً مي بايست در تاپيك ديگه اي مطرح بشه اين بخاطر ايجاد سهولت در امر جستجو و عدم پراكندگي موضوعات هست .
اما در مورد پرش هنگام حركت موس روي اشياء اين مشكلي هست كه قبلاً هم در اين انجمن راجع بهش بحث شده ولي دقيقاً خاطرم نيست به كجا ختم شد نهايتاً فكر نمي كنم با روشهاي معمول اين مشكل قابل حل باشه . بد نيست جستجو كنيد شايد راه حلي توسط دوستان در اين زمينه ارائه شده باشه .
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.