• 12
محمد فؤاد تركي

كيف تبني برنامج مخازن ومبيعات بطريقة صحيحة ؟؟

سؤال

518 إجابة على هذا السؤال .

  • -1

آسف نسيت ارفاق القاعدة بعد إجراء التعديلات عليها

Warehouses_System.rar

3

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • -1

أخواني الكرام

نرجع مرة أخري لموضوعنا ونكمل سوياً فواتير الشراء

تري يا أخواني ما الذي يتبقي في فواتير الشراء ؟؟؟؟؟؟؟

أقول لكم بما أننا مبرمجون ومحترفون :lol: ( ولا محترفون ولا حاحة ) فدائماً نضع نصب أعيننا المستخدم ونتوقع ونتكهن دائما ما الخطأ المحتمل الذي ممكن أن يقع فيه المستخدم وذلك لتلافي حدوث أخطأ أثنا تسجيل المستخدم لفواتير الشراء

دعنا ننظر لشاشة فواتير الشراء نظرة واسعة وعميقة

1 - أعتقد من المحتمل أن يسجل المستخدم الفاتورة مرتين عن طريق الخطأ وهذه في حد ذاتها مصيبه طماء لذلك يجب أن نضع نصب أعيننا أن يجب ألا يتكرر رقم الفاتورة . . اذهب معي للحقل المسمي رقم الفاتورة وفي حدث Before update ضع هذا الكود

add_docfield = Me.Add_doc
Dim a
a = DLookup("[add_doc]", "add_doc", "[add_doc]='" & Me.Add_doc & "'")
If Not (IsNull(a)) Then
MsgBox "أنت تريد تسجيل فاتورة قد تم تسجيلها سابقاَ", vbCritical, "رسالة تحـــزيرية"
Cancel = -1
End If
End Sub

وهذا الكود مهمته ( منع المستخدم من تسجيل فواتير تم تسجيلها من قبل )

2 - دعنا ننظر الي النموذج نظرة أخري ودعنا نفكر سوياً ماذا يمكن أن يخطأ فيه المستخدم أيضاً

آه وجدتها ;) ممكن المستخدم يكتب كود صنف خطأ أو سعر وحدة خطأ أو بيان صنف خطأ لذلك يجب المستخدم أن يلتزم بالمسميات التي قد وضعناها في أول المشاركة وهي دليل أصناف المخازن وذلك بوضع هذا الكود في حدث After update للحقل المسمي كود الصنف

Private Sub كود_الصنف_AfterUpdate()
[بيان الصنف] = DLookup("[Name]", "Names", "Number=[كود الصنف]")
[بيان الصنف] = DLookup("[Name]", "Names", "Number=[كود الصنف]")
[unit price] = DLookup("[unit price]", "Names", "number=[كود الصنف]")
[unit] = DLookup("[unit]", "Names", "number=[كود الصنف]")
If IsNull(DLookup("[number]", "names", "[number]='" & [كود الصنف] & "'")) Then
MsgBox " هذا الكود غير موجود بدليل أصناف المخازن ", vbCritical
Cancel = -1
End If
End Sub

وهذا الكود مهمته الاساسية قرأه الاصناف الموجوده في دليل الاصناف واحضارها هنا في حاله كتابة رقم أو كود الصنف في حقل كود الصنف

جميل جداً ولكن في حاله كتابة المستخدم كود غير موجود في دليل الاصناف ماذا سيحدث هل سيتم تسجيله في شاشة الفواتير :blink: أقول لك جرب وان شاء الله ستجد ما يرضيك بإذن الله

أيضا من ضمن الاشياء المهمه والتي نوه عنها الاخ همام وهي الحقول المحسوبه

فوضعنا لبعض الحقول بعض العمليات الحسابية البسيطة كما هو موضح في حقل Total وفي حدث got focs هذا الكود

Me.Total = unit_price * Qty_in

وهذا الكود يقوم بضرب سعر وحدة الصنف في الكمية المشتراه

أيضا هذا الكود

Me.Grand_Total = Total - Discount

