-
Posts
1,727 -
تاريخ الانضمام
-
Days Won
5
نوع المحتوي
المنتدى
مكتبة الموقع
معرض الصور
المدونات
الوسائط المتعددة
كل منشورات العضو أبو عبدالله الحلوانى
-
كود جعل زر خيار True بناء علي وضع قيمة في حقل نص
أبو عبدالله الحلوانى replied to حسين العربى's topic in قسم الأكسيس Access
Private Sub B_1_AfterUpdate() If Me.B_1 = ChrW(1584) & ChrW(1603) & ChrW(1585) Then Me.t_1 = True Me.t_2 = False Else Me.t_1 = False Me.t_2 = True End If End Sub سبقني بها استاذنا قاسم ولكن اضافة الي ما تفضل به يفضل ان لا تجعل في الكود أحرف عربية لتفادي مشكلات اختلاف اللغة علي الاجهزة -
هل هو نفس الجدول ام جدول آخر غير الموجود بالاستعلام ؟! الحقول الغير مرتبطة لا تسبب مشكلة عند اضافة البيانات علي حد علمي ولكن لعل المشكلة تكون: 1- بوجود علاقة بين جدولين تتطلب ادخال بعض البيانات المرتبطة وتم اهمال احدها 2- او يكون هنالك حقل الزامي يجب ادخال بيانات به ولم يتم تمرير قيمة له بالاستعلام 3- أو يكون هنالك خطأ املائي بكتابة مسميات بعض الحقول او غيرها من الأمور التي لا يمكن تخمينها الا بعد معاينة المشكلة من خلال المرفق
-
مشكلة في برنامج المحاسبة - بونص
أبو عبدالله الحلوانى replied to عبد اللطيف سلوم's topic in قسم الأكسيس Access
من وجهة نظري الشخصية - ومن الناحية المحاسبية فان هنالك ما يسمي بالخصم المكتسب وهذا الحساب يشمل القيمة المالية التي يتم تخفيضها من قيمة المشتريات (ويدخل في ذلك ما كان عينيا او ماديا) مثال ليتضح المقال: لو ان هذه الشاشات ثمنها 1000 مثلا فقيمة الواحدة 50 اذا اجمالي قيمة ال 22 شاشة هو 1100 ويتم معالجة العملية من الناحية المحاسبية بقيد مزدوج متعدد بهذا الشكل 1100 من حـ/ المشتريات الي حـ/ مذكورين 1000 حـ/ الصندوق (بقيمة المبلغ المدفوع فعليا) 100 حـ/ الخصم المكتسب (قيمة المبلغ الذي تم خصمه من قيمة المشتريات الفعلية أو قيمة البونص او اي شيئ آخر) وقيمة هذا الخصم دائنة وهو تابع لحساب الأرباح والخسائر في الحسابات الختامية ارجو ان يكون كلامي واضحا فقد تكلمت باسلوب المحاسبين 😁 من الناحية البرمجية 1- قيمة المشتريات الفعلية هي 1100 يعني ما سيتم ترحيله الي المخازن هو عدد 22 شاشة بقيمة 1100 يعني قيمة الشاشة الواحدة لن تتغير اي بقيمة 50 كما هي 2- قيمة الصندوق او الخزينة او البنك ستقل بقيمة المبلغ المدفوع فعليا بقيمة 1000 فقط 3- قيمة ال 2 شاشة البونص سيتم اعتبارها ارباح مكتسبة بالكامل 100 أرجو ان لا يكون هذا التوضيح بحاجة الي توضيح هذا والله اعلم -
هلا ارفقتي مثالا لنري المشكلة فمن سمع ليس كمن رأي .
-
اضم صوتي الي صوتك - فبلمثال يتضح المقال 🙂 فمن الواضح انها تريد الحاق البيانات الي الجدول من خلال فورم رئيس يضم فورم فرعي وبكل فورم مجموعة من الحقول التي يتم ملأها بالجدول
-
حاولت تطويع مرفقك علي قدر فهمي للسؤال وهذه محاولتي test4.accdb ارجو ان تفيدك جرب ووافني بالنتائج افتح بحث متقدم واختر الاسم او تنقل بين الاسماء ثم اضغط زر بحث
-
المساعدة بان احضر قيمة من فورم اخر
أبو عبدالله الحلوانى replied to ahmedhassan1948's topic in قسم الأكسيس Access
جرب هذا التعديل Option Compare Database Public Myvalue As Integer Public MyP2 As Integer الفورم الاول private sub Zer1_Click() Myvalue = NP1.Value MyP2 = Np2.Value End sub الفورم الثاني If ComPlat.Value = "Twitter" And comType.Value = "Click" Then TargetPlas.Value = txtCost.Value * Myvalue Elseif ComPlat.Value = "Twitter" And comType.Value = "engagement" then TargetPlas.Value = txtCost.Value * MyP2 End If ووافني بالنتائج اذا لم تزل تواجه مشكلة ارفق مرفق للتعديل. الفكرة بكل بساطة هي: 1- انشاء متغير عام يمكن استدعائه من اي مكان بالبرنامج ( عن طريق انشاء وحدة نمطية عامة وكتابة تصريح عام بها باسم المتغير كما هو موضح بالمشاركة الأولي) 2- نمرر قيمة الي هذا المتغير العام من اي فورم او تقرير او ... 3- نقرأ قيمة المتغير من اي مكان كذلك سواء فورم او تقرير او ... وانتهي الأمر -
السلام عليكم جرب هذا التعديل ووافني بالنتائج ملاحظة: من المستحسن ان لا تجعل شيئا مكتوبا باللغة العربية داخل الكود هذا سيسهل عليك العميل ويجنبك مشكلات كثيرة فيما بعد عندما تحاول نقل برنامجك للعمل علي اي جهاز آخر غير جهازك الذي تعمل عليه وهذا سيتأتّي معك سهلا ميسورا ان عملت علي نسخة انكليزية من الأكسس وكذلك ان تجعل مسميات الحقول داخل الجداول والنماذج والتقارير والاستعلامات .... باللغة الانكليزية ولا بأس من جعل الوصف باللغة العربية هذا ليس تحيزا للغة الاجانب ولكن هذا سيسهل عملك ولا يوقعك بمشكلات كبيرة فيما بعد انت بغنا عنها تمنياتي بالتوفيق za-AKSAT-Pro-LAST- (1).mdb
-
وعليكم السلام ورحمة الله لتقسيم الكود يتم استخدام مسافة (فراغ) ثم هذه العلامة ( _ ) بعد الفراغ كالمثال CurrentDb.Execute "INSERT INTO TEAM(DateDA,DateCmd,NumBesoin,demandeur,commande,imputation,acheteur,departement,designation,marque, _ reference,devise,QTEcommande,QTE,frs1,PU1,PT1,frs2,PU2,PT2,frs3,PU3,PT3,prixRETENU,devise2,TotalEUR, _ fournisseur,CONTRAT,FABRICANT,NonMisEnCON,REGULE,SEMAINE,MOIS,PRODUCTIVITE,devise3,ProdEnEUR) " _ & "VALUES('" & Me.DateDA & "','" & Me.DateCmd & "','" & Me.NumBesoin & "','" & Me.Demandeur & "','" & _ Me.Commande & "','" & Me.imputation & "','" & Me.Acheteur & "','" & Me.Departement & "','" & Me.TXTdesign & _ "','" & Me!T_REFRENCE.Form.marque & "','" & Me.txtREF & "','" & Me!T_REFRENCE.Form.devise & "','" & Me.Qte & _ "','" & Me!T_REFRENCE.Form.FRS1 & "','" & Me!T_REFRENCE.Form.PU1 & "','" & Me!T_REFRENCE.Form.PT1 & "','" & _ Me!T_REFRENCE.Form.FRS2 & "','" & Me!T_REFRENCE.Form.PU2 & "','" & Me!T_REFRENCE.Form.PT2 & "','" & _ Me!T_REFRENCE.Form.FRS3 & "','" & Me!T_REFRENCE.PU3 & "','" & Me!T_REFRENCE.PT3 & "','" & _ Me!T_REFRENCE.PRIXretenu & "','" & Me!T_REFRENCE.Devise2 & "','" & Me!T_REFRENCE.TotalEUR & "','" & _ Me!T_REFRENCE.fournisseur & "','" & Me!T_REFRENCE.CONTRAT & "','" & Me!T_REFRENCE.Fabricant & "','" & _ Me!T_REFRENCE.NonMisEnCON & "','" & Me!T_REFRENCE.Regule & "','" & Me.Semaine & "','" & Me.Mois & "','" & _ Me!T_REFRENCE.productivite & "','" & Me!T_REFRENCE.devise3 & "','" & Me!T_REFRENCE.prodEnEUR & "'" أو يمكنك تقطيع الكود علي عدة اسطر في متغير نصي وتمرير قيمته الي دالة تنفيذ الاستعلام مثل: Dim SQLStr as String SQLStr = "INSERT INTO TEAM(DateDA,DateCmd,NumBesoin,demandeur,commande,imputation,acheteur,departement," SQLStr = SQLStr & "designation,marque,reference,devise,QTEcommande,QTE,frs1,PU1,PT1,frs2,PU2,PT2,frs3,PU3,PT3," SQLStr = SQLStr & "prixRETENU,devise2,TotalEUR,fournisseur,CONTRAT,FABRICANT,NonMisEnCON,REGULE,SEMAINE,MOIS," SQLStr = SQLStr & "PRODUCTIVITE,devise3,ProdEnEUR) VALUES('" & Me.DateDA & "','" & Me.DateCmd & "','" SQLStr = SQLStr & Me.NumBesoin & "','" & Me.Demandeur & "','" & Me.Commande & "','" & Me.imputation & "','" SQLStr = SQLStr & Me.Acheteur & "','" & Me.Departement & "','" & Me.TXTdesign & "','" & Me!T_REFRENCE.Form.marque & "','" SQLStr = SQLStr & Me.txtREF & "','" & Me!T_REFRENCE.Form.devise & "','" & Me.Qte & "','" & Me!T_REFRENCE.Form.FRS1 & "','" SQLStr = SQLStr & Me!T_REFRENCE.Form.PU1 & "','" & Me!T_REFRENCE.Form.PT1 & "','" & Me!T_REFRENCE.Form.FRS2 & "','" SQLStr = SQLStr & Me!T_REFRENCE.Form.PU2 & "','" & Me!T_REFRENCE.Form.PT2 & "','" & Me!T_REFRENCE.Form.FRS3 & "','" SQLStr = SQLStr & Me!T_REFRENCE.PU3 & "','" & Me!T_REFRENCE.PT3 & "','" & Me!T_REFRENCE.PRIXretenu & "','" SQLStr = SQLStr & Me!T_REFRENCE.Devise2 & "','" & Me!T_REFRENCE.TotalEUR & "','" & Me!T_REFRENCE.fournisseur & "','" SQLStr = SQLStr & Me!T_REFRENCE.CONTRAT & "','" & Me!T_REFRENCE.Fabricant & "','" & Me!T_REFRENCE.NonMisEnCON & "','" SQLStr = SQLStr & Me!T_REFRENCE.Regule & "','" & Me.Semaine & "','" & Me.Mois & "','" & Me!T_REFRENCE.productivite & "','" SQLStr = SQLStr & Me!T_REFRENCE.devise3 & "','" & Me!T_REFRENCE.prodEnEUR & "'" CurrentDb.Execute SQLStr ارجو التجربة وموافاتي بالنتيجة
-
المساعدة بان احضر قيمة من فورم اخر
أبو عبدالله الحلوانى replied to ahmedhassan1948's topic in قسم الأكسيس Access
اذا لم يكن فهمي خاطئا فلم يتسع وقتي لتحميل المرفق واذا اردت ان تمرر احد هذه القيم من فورم الي اخر ولا يشترط ان يكون كلاهما مفتوحا بنفس الوقت اليك هذه الفكرة. قم بانشاء وحدة نمطية واكتب بها هذا السطر Public Myvalue as integer وبهذا الشكل يمكنك تمرير اي قيمة من الفورم اليها لتستعملها بأي فورم آخر تريده بالكيفية التي تريدها مثال من الفورم الأول مثلا اكتب هذا الكود Myvalue = p1 'Or p2 or p3 as you want ومن الفورم الثاني اكتب هذا الكود TargetPlas= Myvalue * 0.5 'أو اي معادلة حسابية تريد ان تجريها علي هذا المتغير وانتهي الأمر -
شاركوني في تهنئة فريق العمل بنجمها الجديد ، ابو جودي
أبو عبدالله الحلوانى replied to jjafferr's topic in قسم الأكسيس Access
مبارك علينا ابا الجود وأعانكم الله ووفقكم لكل خير والي ما يحبه الله ويرضاه من امور الدنيا والأخرة نفع الله بكم اينما حللتم أو ارتحلتم وجمعني بكم وبسائر أساتذتنا الأكارم الأفاضل في مستقر رحمته مع النبيين والصديقين والشهداء والصالحين - وحسن اولئك رفيقا - آمين -
السلام عليكم ورحمة الله وبركاته حبيت اضيف معلومة صغيرة ارجو ان يصوب اساتذتي خطأها ان كانت خطأ احب دوما أعوض عن القيم النصية بقيم رقمية بالأكواد كلما كان ذلك متاحا تجنبا لمشكلات الترجمة واختلاف اللغة بالأجهزة التي سيعمل عليها البرنامج وهذا مثال تعديلا بسيطا علي كود استاذا جعفر لنتفادي وجود اسم اليوم داخل الكود وارجو التجربة مع تغير اعدادات الويندوز للغة العربية والانجليزية بعد التعديل. If Weekday(TD) = 6 Then fOver_Time = DateDiff("n", DS, DE) \ 60 & ":" & DateDiff("n", DS, DE) Mod 60 ElseIf Weekday(TD) = 5 Then fOver_Time = DateDiff("n", STO2, DE) \ 60 & ":" & DateDiff("n", STO2, DE) Mod 60 ElseIf Weekday(TD) < 5 Or Weekday(TD) > 6 Then 'Or you can say Else Only Here fOver_Time = DateDiff("n", STO1, DE) \ 60 & ":" & DateDiff("n", STO1, DE) Mod 60 End If مجرد معلومة افدتها من اساتذتي بالمنتدي واحببت مشاركتها معهم (هذه بضاعتكم ردت اليكم) تمنياتي بالتوفيق
-
انشاء نموذج لتوليد سجلات بناءا على معطيات
أبو عبدالله الحلوانى replied to عمر ضاحى's topic in قسم الأكسيس Access
السلام عليكم ورحمة الله وبركاته وانا ايضا اشارك استاذنا أبو خليل ما قال ففهم السؤال هو نصف الاجابة كما قيل ولكن اعتقد ان الأخ عمر يريد ان يضيف سجلات متعددة الي الجدول بنفس البيانات ويكون المتغير هو الرقم المتسلسل وعدد السجلات المطلوبة هو الرقم الذي يحدده في النهاية. ان كان هذا هو المطلوب فخذ تلك الوحدة النمطية وجرب ووافنا بالنتائج Public sub GenrateRecords(byval tbl as string,byval Rfrist As byte,byval Rend As byte) Aim rec As Recordset,n as byte set rec = CurrentDb.OpenRecordset(tbl, dbOpenDynaset, dbSeeChanges) With rec for n = Rfrist To Rend 'هنا رقم اول سجل وآخر سجل تريد ادراجه .AddNew !field_ID = "String" & n 'string = البادئة النصية التي تريد !field1 = control1 'بدأ من هذا السطر اسماء الحقول في الجدول وما يقابلها بالنموذج !field2 = control2 !field3 = control3 !field4 = control4 .update next end with End Sub وتستدعيها هكذا Call GenrateRecords ("Table Name",1,15) بعد تغير ما يلزم تغيرها بالوحدة حسب مسميات الحقول لديك -
اقفال الفترة المالية ( المحاسبية )
أبو عبدالله الحلوانى replied to safari's topic in قسم الأكسيس Access
وعليكم السلام ورحمة الله وبركاته هذه سهلة يمكنك القيام بها بدون مساعدة ان شاء الله كل ما تحتاجه فكرة العمل الفكرة بسيطة ان شاء الله من وجهة نظري المتوضعة نضع حقل في جدول العمليات يحوي قيمة رقمية 0 - 1 أو true - false حسب رغبتك يتم تحديثها عند اغلاق الدورة المالية الي 1 وتأخذ القيمة 0 عند عدم الاغلاق طبعا الأمر سيحتاج الي آلية برمجية للتعامل مع هذا الحقل ومن فوائد هذا الحقل اننا سنوقف كل التعاملات مع السجل الذي يحوي القيمة 1 مثلا بهذا الحقل من تعديل أو اضافة أو حذف أو... لكون هذه المعاملة تم اقفالها ماليا أعتقد من الناحية المحاسبية ان عملية التعديل أو الاضافة لن تكون مسموحة علي دورة مالية منتهية لذي فكرة اعادة فتح الدورة المالية بعد الاقفال شيء خطأ محاسبيا ولكن ان كان ولا بد وحسب ما يتراءي لك من وجهة نظر لا أعلمها ففي الفكرة السابقة كفاية لكونك تعيد تحديث حقل الاقفال الي صفر وينتهي الأمر وتعود الدورة المالية للعمل مرة أخري أرجو أن يكون كلامي لا اشكال فيه تمنياتي بالتوفيق -
بغض النظر عن مواقع التواصل كيف يمكن استخدام طريقتكم لعرض الصفحات التي تتطلب متصفح ميزات غير متوفرة في تلك الأداة المصاحبة للأكسس حيث أن هذا الكود يعتمد علي اننا نقوم بكتابة الشفرة او نمررها كما فعلتم بمرفقكم المميز الفاتورة الالكترونية داخل الأداة وفقط <head> <meta http-equiv="X-UA-Compatible" content="IE=edge"> </head> باختصار كيف يمكن دمج هذا الكود مع كود الصفحة المطلوبة ليتسنا لنا عرضها علي اداة الويب بروزر الخاصة بالأكسس حيث ان هذا ما يحدث عند استدعاء بعض الصفحات علي هذه الأداة وجزاكم الله عنا خيرا
-
مكتبة الموقع - الفاتورة السعودية المبسطة
أبو عبدالله الحلوانى replied to أبو إبراهيم الغامدي's topic in قسم الأكسيس Access
جزاكم الله عنا خيرا لقد عمل المرفق بكل سلاسة وبشكل مذهل كالعادة فليس هذا الابداع بالشئ الجديد عليكم قد كنت فقدت الأمل في التعامل مع أداة الويب بروزر حتي سمعت كلماتكم هذه في اماكنية ترقية الأداة وأرجو ان يتسع وقتكم للرد علي استفساري البسيط هذا لدي صفحة اريد التعامل معها من خلال الأكسس كيف احقن هذه الصفحة بالكامل أو امرر عنوان هذه الصفحة بما تحتوي من شفرات بعد استخدام طريقتكم هذه للتعامل معها كمتصفح edge وجزاكم الله خيرا -
تلوين الحقول الفارغه في النموذج - مساعدة
أبو عبدالله الحلوانى replied to Radwan0's topic in قسم الأكسيس Access
وعليكم السلام ورحمة الله وبركاته يمكنك ان تضع هذا الكود في وحدة نمطية (Module) Public Sub ColorCurrentRec(frm As Form, RecKey As Control, ByVal bakColor As Integer, ByVal ForColor As Integer) Dim ctl As Control On Error Resume Next '=================================== 'The required color argument for QBColor function 'is a whole number in the range 0-15. ' 'The color argument has these settings: ' 'Number Color Number Color '0 Black 8 Gray '1 Blue 9 Light Blue '2 Green 10 Light Green '3 Cyan 11 Light Cyan '4 Red 12 Light Red '5 Magenta 13 Light Magenta '6 Yellow 14 Light Yellow '7 White 15 Bright White '============================================= For Each ctl In frm.Section(0).Controls With ctl ' If .Section = 0 Then 'you can change the condition as you want here .FormatConditions(0).Modify acExpression, , RecKey.Name & "=" & RecKey If Err.Number = 7966 Then Err.Clear .FormatConditions.Add acExpression, , RecKey.Name & "=" & RecKey End If If Err.Number <> 438 Then .FormatConditions(0).BackColor = QBColor(bakColor) .FormatConditions(0).ForeColor = QBColor(ForColor) .FormatConditions(0).FontBold = True End If ' Else ' Exit For ' End If End With Next ctl ثم تستدعيها من خلال الفورم الذي تريده هكذا 'ID = اسم الحقل الذي ستسند قيمة الشرط اليه ممكن تغير شرط التساوي داخل الوحدة النمطية الي ما تشاء او تجعل الحقل يساوي null '8 = هذه قيمة لون الخلفية للحقل ويمكن تغير القيمة من 0 - 15 '9 = هذه قيمة لون النص للحقل ويمكن تغير القيمة من 0 - 15 'حسب الجدول الموضح للقيم في الوحدة النمطية Call ColorCurrentRec(me, ID, 8, 9) تمنياتي بالتوفيق -
اريد كود يظهر رسائل او تنبيهات تلقائية مرتبط بالتاريخ
أبو عبدالله الحلوانى replied to ابو ميرال's topic in قسم الأكسيس Access
جرب هذا لعله يفيدك تمنياتي بالتوفيق Msgbox.accdb -
مشكلة تحويل اكسس الى SQL Server
أبو عبدالله الحلوانى replied to فراس النويلاتي's topic in قسم الأكسيس Access
بالاضافة الي ما تفضل به الاساتذة الكرام قد واجهتني مشكلتك عند التعامل مع السرفر لأول مرة وكانت المشكلة في عدم جلب المفتاح الرئيس لكل جدول فعند تصدير الجداول من الاكسس ببعض البرامج لا يتم تحديد المفاتيح الأساسية لكل جدول لذي تظهر الجداول بالأكسس مجمدة ولا تعمل وكانها غير موجودة أصلا لذي عليك الدخول الي السرفر والتعديل في تصميم الجداول لتحديد المفاتيح الأساسية لكل جدول هذا والله اعلم عودا أحمد @ابو محمد2 -
رغم كوني لست من الخبراء الذين تستدعيهم ولكن هذه تجربتي في التعامل مع الاسكربت لعلها تفيدك فقط بعد تصميم الاسكربت وتحديد متي اريد تنفيذ الوظيفة الخاصة به ( وفي الغالب بيكون الوقت اما قبل أو بعد شيئ ما) اقوم بوضعها بملف الستأب -- للبرنامج الخاص بي وفي العادة استخدم هذا البرنامج المجاني لعمل الملف التنفيذي لبرامجي والذي يسمي smart install maker وفي الشاشة التالية اضيف كل الاسكربتات التي اريد تشغيلها مع عملية التسطيب واحدد وقت تنفيذ كل اسكربت وزمن تنفيذ هذه الاسكربتات قبل الفك ام بعده تمنياتي بالتوفيق ارجو ان اكون قد افدتك بشئ
-
لو لاحظت اخي ردي الاول ستري اني قمت بعرض لطريقة الحساب اي اننا نقوم بعكس عملية الشراء في حالة مرتجع الشراء يعني كما في مثالك ارجعت من الصنف الذي اشتريته بـ 1 دينار عدد 1 صنف بقيمة؟؟! 1 دينار طبعا فكما اشتريته بـ 1 دينار عندما اقوم بارجاعه الي المورد سيرد الي 1 دينار اليس كذلك؟ وعندما بعت نفس الصنف بـ 2 دينار وقام المشتري برد 2 صنف ماذا تعتقد اني سأرد اليه من مبلغ اليس 4 دينار؟! اذا سيكون حساب المبلغ علي مثالك : صافي قيمة المشتريات = (10 صنف * 1 دينار = 10 دينار - 1 صنف * 1 دينار = 9 دينار) صافي قيمة المبيعات =( 5 صنف * 2 دينار = 10 دينار - 2 صنف * 2 دينار = 6 دينار) أما بالنسبة الي حساب الربح الناتج من عملية الشراء فينج من خلال المعادلة المحاسبية التالية: اجمالي الربح = (بضاعة اخر المدة + صفي المبيعات) - (بضاعة أول المدة + صافي المشتريات) أو المعادلة الرياضية التالية: (الكمية المباعة * سعر البيع) - ( الكمية المباعة * سعر الشراء) وكما في مثالك سيكون العمل بهذا الشكل الكمية المباعة هي (5-2=3) * 2 دينار = 6 دينار - (لكمية المباعة 3 * سعر الشراء 1 دينار = 3 دينار ) اذا الربح هو 3 دينار آسف علي الاطالة ارجو ان اكون فهمت مرادك بشكل صحيح
-
اليك اخي تلك الفكرة البسيطة والنصيحة ان اردت ان تضم بياناتك في جدول واحد: 1- اجعل جدول لرأس الفاتورة يضم (رقم الفاتورة - نوع الفاتورة (بيع شراء مرتجع) وكود العميل واجمالي قيمة الفاتورة ونوع السداد وقيمة السداد ...) 2- اجعل جدول لنوع العمليات (كود العملية - ونوع العملية - شراء , بيع , مرتجع بيع , مرتجع شراء) 3- اجعل جدول للأصناف يشمل ( كود الصنف - اسم الصنف - الكمية المتاحة - وسعر الشراء - سعر البيع) 4- وجدول لكل العمليات أو تفاصيل الفاتورة ويشمل ( رقم الفاتورة - كود العملية - كود الصنف - الكمية - القيمة - الاجمالي) هذا الجدول الأخير يمكن من خلاله عمل ما نريد من خلال الاستعلامات التجميعية بكل سهولة ويسر ان شاء الله تمنياتي بالتوفيق