تصميم نموذج "القيود اليومية"
قيود اليومية هي السجلات المحاسبية التي تسجل كل المعاملات المالية التي تحدث في المؤسسة، وتسجل هذه المعاملات طبقًا للمعايير المحاسبية المتبعة، بطريقة منظمة وسهلة للمراجعة. ويعكس نظام قيود اليومية والقيد المزدوج أهمية الدقة والتنظيم في المحاسبة. من خلال تسجيل كل معاملة بشكل دقيق، يمكن للمؤسسات الحصول على صورة واضحة عن حالتها المالية، مما يساعد في اتخاذ القرارات المناسبة.
![]() |
إنشاء قيد يومية |
في عالم مليء بالبيانات والمعلومات، نجد أنفسنا أحيانًا غارقين في بحر من الأرقام والتفاصيل. هنا، يأتي الإكسس ليكون بمثابة المنارة التي تقودنا إلى بر الأمان. تخيل لحظةً تُسجل فيها كل تفاصيل يومك، كل فكرة، وكل إنجاز، وكأنك تُدوّن قصة حياتك بيديك.
إنشاء قيود يومية في الإكسس ليس مجرد عملية تقنية، بل هو تجربة تعكس شغفك لتنظيم أفكارك وتحليل تجاربك. كل قيد تضيفه هو خطوة نحو تحسين ذاتك وفهم العالم من حولك بشكل أفضل.
مع كل سجل جديد، تُصبح أكثر وعيًا بما يحدث في حياتك، وتبدأ في رؤية الأنماط والاتجاهات التي قد تكون مخفية. الإكسس يمنحك القدرة على استكشاف إمكانياتك، وتحقيق أهدافك بطريقة منظمة وفعالة.
دعنا نبدأ هذه الرحلة معًا، حيث تُصبح كل قيد يومي بمثابة لبنة في بناء مستقبل أكثر إشراقًا، مليء بالإنجازات والمعرفة.
مفهوم القيد المزدوج:
تعتبر قيود اليومية أساسًا جوهريًا في المحاسبة، حيث تعمل كنقطة البداية لتوثيق جميع المعاملات المالية، ومع تزايد الحاجة إلى نظام محاسبي فعال، تبرز أهمية استخدام برامج مثل Microsoft Access لإنشاء نماذج تفاعلية تسهل عملية إدخال البيانات وتقديمها بشكل جذاب.
يعتمد مبدأ القيد المزدوج على فكرة أن كل معاملة تؤثر على حسابين على الأقل. على سبيل المثال عند شراء سلعة، يزيد أحد الأصول (السلع) ويقل أحد الأصول (النقدية).
♢ مكونات القيد المزدوج:
- المدين (Debit):
يمثل الزيادة في الأصول أو النفقات.
مثال: إذا اشتريت بضاعة، فإنك تزيد من رصيد البضاعة (مدين).
- الدائن (Credit):
يمثل الزيادة في الخصوم أو الإيرادات.
مثال: إذا دفعت نقدًا، فإنك تقلل من الرصيد النقدي (دائن).
♢ قاعدة القيد المزدوج:
يجب أن يتساوى مجموع المدينين مع مجموع الدائنين في كل معاملة.
هذا النظام يضمن الحفاظ على المعادلة المحاسبية:
الأصول= الخصوم + حقوق الملكية
وهذا يعني أن أي زيادة في الأصول يجب أن يقابلها زيادة متساوية في الخصوم أو حقوق الملكية.
♢ مثال على قيد مزدوج:
المعاملة: شراء أثاث بقيمة 1,000 دولار نقدًا.
القيود المحاسبية:
المدين: حساب الأثاث (أصول) 1,000 دولار.
الدائن: حساب النقدية (أصول) 1,000 دولار.
الأثاث 1,000
النقدية 1,000
طما نلاحظ يُظهر السجل أن الأثاث زاد بقيمة 1,000 دولار بينما انخفض النقد بنفس القيمة.
♢ أهمية القيد المزدوج:
- التوازن المالي: يساعد على التأكد من توازن حسابات المؤسسة.
- الكشف عن الأخطاء: في حالة عدم توازن الدفاتر، يمكن أن يشير ذلك إلى وجود أخطاء في المدخلات.
- الشفافية: يوفر سجلاً دقيقًا يمكن استخدامه في التدقيق والمراجعة المالية.
♢ استخدامات قيود اليومية:
- تسجيل المعاملات اليومية: مثل المبيعات والمشتريات والمصروفات.
- تحضير التقارير المالية: يسمح بتجميع المعلومات المدونة لإعداد ميزانية أو تقرير مالي.
♢ خطوات تسجيل قيود اليومية:
- تحديد حدث مالي: تحديد المعاملة التي ستسجل.
- تحديد الحسابات المعنية: تحديد الحسابات التي ستتأثر (مدين ودائن).
- تحديد القيم: تعيين قيمة القيد.
- تدوين القيد في دفاتر اليومية: تسجيل القيد بشكل صحيح في دفتر اليومية.
- تحديث السجلات: نقل القيد إلى دفاتر الحسابات العامة.
♢ كيفية إنشاء قيد يومية في الأكسس:
- مصدر البيانات:
تُستمد البيانات المعروضة في هذا النموذج من جدولي "entry2"
- استعلام البيانات:
الاستعلام المستخدم لجلب البيانات هو:
SELECT entry1.entry1_no, entry1.entry1_date, entry1.entry1_time, entry1.entry1_user, entry1.entry1_note, entry1.entry1_mrigrate, entry1.[transact type_1] FROM entry1 WHERE (((entry1.entry1_no)>0));
هذا الاستعلام يجلب مجموعة من الحقول من كلا الجدولين، مثل: تاريخ القيد، وقت القيد، اسم المستخدم، مبلغ المدين والدائن، رقم الحساب، ملاحظات القيد، رقم القيد، اسم الحساب الفرعي، وبيانات أخرى.
- حقول النموذج:
هذا النموذج يحتوي على الحقول التالية:
- رقم القيد: entry1_no
من قائمة ورقة الخصائص نافذة بيانات نسوي القيمة الافتراضية:
=DMax("[entry1_no]";"entry1";"[transact type_1] =form![t1]")+1
- تاريخ القيد: entry1_date
نريد ان نعمل حدث بعد التحديث من قائمة ورقة الخصائص نافذة بيانات نسوي حدث بعد التحديث
Private Sub entry1_date_AfterUpdate()
DoCmd.SetWarnings False
DoCmd.OpenQuery "update date", acViewNormal
[w1].Requery
End Sub
♢ شرح الكود:
هذا هو كود إجراء فرعي (Sub) في برنامج Microsoft Access، والذي يتم تنفيذه بعد تحديث (AfterUpdate) حقل "entry1_date" في نموذج ما.
نشرح هذا الكود سطر بسطر:
Private Sub entry1_date_AfterUpdate()
هذا هو بداية الإجراء الفرعي (Sub) الذي سيتم تنفيذه بعد تحديث حقل "entry1_date".
"Private" يعني أن هذا الإجراء الفرعي ليس متاحًا للوصول إليه من خارج هذا النموذج.
DoCmd.SetWarnings False
هذا السطر يقوم بإيقاف عرض الإنذارات والتحذيرات في برنامج Access أثناء تنفيذ الكود.
هذا قد يكون مفيدًا لتجنب ظهور رسائل إنذار غير مرغوب فيها للمستخدم.
DoCmd.OpenQuery "update date", acViewNormal
هذا السطر يقوم بتنفيذ استعلام يُدعى "update date".
acViewNormal يحدد أن هذا الاستعلام سيتم تنفيذه في وضع العرض العادي. هذا الاستعلام يقوم بتحديث بيانات مرتبطة بحقل "entry1_date".
[w1].Requery
هذا السطر يقوم بإعادة استعلام عنصر التحكم "[w1]" في النموذج. هذا قد يكون ضروريًا لتحديث العرض بعد تنفيذ الاستعلام "update date".
أخيراً:
هذا الكود يتم تنفيذه بعد تحديث حقل "entry1_date" في النموذج. وهو يقوم بتنفيذ استعلام لتحديث البيانات المرتبطة بهذا التاريخ، مع إيقاف عرض الإنذارات والتحذيرات. ثم يقوم بتحديث عنصر التحكم "[w1]" لعرض البيانات المحدثة.
- البيان
- اسم الحساب
- بيانات القيد: (مثل المبالغ، الوحدات، الخصم، إلخ)
- اسم الحساب:
ونعمل له مصدر عنصر التحكم من ورقة الخصائص نافذة بيانات التالي: =[w1].[Form]![subacountar]
- الأزرار:
النموذج يحتوي على زري "الإغلاق" و "الحفظ".
زر "الإغلاق" يقوم بإغلاق النموذج، وزر "الحفظ" يقوم بحفظ البيانات المدخلة في النموذج.
نموذج "القيود اليومية" والذي يستمد بياناته من جدولي "entry2" و "subaccountes". ويسمح للمستخدم بإدخال وتعديل قيود محاسبية مع توفير إمكانية الحفظ والإغلاق.
♢ الخطوة التالية: عمل نموذج فرعي داخل النموذج الرئيسي واسمه w1
يتكون مصدر السجلات للنموذج الفرعي من جدولين والكود التالي هو مصدر للنموذج الفرعي
SELECT entry2.entry2_date, entry2.entry2_time, entry2.entry2_user, entry2.amount_debtor, entry2.amount_creditor, entry2.acco, entry2.entry2_note, entry2.entry2_no, subaccountes.subacountar, entry2.entry2_mrigrate, entry2.[Cost Center], entry2.[item code], entry2.unit, entry2.[in], entry2.out, entry2.price, entry2.discount, entry2.[net in], entry2.[net out], entry2.[transact type]
FROM subaccountes INNER JOIN entry2 ON subaccountes.code = entry2.acco;
نقوم بعمل حدث عند الادخال من ورقة الخصائص
يحتوى على الكود التالي:
Private Sub w1_Enter()
If IsNull([entry1_note]) Then
ms$ = "descrebtion Does not contain data"
ti$ = "error"
re = MsgBox(ms$, 0, ti$)
DoCmd.CancelEvent
[entry1_note].SetFocus
End If
End Sub
هذا الكود هو إجراء فرعي (Sub) في برنامج Microsoft Access، والذي يتم تنفيذه عند دخول عنصر التحكم "w1" في النموذج.
دعنا نشرح هذا الكود سطر بسطر:
Private Sub w1_Enter()
هذا هو بداية الإجراء الفرعي (Sub) الذي سيتم تنفيذه عند دخول عنصر التحكم "w1" في النموذج.
"Private" يعني أن هذا الإجراء الفرعي ليس متاحًا للوصول إليه من خارج هذا النموذج.
If IsNull([entry1_note]) Then
هذا السطر يفحص ما إذا كان الحقل "entry1_note" فارغًا أم لا (القيمة Null).
ms$ = "descrebtion Does not contain data"
إذا كان الحقل "entry1_note" فارغًا، فإن هذا السطر يقوم بتعيين رسالة خطأ في المتغير "ms$".
ti$ = "error"
هذا السطر يقوم بتعيين عنوان نافذة الرسالة في المتغير "ti$".
re = MsgBox(ms$, 0, ti$)
هذا السطر يقوم بعرض رسالة الخطأ في نافذة منبثقة باستخدام دالة MsgBox.
البارامتر 0 يشير إلى أنه لا توجد خيارات إضافية في نافذة الرسالة.
DoCmd.CancelEvent
هذا السطر يقوم بإلغاء الحدث الأصلي الذي أدى إلى تنفيذ هذا الإجراء الفرعي. نقوم بعمل حدث عند الادخال من ورقة الخصائص
[entry1_note].SetFocus
هذا السطر يقوم بتحويل التركيز إلى الحقل "entry1_note" في النموذج. وهذا قد يكون مفيدًا لإعطاء المستخدم فرصة لإدخال بيانات في هذا الحقل.
End If
هذا هو نهاية التحقق من شرط فراغ الحقل "entry1_note".
هذا الكود يتم تنفيذه عند دخول عنصر التحكم "w1" في النموذج. إذا كان الحقل "entry1_note" فارغًا، فإنه يقوم بعرض رسالة خطأ للمستخدم، إلغاء الحدث الأصلي، وتحويل التركيز إلى "entry1_note" لإعطاء المستخدم فرصة لإدخال البيانات. هذا يساعد على التأكد من إكمال جميع الحقول المطلوبة.
تحميل الملف من ميديا فاير
نتشرف بتعليقاتكم ووضع آرائكم