ومهمتة طرح الاجمالي من نسبة الخصم لاظهار اجمالي الفاتورة بعد الخصم

3 - من الاشياء الصغيرة المهمة في النموذج اظهار اجمالي الفاتورة واجمالي نسب الخصم في مربعين نصوص أسفل شاشة فواتير الشراء كتقرير سريع للمستخدم أمام عينه عندما يريد النظر لا جمالي الفاتورة....

لذلك نكون قد انتهينا من تصميم شاشة فواتير الشراء ومنتظر ملاحظاتكم حتي الان علي هذا الشرح المتواضع وانا متأكد أنكم ستصممون برنامج مخازن ومبيعات أفضل من هذا بكثير

مرفق القاعدة بعد اجراء التعديلات اللازمة عليها كما في الشرح أعلاه

والله الموفق

Warehouses_System.rar

3

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • -1

السلام عليكم ....

---------------

مشكوور أخي الكريم

وجزاك الله كل خير ...

ولك مني أفضل التحيات ...

1

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • -1

اخى الكريم اخجلتنا بعلمك و خيركم من تعلم العلم و علمه فنراك خيرنا كما قال الرسول عليه الصلاة و السلام و دفعنا حبك للعلم و الخير لنية محولة تطبيق ما علمتنا اياه بعد ان كنا نبحث عن برنامج جاهز فنحن من قدامى خريجى التجاره و انتوينا ان نجتهد كما اجتهدت و نرجو الله ان يثمر جهدك معنا بما يفيىء عليك بخير الدعاء و الثواب و علينا بثمار الجهد و سنخبرك عن النتائج حين ننتهى من العمل جزاك الله عنا كل الخير

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • -1

أخواني الكرام

السلام عليكم ورحمة الله وبركاتة

ولنبدأ علي بركة الله درس جديد من دروس بناء فواتير الشراء والبيع

واليوم سنبدأ في تصميم شكل فاتورة البيع والشراء واستعراضهم في تقرير بإذن الله

أولاً : - فاتورة الشراء

قم بعمل استعلام جديد في نمط التصميم وهذا الاستعلام يضم جميع حقول فاتورة الشراء ليصبح الاستعلام كالشكل التالي

Q_1.JPG

بعد ذلك ابني علي هذا الاستعلام الذي اسمة يالقاعدة Invoice تقرير لشكل الفاتورة الذي يروق لك لعرض فاتورة الشراء بعد تسجيلها لطباعتها ... قم بتصميم فاتورتك لتصبح كالشكل التالي

Re_1.JPG

أما إذا أردنا تفقيط إجمالي الفاتورة الي حروف لتصبح كالشكل المرفق يمكنك استخدام هذا الموديول الذي يقوم بتحويل الارقام الي حروف

Function NoToTxt(TheNo As Double, MyCur As String, MySubCur As String) As String
Dim MyArry1(0 To 9) As String
Dim MyArry2(0 To 9) As String
Dim MyArry3(0 To 9) As String
Dim MyNo As String
Dim GetNo As String
Dim RdNo As String
Dim My100 As String
Dim My10 As String
Dim My1 As String
Dim My11 As String
Dim My12 As String
Dim GetTxt As String
Dim Mybillion As String
Dim MyMillion As String
Dim MyThou As String
Dim MyHun As String
Dim MyFraction As String
Dim MyAnd As String
Dim i As Integer
Dim ReMark As String


If TheNo > 999999999999.99 Then Exit Function


If TheNo = 0 Then
NoToTxt = "ÕÝÑ"
Exit Function
End If

MyAnd = " æ"
MyArry1(0) = ""
MyArry1(1) = "ãÇÆÉ"
MyArry1(2) = "ãÇÆÊÇä"
MyArry1(3) = "ËáÇËãÇÆÉ"
MyArry1(4) = "ÃÑÈÚãÇÆÉ"
MyArry1(5) = "ÎãÓãÇÆÉ"
MyArry1(6) = "ÓÊãÇÆÉ"
MyArry1(7) = "ÓÈÚãÇÆÉ"
MyArry1(8) = "ËãÇäãÇÆÉ"
MyArry1(9) = "ÊÓÚãÇÆÉ"

