-
Posts
9975 -
تاريخ الانضمام
-
تاريخ اخر زياره
-
Days Won
406
نوع المحتوي
المنتدى
مكتبة الموقع
معرض الصور
المدونات
الوسائط المتعددة
كل منشورات العضو jjafferr
-
وعليكم السلام 🙂 اذا كانت العملية الحسابية بين حقول في النموذج ، فلا داعي لإستعمال المتغير ، مثلا : if me.txt1 > me.txt2 then me.txt1= me.txt2 * 50 endif او me.txt1= me.txt1 + (me.txt2 * 50 / 5) او تاريخ بكرة me.Tomorrow= date() + 1 . بينما اذا اردت ان تحتفظ بقيمة معينه مؤقتا في الكود ، ثم تحتاج للقيمة مرة اخرى ، فالحفظ يكون في متغير ، مثلا : هذا مسار الصورة Application.currentproject.path & "\images\" & me.Project_Name & "\" & me.item_Number & ".jpg" فبدل ان استخدم هذا السطر الطويل ، وكل مرة يضطر الاكسس لقراءة قيم الحقول من النموذج if dir(Application.currentproject.path & "\images\" & me.Project_Name & "\" & me.item_Number & ".jpg")="" then me.img.picture = Application.currentproject.path & "\images\" & me.Project_Name & "\" & me.item_Number & ".jpg" else msgbox "لم يتم الحصول على الصورة في المسار التالي" & vbcrlf & _ Application.currentproject.path & "\images\" & me.Project_Name & "\" & me.item_Number & ".jpg" me.img.picture="" me.img2.picture = Application.currentproject.path & "\images\" & me.Project_Name & "\" & me.item_Number & ".jpg" end if نستطيع اعطاء المسار الى متغير ، ثم نستعمل المتغير وبما ان المسار عبارة عن نص dim myFile as string myFile = Application.currentproject.path & "\images\" & me.Project_Name & "\" & me.item_Number & ".jpg" if dir(myFile)="" then me.img.picture = myFile else msgbox "لم يتم الحصول على الصورة في المسار التالي" & vbcrlf & myFile me.img.picture="" me.img2.picture = myFile end if جعفر
-
السلام عليكم 🙂 هذا تعديل على المشاركة اعلاه ، وبه تعمل بقية صيغ الصوت مثل wav و mp3 🙂 الوحدة النمطية التالية ، تعمل على النواتين 32بت و 64بت: Option Compare Database Option Explicit Declare PtrSafe Function mciSendString Lib "winmm.dll" Alias "mciSendStringA" _ (ByVal lpstrCommand As String, _ ByVal lpstrReturnString As Any, _ ByVal uReturnLength As Long, _ ByVal hwndCallback As Long) As Long ' ' the above API will not work if there is a space in the file path, ' so use the old DOS trick to get a short name path for this file, then play it ' Function get8_3FullFileName(ByVal sFullFileName As String) As String ' ' Convert the normal path to the old DOS 8.3 path ' this solves the problem of spaces in the path ' Dim FSO As Object: Set FSO = CreateObject("Scripting.FileSystemObject") get8_3FullFileName = FSO.GetFile(sFullFileName).ShortPath End Function Public Sub PlaySound(SoundFile As String) SoundFile = get8_3FullFileName(SoundFile) If mciSendString("play " & SoundFile, 0&, 0, 0) <> 0 Then MsgBox "The Sound Did Not Play!" End If End Sub Public Sub StopSound(SoundFile As String) SoundFile = get8_3FullFileName(SoundFile) If mciSendString("close " & SoundFile, 0&, 0, 0) <> 0 Then MsgBox "Could't stop The Sound!" End If End Sub . ومن النموذج ناديها هكذا : اذا كان ملف الصوت في نفس ملف البرنامج Private Sub Form_Current() Call PlaySound(Application.CurrentProject.Path & "\ringin.wav") 'Call PlaySound(Application.CurrentProject.Path & "\ringin.mp3") End Sub او في اي ملف آخر Private Sub Form_Current() Call PlaySound("D:\mySounds\ringin.wav") 'Call PlaySound("D:\mySounds\ringin.mp3") End Sub جعفر Play Sound.zip
-
وعليكم السلام 🙂 احنا عادة نتعامل مع اصحاب الهمة ، بس الآن تعاملنا بالهمة شخصيا 🙂 مو علوم خبر 🙂 استعمل الوحدة النمطية التالية ، اللي تعمل على النواتين 32بت و 64بت: Option Compare Database Option Explicit Declare PtrSafe Function apisndPlaySound Lib "winmm" Alias "sndPlaySoundA" _ (ByVal filename As String, ByVal snd_async As Long) As Long Function PlaySound(sWavFile As String) ' Purpose: Plays a sound. ' Argument: the full path and file name. If apisndPlaySound(sWavFile, 1) = 0 Then MsgBox "The Sound Did Not Play!" End If End Function . ومن النموذج ناديها هكذا : اذا كان ملف الصوت في نفس ملف البرنامج Private Sub Form_Current() Call PlaySound(Application.CurrentProject.Path & "\ringin.wav") End Sub او في اي ملف آخر Private Sub Form_Current() Call PlaySound("D:\mySounds\ringin.wav") End Sub جعفر Rulesets.zip
-
اين هى اذونات المستخدمين بـ اكسيس 2013 , 2016 , 2019
jjafferr replied to EMM2020's topic in قسم الأكسيس Access
اذن هنا مربط الفرس !! -
اين هى اذونات المستخدمين بـ اكسيس 2013 , 2016 , 2019
jjafferr replied to EMM2020's topic in قسم الأكسيس Access
اعتقد انها السبب في عدم فتح البرنامج المعمول على الاكسس 2019 ، بواسطة اكسس 2010 🙂 جعفر -
اين هى اذونات المستخدمين بـ اكسيس 2013 , 2016 , 2019
jjafferr replied to EMM2020's topic in قسم الأكسيس Access
وتنسيقات النماذج والتقارير الجديدة 🙂 جعفر -
الآن فقط عرفنا ايش المشكلة 🙂 الصور ، مثل البرواز وشعار المحل : اذا كانت الصورة في مجلد ، فتأكد بأن المسار نفسه موجود في الكمبيوترات ، لهذا السبب ، يُفضل بأن تحفظ الصور في مجلد داخل مجلد البرنامج ، فتشير اليه عن طريق Application.CurrentProject.Path & "\Logo_Folder\" & myLogo.jpg ، مثلا ، تأكد بأن حجم الصوره ليست كبيرة (الطول والعرض) ، فلست بحاجة الى صورة بحجم 1900x4000 فهذه الصورة تحتاج الى RAM كبير من الطابعة ، ومعظم الطابعات الرخيصة لا تملك هذه الكمية المطلوبة من RAM ، وعلى اساسها ، لا يمكنها ان تطبع الصورة. مثلا الشعار كما في صورك المرفقة ، يجب ان لا يزيد حجمه عن 500x400 مثلا. التظليل : اختار من الالوان العادية ، وقد تفيدك هذه المشاركة: جعفر
-
هل هناك حل لمشكلة تجاوز مورد النظام في استعلام اكسس 2010
jjafferr replied to haniameen's topic in قسم الأكسيس Access
عفوا اخوي هاني ، اليك حدود وامكانيات الاكسس ، والتي لا يمكن تجاوزها ، وإلا ستحصل على خطأ ، وبالنسبة لسؤالك ، ابحث امكانيات الاستعلام هنا : مواصفات Access - Access (microsoft.com) جعفر -
اين هى اذونات المستخدمين بـ اكسيس 2013 , 2016 , 2019
jjafferr replied to EMM2020's topic in قسم الأكسيس Access
وعليكم السلام 🙂 اذا استعملت صيغة mdb او mde ، فستجد هذا الخيار في جميع اصدارات الاكسس ، واما اذا استعملت صيغة accdb او accde ، فمايكروسوفت قامت بحذف هذه الخاصية ، ويمكنك البحث في المنتدى عن الطرق البديلة لاذونات المستخدمين 🙂 جعفر -
اريد اظهار ايام الاسبوع عند اخيار التاريخ
jjafferr replied to alizabarh's topic in قسم الأكسيس Access
👍 -
اريد اظهار ايام الاسبوع عند اخيار التاريخ
jjafferr replied to alizabarh's topic in قسم الأكسيس Access
ارفق مرفقك فكرة بسيطة وجميلة 🙂 Private Sub Datee_AfterUpdate() Me.Day = Format(Me.Datee, " dddd ") End Sub جعفر -
اريد اظهار ايام الاسبوع عند اخيار التاريخ
jjafferr replied to alizabarh's topic in قسم الأكسيس Access
وعليكم السلام 🙂 =Weekday(me.DateField) جعفر -
-
والسبب هو : يقوم الاكسس بعمل فلترة/تصفية للسجلات حسب المعيار ، ثم يقوم بحساب السجلات الخاصة بالحقل المطلوب ، بينما في الواقع انت لا تريد حساب عدد السجلات التي في الجدول لحقل معين ، يهذا المعيار ، إنما انت تريد حساب عدد السجلات 🙂 ولجعل الدالة تعمل بطريقة اسرع ، فيجب ان يكون الحقل myID مفهرس (يجب ان تكون جميع الحقول التي تستعملها كمعيار مفهرسة ، سواء معيار في الكود او في استعلام) ، ثم ضغط واصلاح ، ثم جرب السرعة 🙂 جعفر
-
او حتى جداولك العادية ، اذا كنت تحذف الكثير من بياناته. جعفر
-
الحمدلله 🙂 هنا اطلب منك ، وحتى يستفيد الآخرين ، ان تضع الكود كاملا 🙂 اولا: يعتمد على حاجة المبرمج ، ولا فرق بينهما للبرنامج ، ولكن لا يستطيع "المبرمج العادي" ان يضيف اي شيء لصيغة mde و accde ، كما تم نقاشه هنا: نعم هذا صحيح ، والوضع لايزال مستمر في صيغة accde كذلك ، والسبب وبكل بساطة ، اننا لا نستطيع ان نفتح النموذج في وضع التصميم في تلك الصيغ ، ناهيك عن اضافة الكود 🙂 ثانيا: "المفروض" لا يوجد اختلاف ، اذا تمت الاعدادات بطريقة صحيحة ، واذا عندك مشكله ، فرجاء فتح موضوع جديد وترفق فيه تقريرك حتى نرى المشكلة فيه ، وللعلم ، فالمنتدى مليء بمواضيع مشابهة ، فالبحث في المنتدى سيقتصر عليك الكثير ، ثالثا: رجاء البحث عن هذه المواضيع كذلك ، رابعا: يجب ان يكون ردك مفهموما كفايه وفيه تفاصيل ، فهنا المبرمج يخاطب مبرمج ، حتى استطيع ان ارد عليك ، وطبعا ردك يجب ان يكون في ذلك الموضوع وليس هنا 🙂 جعفر
-
يا ولد يا فنان
-
تفضل ، وان شاء الله نستطيع ان نمد يد المساعدة 🙂 ولكن ، بالنظر الى استعلامك الذي وضعته : . يمكننا استبداله بالاستعلامين التاليين فتحصل على النتيجة اسرع ، وذلك ان الامر iif بطيء بعض الشيء لأنه يفحص جميع الاحتمالات (طبعا هذا ليس معناه ان استعلامك غلط !! ) : الاستعلام الاول نضع فيه شروطك : . والاستعلام الثاني تكون النتائج جاهزة . جعفر
-
سيدي الفاضل 🙂 هذا تسلسل بالصباحي والمسائي ، والتسلسل لجميع الايام : استعملنا هذا الحقل لنحصل على التسلسل على اساسه : . . وهذا تسلسل للصباحي والمسائي مع اليوم ، كل يوم بتسلسل مستقل : وهنا ضيقنا الخناق ، فاستعملنا هذين الحقلين (واذا تريد ، فممكن تضيف حقول اخرى مع هذين الحقلين) لنحصل على التسلسل اليومي : . . ومثل ما قال اخوي ابوخليل ، مافي داعي تحفظ هذه الارقام في جدول ، فيمكنك استعمال هذه الدالة في جميع استعلاماتك 🙂 جعفر 1342.Count if.accdb.zip
-
وعليكم السلام 🙂 مثل ما قال اخوي عمرو ، هناك عدة طرق للوصول الى طلبك ، ومن الخطأ وضع DCount واخواتها في استعلام ، والافضل استعمال الاستعلام للحصول على النتيجة المطلوبة (وليس عن طريق استعلام المجاميع ، لأنه بطيء كذلك) ، وحتى الدالة Dcount يمكن جعلها تعمل اسرع ، هكذا ، نستعمل * بدل اسم الحقل : بدل A = DCount("[Salary]","Table_Name","[ID]=" & myID) استعمل A = DCount("*","Table_Name","[ID]=" & myID) جعفر
-
نعم هذا صحيح ، والوضع لايزال مستمر في صيغة accde كذلك ، والسبب وبكل بساطة ، اننا لا نستطيع ان نفتح النموذج في وضع التصميم في تلك الصيغ ، ناهيك عن اضافة الكود 🙂 ولكن ، المرفق الذي اشرت اليه في الرابط اعلاه ، يعمل برنامج خارجي بصيغة mdb او accdb ، وفيه هذا النموذج الجديد المعمول برمجيا ، ومن ثم نستطيع فتحه من برنامجنا mde اذا اردنا !! والشيء اللازم معرفته هو ، ان عمل نموذج برمجيا يكون بطيء بعض الشيء ، ولما يكمل تكوينه ويتم حفظه ، يكون فتحه بنفس سرعة النموذج العادي 🙂 جعفر
-
وعليكم السلام 🙂 اذا فهمت قصدك ، فأنت تريد ان تعمل كود "عند الحدث" ، مثل عند تحميل النموذج ، او عند النقر على الزر ، في كود عمل النموذج 🙂 انزل المرفق من هذا الرابط ، فهو يقوم بعمل: قاعدة بيانات جديدة ، ثم يعمل فيها جداول ، ونموذجين ، وفي كل نموذج ازرار وحدث تحت كل زر (وهذا الذي تبحث عنه) ، ومع انه هناك عدة طرق لعمل هذه الكائنات ، ولكني استعملت الاسهل في الفهم والتطبيق 🙂 انظر في الوحدات النمطية مباشرة ، فأسمائها تدل على محتواها : . جعفر