-
Posts
631 -
تاريخ الانضمام
-
تاريخ اخر زياره
Community Answers
-
محب العلم's post in أرجو المساعده في حساب الرصيد للفترة السابقه. was marked as the answer
نعم أخي lost2007
لو ترفق مثال كما قال أخي knight يكون أفضل ولكن على كل الأحوال :
يكون ذلك بواسطة اقتران المجموع على جدول الحركات الذي فيه المبالغ مثلا
حقل الدائن ... Pays
حقل المدين ... Depts
حقل تاريخ الحركة ... tDate
وطبعا حقل الرصيد ... Balance
لنفرض أن الجدول هو custDetails
الطريقة في التقرير تعمل مربع نص وفي مصدره تكتب الكود الآتي
كود = Nz(DSum("Pays", "custDetails", "tDate < #1-1-2008# "), 0) - Nz(DSum("Depts", "custDetails", "tDate < #1-1-2008# "), 0)
مع وافر الاحترام
-
محب العلم's post in ( تمت الفائدة ) - مشكلة في الحماية والصلاحيات was marked as the answer
حياك الله أخي أبا محمد
1. تم في المرفق بناء الجدول المشار اليه في مشاركتي السابقة وهو
usersloginout ويحتوي على الحقول username ، userlogin ، userlogout ، notes والتي تم تفسيرها سابقا
2. تم بناء نموذج جديد وتسميته login وهذا النموذج يتم تشغيله تلقائيا بمجرد فتح القاعدة من خيارات بدء التشغيل وفي هذا النموذج يتم عمل ما يآتي
في حدث عند التحميل للنموذج يتم اضافة سجل للجدول السابق يسجل فيه اسم المستخدم ووقت دخوله وثم يتم اغلاق النموذج وهكذا يبدو الأمر للمستخدم كأن شيئا لم يحدث والحقيقة أنه يتم تسجيل سجلا جديدا في الجدول كلما يدخل مستخدم دون أن يشعر
3. في نموذج الموظفين وفي حدثي بعد التحديث و بعد الإدراج (يعني بعد تعديل البيانات أو بعد إضافة سجل جديد ) يتم أضافة سجلات جديدة في جدول المستخدمين ووضع كلمة تعديل او اضافة حسب ما تم عمله.
بالنسبة لعرض المستخدمين الحاليين فهو سهل جدا وذلك يتم بعرض السجلات من الجدول التي يكون فيها وقت الخروج فارغا
بالنسبة لتسجيل الخروج أيضا سهل كما ذكرت لك سابقا بتعديل وقت الخروج في السجل الخاص بالمستخدم ولكن هذا الأمر لن يتم إلا بعد الانتهاء من البرنامج كاملا حيث ستتم برمجته في زر الخروج من البرنامج
تفضل التعديل Data.zip
مع وافر الاحترام
-
محب العلم's post in مثال لتبادل الرسائل بين مستخدمي البرنامج على الشبكة - ( عنوان معدل ) was marked as the answer
حياك الله أخي abumohamed
صممت لك غرفة الدردشة المطلوبة
تفضل Data.zip
مع وافر الاحترام
-
محب العلم's post in ترقيم فواتير مخصص was marked as the answer
حياك الله
تفضل التعديل شامل الطريقة الأخيرة
exampleUpdate2.zip
مع وافر الاحترام
-
محب العلم's post in معرفة السعر عن طريق جدول أسعار was marked as the answer
وعليكم السلام ورحمة الله وبركاته
تفضل أخي ibrteeb،
التعديل المطلوب : price.zip
مع وافر الاحترام
-
محب العلم's post in سؤال في قاعدة adp was marked as the answer
وعليك السلام أخي أبا الوليد
الرقم وله أنواع طبعا :
Byte تصبح Tinyint Integer تصبح Smallint Long Integer تصبح Int Simple تصبح Real Double تصبح Float Decimal تصبح Numeric, decimal Money تبقى Money التاريخ/الوقت Date/Time تصبح Datetime, smalldatetime الترقيم التلقائي AutoNumber تصبح Int (Identity) النص text تصبح Varchar, nvarchar المذكرة Memo تصبح Text, ntext نعم / لا Yes/No تصبح Bit
مع فائق الاحترام
-
محب العلم's post in كيفية تحويل التقويم الميلادى فى اكسس 2007 إلى هجرى was marked as the answer
وعليكم السلام ورحمة الله وبركاته
حياك الله أخي غالي ومعك حق ،
الطريقة هي في حدث عند التحميل للنموذج التي تريد إظهار أداة التاريخ بالهجري تضع الكود التاالي
كود Application.SetOption "Use Hijri Calendar", 1
والنتيجة تكون كما يلي :
مع وافر الاحترام والتقدير
-
محب العلم's post in حل تعذر Microsft Access تغيير دليل العمل إلى C:\my document - ( معدل ) was marked as the answer
حياك الله أخي الكريم
المشكلة بسيطة بإذن الله
أدخل إلى الدائرة في يمين أعلى الشاشة ثم إلى خيارات أكسيس
ثم انظر إلى اسم المجلد الإفتراضي وهنا تكمن المشكلة وهي إما
1. أن هذا المجلد يشير إلى موقع غير صحيح يعني موقع ليس فيه برنامج الأكسيس ... أو
2. أن طول الكلام أكثر من 360 حرفا وهذا ممنوع ايضا
مع وافر الاحترام
-
محب العلم's post in كيفية كتابة between في الكود was marked as the answer
السلام عليكم
أخي ابراهيم ،
الحل هكذا :
كود If Time >= a And Time <= b Then MsgBox "حياك الله أخي ابراهيم" End If
أما بالنسبة للعملية between فإنها تستخدم في جزء where في جملة select
مع وافر الاحترام
-
محب العلم's post in لا استطيع كتابة التاريخ عن طريق الكود !!!! was marked as the answer
السلام عليكم
مع شكري وتقديري لأخي منذر عساج على جهوده المتواصلة
عزيزي ابراهيم ،
إن ما يحدث هنا هو من الممنوعات المباحة فإستخدام حقل بأسم no أو name أو year أو date في جدول لا يؤدي إلى خطا مباشر في تعريفه في الجدول ولكنه للأسف يؤدي لخطأ قاتل في البرمجة عندما يتم استخدامه كما حدث معك وبل أكثر من ذلك قد يؤدي إلى الخطأ 2456 المشهور والذي ترشدك ميكروسوفت عندما تراجع حيثيات الخطأ بأن تغير أسماء بعض الحقول وهذا الإرشاد غير كافي .
ما يجب فعله لحل المشكلة هو أن تقوم بتغيير اسم الحقل إلى شيء أخر مثل myno أو myname أو myyear أو mydate على الترتيب ثم تفتح قاعدة بيانات جديدة وتستورد جميع العناصر من السابقة لها وذلك يؤدي إلى اصلاح المشكلة .
ibraheem.zip
تذكير : لا تستخدم في أسماء الحقول no أو name أو year أو date
مع وافر الاحترام والتقدير
-
محب العلم's post in التحكم بحركات الماوس يمينا ويسارا وأعلى وأسفل was marked as the answer
حياك الله اختي نرجس الورد ،
قمت بعمل مثال لم تطلبين بفكرة من تصميمي غير التي عرضتها لك سابقا
2003_2007.zip
مع وافر الاحترام
-
محب العلم's post in كيف يمكن طباعة تقارير في اكثر من طابعة was marked as the answer
السلام عليكم
حياك الله أخي ،
إذا كنت تستخدم أكسيس 2002 أو أعلى فمبدئياً لإختيار طباعة محدد نستخدم كود مثل هذا
كود Set Application.Printer = Application.Printers("HP LaserJet Series II") ولمعرفة الطابعة الحالية المعرفة معياريا نسنخدم
كود dim strDefaultPrinter as string strDefaultPrinter = Application.Printer.DeviceName ويفضل استخدام المنطق البرمجي الأتي
كود إقرأ معلومات الطابعة الإفتراضية
dim strDefaultPrinter as string strDefaultPrinter = Application.Printer.DeviceName ثم عين الطابعة التي تريد الطباعة عليها مثلا هكذا
Set Application.Printer = Application.Printers("HP LaserJet Series II") إعمل شيئا مثل طباعة تقريرك
ثم أرجع الطابعة الإفتراضية
Set Application.Printer = Application.Printers(strDefaultPrinter) أملا منك التجربة وموافاتي بالنتيجة فهناك المزيد من الأكواد المتعلقة بهذا الموضوع
مع وافر الاحترام
-
محب العلم's post in تفعيل او عدم تفعيل حقل was marked as the answer
وعليكم السلام ورحمة الله وبركاته
لا أعتقد أنه يوجد حل مباشر كما في النموذج المفرد ، والصعوبة هنا أن طريقة العرض هي نماذج مستمرة لذا وجب التحايل على المسألة
يمكن استخدام التنسيق الشرطي ولكن من المعروف أنه لا يعمل إلا على text أو combo لذلك عملت مربع نص غير منضم وعملت التنسيق الشرطي عليه وجعلته خلفية لمربع الاختيار
طبعا عن طريف التنسيق يمكن التمييز بلوني خلفية مختلفين لمربع النص حسب القيمة الموجود في الرصيد ومقارنتها مع الصفر.
أما طريقة عدم تفعيل مربع الأختيار فهي بتعريف حدث عند الدخول إليه فإذا كانت قيمة الرصيد صفر نقلنا التحكم إلى الرصيد.
علما أننا نستطيع أن نتستخدم ما نشاء دون علاقة بين الحلين يعني ممكن الاستغناء عن مربع النص والتنسيق الشرطي والإبقاء على حدث الدخول، ولكني أحببت تمييز مربع الاختيار عندما يكون محبطا (غير مفعل).
الملف المعدل : test2.zip
مع وافر الاحترام
-
محب العلم's post in كيف تحويل Null في الاستعلام الى القيمة صفر was marked as the answer
نعم أخي الشقاوي ، صدقت هي بواسطة nz
مثلا لو كان عندك متغير a و b وتريد جمعهما
طبعا في الحقل الذي ستظهر فيه النتيجة يجب أن تضع a + b فتحدث المشكلة التي تذكرها وهي عدم ظهور النتييجة إذا كانت قيمة a او قيمة b هي null
لحل المشكلة نستخدم الاقتران nz هكذا
كود
nz(a,0) + nz(b,0) وهكذا تستبدل القيمة بصفر إذا كانت null لكل من a و b
------------
شرح إضافي ليس له علاقة بسؤالك
كما يمكن استخدام هذا الاقتران أي nz لإرجاع أي قيمة
مثلا
لنفرض "a = "naser
فإن نتيجة ("nz(a,"samer
ستكون naser لأن قيمة a ليست null
أما إذا كانت قيم a هي null فإن النتيجة لتعبير السابق ستكون samer
-----------------------
وللتأكد من فهم طرق استخدم الاقتران nz حاول أن تعرف ما هي نتيجة msgbox في البرنامج الأتي :
كود
Private Sub Command0_Click() Dim a, b, c As Integer Dim n As String n = "محب العلم يشكر إخوانه الأعضاء على تفاعلهم مع هذا السؤال" a = Null b = 50 c = Nz(a, 50) + Nz(b, 0) n = Nz(Left$(n, 10), "شكرا") MsgBox n & "يشكرك " & c & Nz(Null, "مرة ") End Sub الجواب الصحيح هومحب العلم يشكرك 100 مرة
مع وافر الاحترام
-
محب العلم's post in كيف أجعل ال default value للحقل فى جدول التفاصيل تأخذ آخر قيمة حقل فى was marked as the answer
الأخ ميدو طه ،
السؤال الأول في القيمة الأفتراضية للحقل تضع :
كود =DLast("[p#]","ph")
السؤال الثاني :
يجب إنشاء العلاقة بشكل صحيح بين الأساس والتفصيل
تحياتي
-
محب العلم's post in شرح وضع مفتاح من عدة حقول ( معدل) was marked as the answer
حياك الله ،
هذا مثال مصور MultiFieldKey.rar
تحياتي
-
محب العلم's post in طلب كود من الحذف الا عن طريق رقم سري was marked as the answer
حياك الله أخي ،
العملية تتم بفحص كلمة السر في حدث عند الحدف (يعني قبيل الحذف) تضع الكود الآتي :
كود
Private Sub Form_Delete(Cancel As Integer) TimerId = SetTimer(0, 0, 1, AddressOf TimerProc) str_Title = "إدخال كلمة المرور" str_Prompt = "الرجاء إدخال كلمة مرور" If InputBox(str_Prompt, str_Title) = "good" Then Exit Sub Else Cancel = True End If End Sub
لاحظ هنا أننا من خلال صندوق الادخال InputBox ندخل كلمة السر قبل الحذف فإن كانت صحيحة لا نعمل شيء بمعنى exit sub نخرج من الإجراء، وإن كانت خاطئة نلغي عملية الحذف وذلك عن طريق الكود cancel = true حيث cancel كما تلاحظ هي معلمة الحدث .
أما بالنسبة لطباعة النجوم عند إدخال كلمة السر في صندوق الإدخال فهذه لوحدها حكاية وهي مرتبطة بالكود الموجود في الوحدة النمطية التي في المثال والتي يتم تفعيلها قبيل طلب صندوق الإدخال بواسطة الجمل الآتية
كود TimerId = SetTimer(0, 0, 1, AddressOf TimerProc) str_Title = "إدخال كلمة المرور" str_Prompt = "الرجاء إدخال كلمة مرور"
إذا أردت حل بسيط جدا بدون النجوم stars (****) التي تظهر مكان كلمة السر يكون الحل هكذا
كود
Private Sub Form_Delete(Cancel As Integer) If InputBox("إدخال كلمة المرور", "الرجاء إدخال كلمة مرور") = "good" Then Exit Sub Else Cancel = True End If End Sub
وبإمكانك في هذه الحالة حذف الوحدة النمطية
delete.rar
أنصحك بالحل الكامل وهو الحل الأول
تحياتي لك
-
محب العلم's post in نقل محتويات مجلد من مسار إلى آخر was marked as the answer
الاخ حسن محمد ،
وأخيرا توصلت إلى الحل المطلوب وهو هكذا
Private Sub Command1_Click() Dim FSO As Object, fsoFolder As Object Dim strOldFolder As String Dim strNewFolder As String 'Set variables Set FSO = CreateObject("Scripting.FileSystemObject") strOldFolder = Me.FromFolder strNewFolder = Me.ToFolder 'Test for folder existence If FSO.FolderExists(strOldFolder) Then Set fsoFolder = FSO.GetFolder(strOldFolder) 'Check for new folder existence, create if not If Not FSO.FolderExists(strNewFolder) Then FSO.CreateFolder (strNewFolder) End If 'Copy folder contents On Error Resume Next FSO.CopyFolder Source:=strOldFolder, Destination:=strNewFolder End If End Sub
وإليك المثال : CopyFolder.rar
تحياتي
-
محب العلم's post in لا يعمل الاستعلام إلا بعد ادخال سجل الابن؟! was marked as the answer
تفضل أخي سامي : samiUpdatev3.rar
تحياتي
-
محب العلم's post in الغاء كلمة المرور في الاكسس 2007 was marked as the answer
السلام عليكما
أخي أبا أكرم (أكرمك الله) وشكرا لك
أخي أبا نجود سأنجدك بإذن الله
لعمل الباسورد اتبع الخطوات الأتية واهمها الأولى أن تفتح القاعدة في الوضع الخاص
ولإلغاء الباسورد عندما تكون معينة كما يأتي
تحياتي
-
محب العلم's post in ادخال جديد للجدول عن طريق insert into - (عنوان معدل) was marked as the answer
تفضل worker.rar
-
محب العلم's post in ترقيم الصفحة اسفل التقرير لا يعمل عندما يكون النموذج و التقرير منبثقان was marked as the answer
وهذا المثال لنموذج وتقرير منبثقان
SL20875.rar
تحياتي