MyArry2(0) = ""
MyArry2(1) = " ÚÔÑ"
MyArry2(2) = "ÚÔÑæä"
MyArry2(3) = "臂辊"
MyArry2(4) = "ÃÑÈÚæä"
MyArry2(5) = "ÎãÓæä"
MyArry2(6) = "ÓÊæä"
MyArry2(7) = "ÓÈÚæä"
MyArry2(8) = "ËãÇäæä"
MyArry2(9) = "ÊÓÚæä"

MyArry3(0) = ""
MyArry3(1) = "æÇÍÏ"
MyArry3(2) = "ÇËäÇä"
MyArry3(3) = "ËáÇËÉ"
MyArry3(4) = "ÃÑÈÚÉ"
MyArry3(5) = "ÎãÓÉ"
MyArry3(6) = "ÓÊÉ"
MyArry3(7) = "ÓÈÚÉ"
MyArry3(8) = "ËãÇäíÉ"
MyArry3(9) = "ÊÓÚÉ"
'======================

GetNo = Format(TheNo, "000000000000.00")

i = 0
Do While i < 15

If i < 12 Then
MyNo = Mid$(GetNo, i + 1, 3)
Else
MyNo = "0" + Mid$(GetNo, i + 2, 2)
End If

If (Mid$(MyNo, 1, 3)) > 0 Then

RdNo = Mid$(MyNo, 1, 1)
My100 = MyArry1(RdNo)
RdNo = Mid$(MyNo, 3, 1)
My1 = MyArry3(RdNo)
RdNo = Mid$(MyNo, 2, 1)
My10 = MyArry2(RdNo)

If Mid$(MyNo, 2, 2) = 11 Then My11 = "ÅÍÏì ÚÔÑ"
If Mid$(MyNo, 2, 2) = 12 Then My12 = "ÅËäì ÚÔÑ"
If Mid$(MyNo, 2, 2) = 10 Then My10 = "ÚÔÑÉ"

If ((Mid$(MyNo, 1, 1)) > 0) And ((Mid$(MyNo, 2, 2)) > 0) Then My100 = My100 + MyAnd
If ((Mid$(MyNo, 3, 1)) > 0) And ((Mid$(MyNo, 2, 1)) > 1) Then My1 = My1 + MyAnd

GetTxt = My100 + My1 + My10

If ((Mid$(MyNo, 3, 1)) = 1) And ((Mid$(MyNo, 2, 1)) = 1) Then
GetTxt = My100 + My11
If ((Mid$(MyNo, 1, 1)) = 0) Then GetTxt = My11
End If

If ((Mid$(MyNo, 3, 1)) = 2) And ((Mid$(MyNo, 2, 1)) = 1) Then
GetTxt = My100 + My12
If ((Mid$(MyNo, 1, 1)) = 0) Then GetTxt = My12
End If

If (i = 0) And (GetTxt <> "") Then
If ((Mid$(MyNo, 1, 3)) > 10) Then
Mybillion = GetTxt + " ãáíÇÑ"
Else
Mybillion = GetTxt + " ãáíÇÑÇÊ"
If ((Mid$(MyNo, 1, 3)) = 2) Then Mybillion = " ãáíÇÑ"
If ((Mid$(MyNo, 1, 3)) = 2) Then Mybillion = " ãáíÇÑÇä"
End If
End If

If (i = 3) And (GetTxt <> "") Then

If ((Mid$(MyNo, 1, 3)) > 10) Then
MyMillion = GetTxt + " ãáíæä"
Else
MyMillion = GetTxt + " ãáÇííä"
If ((Mid$(MyNo, 1, 3)) = 1) Then MyMillion = " ãáíæä"
If ((Mid$(MyNo, 1, 3)) = 2) Then MyMillion = " ãáíæäÇä"
End If
End If

If (i = 6) And (GetTxt <> "") Then
If ((Mid$(MyNo, 1, 3)) > 10) Then
MyThou = GetTxt + " ÃáÝ"
Else
MyThou = GetTxt + " ÂáÇÝ"
If ((Mid$(MyNo, 3, 1)) = 1) Then MyThou = " ÃáÝ"
If ((Mid$(MyNo, 3, 1)) = 2) Then MyThou = " ÃáÝÇä"
End If
End If

If (i = 9) And (GetTxt <> "") Then MyHun = GetTxt
If (i = 12) And (GetTxt <> "") Then MyFraction = GetTxt
End If

i = i + 3
Loop

If (Mybillion <> "") Then
If (MyMillion <> "") Or (MyThou <> "") Or (MyHun <> "") Then Mybillion = Mybillion + MyAnd
End If

If (MyMillion <> "") Then
If (MyThou <> "") Or (MyHun <> "") Then MyMillion = MyMillion + MyAnd
End If

If (MyThou <> "") Then
If (MyHun <> "") Then MyThou = MyThou + MyAnd
End If

If MyFraction <> "" Then
If (Mybillion <> "") Or (MyMillion <> "") Or (MyThou <> "") Or (MyHun <> "") Then
NoToTxt = ReMark + Mybillion + MyMillion + MyThou + MyHun + " " + MyCur + MyAnd + MyFraction + " " + MySubCur
Else
NoToTxt = ReMark + MyFraction + " " + MySubCur
End If
Else
NoToTxt = ReMark + Mybillion + MyMillion + MyThou + MyHun + " " + MyCur
End If

End Function

بعد ذلك إذهب لشاشة فواتير الشراء وضع زر وتحت حدث الضغط علي هذا الزر أكتب هذا الكود

DoCmd.OpenReport "invoice", acViewPreview, , "[Add_doc]='" & Me.Add_doc & "'"

وهذا الكود مهمته عرض الفاتورة الحاليه التي تظهر أمامك في شاشة فواتير الشراء

نفس الخطوات بالضبط سنقوم بعملها مرة أخري لكن هذه المرة لفواتير البيع

بذلك نكون قد صممنا أول تقريرين للبرنامج تقرير يعرض فاتورة الشراء وتقرير آخر لعرض

فواتير البيع

وإن شاء في الدرس القادم سنري مزيد من التقارير إن شاء الذي ستفيد البرنامج بإذن الله

مرفق القاعدة علي آخر تعديل

Warehouses_System.rar

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • -1

اخى الحبيب محمد فؤاد ترك

بصراحه اخى الحبيب ابهرت الجميع بهذا المجهود الجبار

وهذا الاخلاص فى الشرح

فقد لمست موضوع فعلا من اخطر الموضوعات فى مجال البرمجه وهو موضوع المخازن والعملاء

فانه وباعتراف الجميع هو من اصعب الموضوعات البرمجيه نظرا لتشعبه وتعدد فروعه بخلاف برمجه الحسابات العامه

متابعين معك اخى العزيز بل استاذنا العزيز

بارك الله فيك والى الامام دائما

ومن خلال تصفحى لمنتدانا الحبيب منتدى الفريق العربى

فقد يبدا تصميم برنامج بفكرة يتم اخذها من مثال

وهذا ماحدث معى بالفعل

بارك الله فيك اخى الحبيب ومعك للنهايه

وشكرى وتقديرى بالطبع للسادة المشرفين

والاخوة المشاركين بالمنتدى

وخالص تحياتى

اخوك / ماهر بدوى

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • -1

بسم الله الرحمن الرحيم

بارك الله فيك اخي الكريم

بخصوص طلبي اخي الكريم في تعدد الوحدات فلقد شاهدت بالفعل عدة برامج جاهزة وكان مصمموها يذكرون في مزايا البرنامج بل هي تكون من اوائل المزايا في برامج المخزون امكانية الحساب والتعامل لاكثر من وحدة وبعض البرامج ذهب لاكثر من 3 وحدات ؟؟؟؟

وكنت فعلا احتاج الى معرفة كيفية عمل مثل ذلك وخاصة عدم تناول مثل هذه النقطة في المنتديات

ولكن باذن الله اصبر معك لنرى نهاية عملك المميز باذن الله والذي سيضع حدا لطلب مثل هذه البرامج بصفة مستمرة

بارك الله فيك اخي الكريم في رزقك وصحتك وعلمك

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • -1

الاخ محمد فؤاد تركي شكرا الله لك جهدك المبارك

يعلم الله اني لم اعمل برنامج مخازن من قبل و سيكون برنامجك او برنامج لي من هذا النوع.

عندما رايت المشاركة الاولى كنت اتسائل عن كيفية اظهار المخزون الحالي (ضننت انه سيكون هناك جدول خاص بالمخزون) ولكن فضلت الانتظار مشاركاتك القادمة

تحية لك على عمللك المميز

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • -1

أخي الغالي maherbadawey

بارك الله فيك ويعطيك ألف عافية

والله أنت تعطيني أكثر من حقي فوالله انا لا استاهل أكثر من كل هذه الكلمات ... الفضل كله لهذا المنتدي الكبير الذي تعلمت منه الكثير

أخي الغالي sx1

لقد قرأت ملاحظاتك وإن شاء الله نجد لك الحل بإذن الله .... أيضاً ممكن تضع في مشاركة منفصلة مثال لطلبك وان شاء الله نحاول حلها

ولنبدأ علي بركة الله الان في عمل تقرير استعلام عن رصيد مخزن ... نبدأ سويا الان في تصميم استعلام يحتوي علي الحقول التالية كما هو موضح بالصورة المرفقة .. .

balance.jpg

وكما هو موضح بالصورة الحقول اللازمه لاستخراج رصيد المخازن أيضا موضح الحقول المحسوبه والذي مهمتها طرح كميات فواتير الشراء من كميات فواتير البيع لاستخراج رصيد المخازن ليصبح الرصيد بالشكل النهائي مثل هذه الصورة المرفقه

balance2.jpg

وهذه الجمله البسيطة المستخدمه في احتساب الرصيد . . .

Balance: [sumofqty_in]-[sumofqty_out]

الان أكيد سنحتاج الان لعمل تقرير لكي نطبع هذا الرصيد ... إذهب الي التقارير وقم بتصميم تقرير يكون مصدرة هذ الاستعلام المذكور أعلاه وصمم التقرير بالطريقة التي تروق لك حتي يصبح هذا التقرير بالشكل الموجود بالصورة الان

report(1).jpg

والان نريد عمل نموذج يتم من خلاله استعداء أرصدة المخازن

قم بفتح نموذج في نمط التصميم وضع عليه زر وتحت حدث الضغط علي هذا الزر يتم كتابة الكود التالي لاستدعاء التقرير

DoCmd.OpenReport "رصيد المخازن", acViewPreview

ســــــؤال : - هل تريد إضافة بعض الملح والفلفل والتوابل علي هذا النموذج الذي يعرض رصيد المخزن

الاجابة : - أكيد

حسننا تعالي نتعلم كيفية عمل Progressbar عندما نضغط علي الزر يفيدنا هذا الــ Progressbar بتحميل التقرير

إذهب لقائمة Insert ثم اختار ActiveX control ثم اختار كما هو موضح بالصورة

progr.jpg

وفي حدث الحالي Oncurrent ضع هذا الكود لاخفاء هذا الشريط

Me.ProgressBar.Visible = False

أيضا في حدث الضغط علي الزر ضع هذا الكود

Private Sub Command0_Click()
On Error Resume Next
Dim I As Integer
ProgressBar.Visible = True
For I = I To 10000
ProgressBar.Value = I
If I = 10000 Then
ProgressBar.Visible = False
End If
Next I
DoCmd.OpenReport "رصيد المخازن", acViewPreview
End Sub

وذلك لتشغيل الـ Progressbar وفتح التقرير بعد تشغيله

ولا تنسي تغيير مده تشغيل Progressbar من خلال الضغط علي خصائصه ومن تبويب General اختار MAx ثم قم يتغيير قيمتها من 100 الي 10000

وهذه القيمة هي المده الذي سيتغرقها الــ Progressbar علي النموذج

تحياتي ولنا تكمله ان شاء الله

مرفق الملف وبه آخر تعديل

Warehouses_System.rar

5

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • -1

أخي الغالي Whale

يظهر انك فيك شيء لله وقت ما كنت بتسأل عن كيفية استخراج الرصيد نفس الوقت الذي كنت أكتب فيه كيفية استخراج الرصيد -waf . . عموما شكرا علي كلماتك الرقيقة وان شاء الله أكون عند حسن ظنك

lol:

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • -1

يالروعة لم اكن اتوقع انه سيكون بهذا الشكل

مع شكري و تقديري لشخصك الكريم

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • -1

اخى الحبيب محمد فؤاد

ارجو التركيز على موضوع الرصيد بين تاريخين او عن فترة محددة

وكذلك على رصيد ماقبله

لما لهذا البيان من اهميه عند عمل التقارير

وتقبل تحياتى

وكنت اتمنى لو كان لدى الخبرة الكافية لمعاونتك فى هذا البرنامج

وعموما نحن معك بقلوبنا

اخوك / ماهر بدوى

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • -1

أخي الغالي ماهر بدوي

أخي الغالي has_1975

بارك الله فيكم جميعاً لكن لو صبر القاتل علي المقتول كان مات لوحدة ان شاء الله سأضع في الحسبان كل القارير المطلوبه للمشروع إن شاء الله :lol:

أستهل هذا الدرس بالصلاة والسلام علي أشرف المرسلين سيدنا محمد صلي الله عليه وسلم

سؤال : - هل يجوز عدم حذف أي أصناف من شاشة دليل أصناف المخازن قد تم عمل عليها عمليات من قبل في شاشات فواتير الشراء والبيع ؟؟

الاجابة بالطبع نعم : - لان في حاله حذف أي أصناف تم عمل عليها عمليات من شاشة دليل الاصناف بهذه الطريقة يبقي في هذه الحاله سينهار نظام المخازن بالكامل لان أرصدة المخازن ستصبح غير واقعية وفواتير البيع والشراء غير مطابقة لما هو تم عمله بالفعل لذلك يجب علينا أن نضع كود يحمي جميع الاصناف التي تم عليها عمليات خلال السنة من الحذف من خلال هذا الكود الذي سوف نضعة الان تحت حدث الضغط علي زر حذف

If MsgBox("هل تريد حذف هذا الصنف ؟", vbYesNo + vbCritical + vbMsgBoxRight + vbDefaultButton2, "تحذير") = vbNo Then
Exit Sub
Else
If DCount("*", "Transaction", "number = Forms![names]![number]") > 0 Then
MsgBox " لا يمكنك حذف هذا الصنف من شاشة دليل الاصناف لوجود عمليات علي هذا الصنف ", vbCritical, "خطأ"
Exit Sub
Else
DoCmd.SetWarnings False
DoCmd.RunCommand acCmdDeleteRecord
Refresh
DoCmd.SetWarnings True
End If
End If

حاول تحذف صنف قد تم عليه عمل فواتير شراء وبيع وانتظر النتيجة ستظهر لك هذه الرساله تحذرك كما في الصورة التاليه

11(1).jpg

آسف لعدم شرح كميه كبيرة من البرنامج نظراً لضيق وقتي وان شاء الله سيتم شرح مساحة أكبر من ذلك في المرة القادمة

مرفق القاعدة عند آخر تعديل

Warehouses_System.rar

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • -1

أخواني الاعضاء

السلام عليكم ورحمة الله وبركاتة

سنبدأ اليوم علي بركة الله بتصميم تقرير من أهم التقارير المستخدمة في نظام المخازن وهو تقرير الاستعلام عن حركة صنف معين

أولاً : - سنقوم بإنشاء استعلام ونضع فيه الجدوال التالية كما هو موضح بالصورة المرفقة

trans_1.jpg

وهذا الاستعلام يتم من خلاله الاستعلام عن حركة الصنف خلال السنه الماليه

قم ببناء تقرير ومصدر بياناتة يعتمد علي هذا الاستعلام . . . بعد تصميمك للتقرير ستجد مجموعة من الحقول مكررة

بمعني ستجد داخل التقرير حقل تاريخ فاتورة الشراء وحقل آخر لتاريخ فاتورة البيع لذلك لعدم تكرار هذه الحقول أيضا أنها تعطينا نفس المعلومة فكل اللي علينا ضم هذه الحقول داخل حقل واحد وذلك عن طريق الكود التالي ....

=[date1] & " " & [date2]

بعد تصميم التقرير سيصبح شكل التقرير كالشكل التالي

trans_2.jpg

أيضا سنحلاظ أننا استعملنا بالتقرير حق محسوب وهو حقل احتساب الرصيد من خلال الكود التالي

=[qty_in]-[qty_out]

ولعمل هذا الرصيد ( رصيد تراكمي ) يمكنك عمل ذلك عن طريق الضغط علي حقل الرصيد كليلك يمين ثم اختيار خصائص الحقل . . . ومن تبويب Data يتم اختيار تجميع الكل أو كما هو موضح بالصورة

trans_3.jpg

والان بعد تصميم التقرير سنذهب سوياً لاستعراض هذا التقرير عن طريق نموذج

سنقوم الان بتصميم نموذج يحتوي علي عدد 2 مربع نص غير منضمين وزر وتحت حدث الضغط علي هذا الزر هذا الكود الذي يستدعي التقرير الحالي

DoCmd.OpenReport "Item_Transaction", acViewPreview, , "[number]='" & Me.T1 & "'"

أيضاً في حقل T1 وهو يرمز لكود الصنف يتم وضع الكود التالي

Private Sub T1_AfterUpdate()
[t2] = DLookup("[Name]", "Names", "Number=[t1]")
If IsNull(DLookup("[number]", "names", "[number]='" & [T1] & "'")) Then
MsgBox " هذا الكود غير موجود بدليل الاصناف", vbCritical
Cancel = -1
End If
End Sub

وهذا الكود مهمتة استعداء كود الصنف المراد الاستعلام عنه

وعلي سبيل المثال ضع في الحقل الاول رقم واحد ثم اضغط انتر من لوحة المفاتيح سيظهر لك بيان الصنف وعند الضغط علي الزر سيتم فتح تقرير هذا الصنف الحالي المختار . . وكما موضح بالصورة التاليه

trans_4.jpg

بذلك نكون قد انتهينا من عمل تقرير لحركة صنف وهو من أهم التقارير لدينا

مرفق القاعدة بعد آخر تعديل

-waf

Warehouses_System.rar

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • -1

أخي / محمد فؤاد تركي .... يسعد الله أوقاتك دائماً

لقد تابعت خطواتك من خلال شرحك لبناء برنامج المخازن والمبيعات ولقد أعجبت بها كثيراً جداً والى الامام دوماً ، حيث القليل من أعضاء المنتدى تطرق الى بناء برامج محاسبية وحتى يكون برنامج كامل ومتكامل ... في اعتقادي لا بد من وجود القيود المحاسبية ودفاتر الاستاذ والحسابات الختامية والميزانية وجرد المخازن ... ربنا يشرح لك صدرك وييسر لك أمرك ... سر على بركة الله.

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • -1

الاخ العزيز محمد فؤاد تركي

اشكر كل الشكر على المعلومات القيمة و التي استفذت منها الكثير ... اذا استطعت ان اعمل برنامج مخازن بسيط (اول برنامج لي ) معتمدا على الافكار و الدروس التي اثلجت صدورنا بها

تحية لك و الي الامام

اخوك Whale

تم تعديل بواسطه Whale
0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • -1

السلام عليكم

فقط اتسأل لماذا هذا الغياب الملحوظ من قبل المشرفين وبخاصة الاخت / زهرة

أكيد نحن بأمس الحاجة الى تعليقاتها وتقييمها للموضوع

اشكر الجميع وخالص الود لأخينا الكريم / محمد فؤاد

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • -1

السلام عليكم

جزاك الله كل خير يأخ محمد اعتقد ان هذا افضل برنامج مخازن رأيته حتى الان حيث به الكثير مما كنت اريد ان اتعلمه وأستأذنك فى ان استفيد به .

ولكن لى سؤال فى قاعدة بيانات اخرى حيث اننى اريد اصمم قاعدة للصيانة حيث ان لكل تكلفة تصرف لقسم معين وفى نفس الوقت يكون الصرف اما ميكانيكا او كهرباء وفى نفس الوقت اما صيانة علاجية او وقائية وفى نفس الوقت اما اصلاح خارجى او استثمارات المشكلة اننى اريدان تظهر كمية التكلفة مكان الكلام اى الميكانيكا فى قسم الصاج تكون قيمة وجزاكم الله كل خير

تكلفة الشراء لادارة الصيانة بالالاف عن شهر يناير-07رجوع للفهرساجمالى التكلفةج.م.‏ 81,852 القسماجمالى التكلفةالنسبة الئويةميكانيكاكهرباءتركيبات اصلاح خارجىاستثمارات زيوترولمان بلى مخزنشراء عاجل علاجيهوقائيةالصاج17,413 21%12429.39754983.60 00 00 00 2923.17608.6البوية & رف السلك0 0%000 00 00 00 00بلاستيك سحب6,891 8%1502.61755388.217750 5000 05875 00 3746.9760.48كسارة بالمان0 0%000 00 86560 00 00بلاستيك فراغى6,713 8%5266.981251446.23250 087568 00 7570 01438.1بلاستيك حقن21,333 26%16292.60754321.485718.59375 00 00 00 0550.24تجميع9,367 11%9367.300 1240 00 0757 00مبردات0 0%000 0444 00 00 00كباسات4,229 5%3998.06252310 00 68760 75670 0246بوش4,909 6%2102.42806.4850 044757 00 07578 0657مصاعد1,456 2%01456.350 00 00 00 01456.4ورش والمصنع1,776 2%1644.465131.250 00 00 00 0301.75شبكة الانارة6,013 7%06013.137750 00 00 00 01184.6طلمبات1,752 2%1751.7500 00 00 00 0262.8الاجمالـــى81,852 100%54355.581326777.758718.59375 624132769 155325875 83248335 6670.114466النسبة المئوية 66%33%1% 1%162% 19%7% 10%10% 8%18%

_____.rar

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • -1

السادة الاعضاء

السلام عليكم ورحمة الله وبركاته

أشكركم جميعا علي مروركم الطيب وأشكركم علي حسن ثقتكم بي جزاكم الله خيرا ... ونظراً لاستفادة كثير من الاعضاء بهذا العمل أحب أن أوجه نظركم الي ان سيكون ان شاء الله تكملة للبرنامج وهي الدخول بعض الشيء في الناحية المحاسبية واستخراج رصيد عمل أيضا استخراج رصيد مورد

أيضاً سنتطرق لجزئية سندات القبض وسندات الدفع ....

وإن شاء الله سأحاول جاهدا أن يستفيد جميع الاعضاء من هذا العمل أقصي استفادة

وخصوصاً السادة المحاسبين

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • -1

نرجو الا تتاخر علينا

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • -1

جزاك الله خير الدنيا والاخرة

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • -1

خبر جميل فعلا

تحياتي لك

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • -1

السلام عليكم

انا اسف ولكنى محتاج حل لهذا الامر وهل حاصل ضرب حقل * رقم متغير وهذا مثال

________.rar

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • -1

أخي الغالي

السلام عليكم ورحمة الله وبركاتة

شكراً لك علي مشاركتك ومرورك الطيب

عفواً سؤالك هنا لا يمت بصله بالموضوع المطروح يمكنك طرح هذا السؤال بمشاركة منفصلة

وإن شاء الله نوجد لك الحل

بالتوفيق

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

من فضلك سجل دخول لتتمكن من التعليق

ستتمكن من اضافه تعليقات بعد التسجيل



سجل دخولك الان

  • يستعرض القسم حالياً   0 members

    لا يوجد أعضاء مسجلين يشاهدون هذه الصفحة .