نجوم المشاركات
Popular Content
Showing content with the highest reputation on 11/08/19 in مشاركات
-
السلام عليكم ورحمة الله اخواتى واساتذتى لقد رأيت ان اشرح طريقة عمل ايقونة بطريقة بسيطة باستخدم خيارات الاكسس .. فقمت بشرحها على اليوتيوب لكي يستفيد منها كل الاعضاء المبتدئين وانا اعرف المنتدي غنى بمثل تلك المشاركة وبطرق مختلفة https://youtu.be/jav3HFmrbEE3 points
-
3 points
-
سيدي الفاضل ، ما قدرت اخلي التحديث اسرع من هاي 🙂 واذا السرعة عجبتك ، اخبرك كيف تجعلها اسرع ان شاء الله 🙂 جعفر 1134.jjafferr.accdb.zip2 points
-
اذا البرنامج بصيغة mdb او mde ، فنعم في برامج لفك كلمة السر ، ولكن لا يوجد برنامج لفك كلمة السر للبرامج بصيغة accdb او accde ، فكل البرامج عندها محاولات لفك كلمة السر ، كما ذكرت في الرابط اعلاه 🙂 والحكم الانترنت ، ابحث ، وبتشوف النتائج 🙂 جعفر2 points
-
يسعدني ان اكون أول من يعلق على هذا العمل الجميل فبارك الله فيك هذه الطريقة مفيدة في عمل التنبيهات المرئية . أخي الكريم بالنسبة للمثال فإن خانة الوقت يوجد بجانبها منتقي التوايخ وهو لاعلاقه له بالوقت وهذا يمكن إزالته من خصائص مربع النص نفسه ثانياً هل يمكنك تطوير الفكرة وذلك بجعل وقت الحجز يكون من وقت كذا الى وقت كذا فإن تم اختيار وقت يقع ضمن الوقت المحجوز فإنه يظهر باللون الأحمر2 points
-
2 points
-
السلام عليكم و رحمة الله تعالى وبركاته أساتذة و خبراء منتدانا الغالي حياكم الله أردت أن أنجز عمل بمعيتكم الكريمة . و هو إنجاز سلسلة دروس في vba الأكسس لتقوم إدارة المنتدى من بعد ذلك بتثبيت هذا الموضوع ليطلع عليه كل من يريد التعلم و يبقى صدقة جارية لكل من ساهم فيه و لو بحرف واحد. العمل سوف يقسم إلى مجموعة دروس مثلا : المتغيرات ,الجمل الإختيارية , الجمل التكرارية , الكائنات ......الخ. و سوف نحاول شرح جميع دوال و تعليمات VBA أكسس الموجودة مع إعطاء أمثلة في نهاية كل درس. على أن يتم تجميعه في الأخير مرتبا حسب تسلسل الدروس و لا يتم الإنتقال من درس لآخر حتى نستوفي كل ما نستطيع حول هذا الدرس. العمل المطلوب: كلما نبدأ في درس جديد. يقوم الأساتذة الكرام بتقديم الدوال و التعليمات التي تندرج تحت عنوان هذا الدرس و تقديم شرحها مع وضع مثال بسيط لإستعمال الدالة أو التعليمة على أن لا يتم تكرار الدوال و التعليمات الموجودة مسبقا في الدرس من قبل أحد الأعضاء. و قبل البدء أنتظر إقتراحاتكم فيما يخص طريقة العمل أو ترتيب دروس و عناوينها. و إن شاء الله غدا أو بعد غد سوف نبدأ بالعمل على بركة الله.1 point
-
السلام عليكم و رحمة الله تعالى و بركاته أقدم لكم اليوم مرفقا يقوم بإضافة كلمة مرور جديد لملف الأكسس أو تعديل كلمة مرور قديمة أو حذفها نهائيا. 1- لإضاف كلمة مرور جديدة يجب ترك مربع كلمة السر القديمة فارغا و كتابة الكلمة الجديدة فقط ثم الضغط على زر الأمر 2- لتعديل كلمة المرور نكتب الكلمة القديمة و نكتب الكلمة الجديدة ثم الضغط على زر الأمر 1- لحذف كلمة المرور نكتب الكلمة القديمة ونترك مربع كلمة السر الجديدة فارغا ثم الضغط على زر الأمر و قد استخدمة هذه الوحدة النمطية: Public Function ChangePassword(path_file As String, Old_Password As String, New_Passwod As String) On Error GoTo err Dim odb As DAO.Database Set odb = DBEngine.OpenDatabase(path_file, True, False, ";pwd=" & Old_Password) odb.NewPassword Old_Password, New_Passwod MsgBox "لقد تم تغيير كلمة المرور بنجاح" fin: Set odb = Nothing Exit Function err: Select Case err.Number Case 3031 MsgBox "كلمة المرور غير صحيحة", vbCritical, "Sécurité" Case Else MsgBox err.Description, vbCritical, "Erreur No." & err.Number End Select Resume fin End Function و قمت بإستدعائها من خلال هذا الكود: Call ChangePassword(Me.txtpath1, Nz(Me.OldMot, ""), Nz(Me.NewMot, "")) تغيير كلمة السر برمجيا.rar1 point
-
السلام عليكم ورحمة الله تعالى وبركاته اتمنى ان تكونو بصحة جيدة الموضوع ببساطة هو التحكم بقاعدة البيانات اونلاين ( قفل & فتح ) الشرح جعلت قاعدة البيانات تقرأ بيانات التفعيل اونلاين لا تقلقو لن نحتاج الى استضافة او ما شابه فقط ملف نصى به بيانات التفعيل بيانات التفعيل كالتالى حالة الترخيص ك منتهى او نشط الرسالة : احددها كما اشاء اكتب بها ما اريد ان اخبر به العميل الترخيص من الفترة كذا الى الفترة كذا طبعا يا جماعة الموضوع مشاركة لافكاركم فى هذا المجال حتى ننميه انا مش هنزل الاكواد الا لما تعصورو دماغكم من التفكير وتقولولى نستغل الموضوع دا ازاى طبعا من مميزات الموضوع دا اننا هنتحكم بقاعدة البيانات تفتح عن العميل او لا بدون كود تفعيل بقى او وقت محدد كل دا انا اللى هحدده مثلا ممكن نعمل قاعدة بيانات تانية تتحكم فى ملفات التكست اللى عندك كمبرمج الخاصة بكل نسخة من البرامج اللى ابيعها يعنى قاعدة البيانات دى هسجل فيها كل البيانات الخاصة بتفعيل البرامج اللى ابيعها وهى تعرفنى بقى البرامج اللى قربت تنتهى والبرامج اللى عاوزة تتفعل وهكذا بجد شاركونا بافكاركم وانا ان شاء الله هنزل قواعد البيانات مفتوحة المصدر اغلاق وفتح اونلاين ACCDE.rar اغلاق وفتح اونلاينMDB.rar1 point
-
1 point
-
اعزكم الله اخى الكريم نحن لا نخفى اكواد على احد فقط نحن نخفى طريقتنا فى استغلال الكود ملخص الموضوع هذا او يدور حول قراءة ملفات النصوص اونلاين نحن نستغل هذا الموضوع وكل منا له طريقته فى استخدام الكود منا من يستخدمه فى التفعيل ومنا من يستخدمه فى التحديث وهكذا ... وهذا هو الكود Function GetFromWebpage(URL As String) As String On Error GoTo Err_GetFromWebpage Dim objWeb As Object Dim strXML As String ' Instantiate an instance of the web object Set objWeb = CreateObject("Microsoft.XMLHTTP") ' Pass the URL to the web object, and send the request objWeb.Open "GET", URL, False objWeb.send ' Look at the HTML string returned strXML = objWeb.responseText GetFromWebpage = strXML 'End_GetFromWebpage: ' Clean up after ourselves! Set objWeb = Nothing Exit Function Err_GetFromWebpage: ' Just in case there's an error! MsgBox Err.Description & " (" & Err.Number & ")" Resume End_GetFromWebpage End Function1 point
-
استاذي القدير @ابا جودى لم افهم ما الغرض من ذلك المثال ؟؟ فهو يقرأ رقم الـ UUID ومن ثم يشفره ويتغير التشفير في كل مرة نضغط على نسخ .. ما الغرض من ذلك؟1 point
-
الف الف الف شكر اخي واستاذي ومعلمي الاستاذ jjafferr نعم هذا مرة ممتاز بارك الله فيك وجعلها في ميزان حسناتك1 point
-
بارك الله فيك كان ودي اخدمك الحمدلله انك وجدت الجواب الشافي عند استاذنا الحبيب جعفر تحياتي اليك يالغالي1 point
-
لا تتعب نفسك اخوي ابو زاهر ما عندي برنامج اريد اعرف الرقم السر له انا فقط اريد التأكد هل هناك برامج فعلا تكشف كلمة سر لملف من نوع Accdb و Accde1 point
-
1 point
-
السلام عليكم احبتي الاستاذه الكرام الاستاذ الكبير الـعيدروس والاستاذ a.kawkab جبر الله بخاطركم دنيا وآخره ارجو منكم اعتبار كل رقم رحلة يخصص لها شيت خاص بها كما هو موضح بالملف المرفق 2. ياريت تطوير اداة الاستعلام بالمرفق ولكن كما واضح بالملف الذي الذي قدمه الاستاذ الـعيدروس مع خالص تقديري واحترامي لكما 101استعلام عن طريق الاسم (2).xls1 point
-
1 point
-
تفضل 🙂 هذا الاستعلام ، وبسبب ان عدد الحقول كثيرة اللي نرسلها للوحدة النمطية ، استعملت الطريقة الاولى 🙂 هكذا ننادي الوحدة النمطية: وهذه النتيجة: وهذه الوحدة النمطية: Public Function Add_All(ID As Long) As String On Error GoTo err_Add_All 'G1, R1, K1, G2, R2, K2, G3, R3, K3, G4, R4, K4, G5, R5, K5, G6, R6, K6, G7, R7, K7, G8, R8, K8, G9, R9, K9, G10, R10, K10 Dim rst As dao.Recordset Set rst = CurrentDb.OpenRecordset("Select * From tbl1 Where ID=" & ID) If Nz(rst!G1, 0) < Nz(rst!R1, 0) * 0.3 Then Add_All = Nz(rst!K1, 0) ElseIf Nz(rst!G1, 0) < Nz(rst!T1, 0) Then Add_All = "K1" ElseIf Nz(rst!G2, 0) < Nz(rst!R2, 0) * 0.3 Then Add_All = Nz(rst!K2, 0) ElseIf Nz(rst!G2, 0) < Nz(rst!T2, 0) Then Add_All = "K2" ElseIf Nz(rst!G3, 0) < Nz(rst!R3, 0) * 0.3 Then Add_All = Nz(rst!K3, 0) ElseIf Nz(rst!G3, 0) < Nz(rst!T3, 0) Then Add_All = "K3" ElseIf Nz(rst!G4, 0) < Nz(rst!R4, 0) * 0.3 Then Add_All = Nz(rst!K4, 0) ElseIf Nz(rst!G4, 0) < Nz(rst!T4, 0) Then Add_All = "K4" ElseIf Nz(rst!G5, 0) < Nz(rst!R5, 0) * 0.3 Then Add_All = Nz(rst!K5, 0) ElseIf Nz(rst!G5, 0) < Nz(rst!T5, 0) Then Add_All = "K5" ElseIf Nz(rst!G6, 0) < Nz(rst!R6, 0) * 0.3 Then Add_All = Nz(rst!K6, 0) ElseIf Nz(rst!G6, 0) < Nz(rst!T6, 0) Then Add_All = "K6" ElseIf Nz(rst!G7, 0) < Nz(rst!R7, 0) * 0.3 Then Add_All = Nz(rst!K7, 0) ElseIf Nz(rst!G7, 0) < Nz(rst!T7, 0) Then Add_All = "K7" ElseIf Nz(rst!G8, 0) < Nz(rst!R8, 0) * 0.3 Then Add_All = Nz(rst!K8, 0) ElseIf Nz(rst!G8, 0) < Nz(rst!T8, 0) Then Add_All = "K8" ElseIf Nz(rst!G9, 0) < Nz(rst!R9, 0) * 0.3 Then Add_All = Nz(rst!K9, 0) ElseIf Nz(rst!G9, 0) < Nz(rst!T9, 0) Then Add_All = "K9" ElseIf Nz(rst!G10, 0) < Nz(rst!R10, 0) * 0.3 Then Add_All = Nz(rst!K10, 0) ElseIf Nz(rst!G10, 0) < Nz(rst!T10, 0) Then Add_All = "K10" Else Add_All = "OK" End If Exit_Add_All: rst.Close: Set rst = Nothing Exit Function err_Add_All: If Err.Number = 3265 Then 'No field Add_All = "" Resume Exit_Add_All Else MsgBox Err.Number & vbCrLf & Err.Description End If End Function جعفر 1136.D3.accdb.zip1 point
-
1 point
-
1 point
-
حبيبي أبا جودي بما ان الاسطر تضاف برمجيا فيجب إبقاء بعض هامش الصفحة من الأسفل عند المعاينة تظهر الورقة طبيعية لكن عند الطباعة يتجاوز حجم الورقة فيعطي صفحات متعددة ولا يتم طباعة البيانات انظر المرفق اطبع ووافني بالنتيجة Consumable Material Check List (30).rar1 point
-
بالنسبة الى ارسال البيانات من الاستعلام الى الوحدة النمطية ، فتكون هكذا: A: myFunction([G1],[R1],K1,[T1],[G2],[R2]....) وفي الوحدة النمطية تستقبل هذه البيانات بنفس عدد المتغيرات ، هكذا: public function myFunction(G1,R1,K1,T1,G2,R2....) جعفر1 point
-
اليك هذا الماكرو جربه لعله ما تريد Sub test3() Dim rng Dim c, r, x Application.ScreenUpdating = False Set rng = Range("c2") r = 5 x = 0 For c = 5 To 1000 If rng = 0 Or rng = "" Then Range("c2") = "": Exit Sub Range("a" & r) = 1 + x x = Range("a" & r) + 1 - 1 r = r + 1 rng = rng - 1 Next Application.ScreenUpdating = True End Sub1 point
-
1 point
-
شوف هذا Dim db As DAO.Database Dim rs As Recordset Set db = CurrentDb Set rs = db.OpenRecordset("t2") If DCount("*", "t2", "[nume]='" & Me.nume & "'" & "AND [xdate]=#" & Format(Me.xdate, "yyyy/mm/dd") & "#") > 0 Then MsgBox " الاسم مكرر ", vbExclamation, " : خطــــــــأ " Exit Sub Else rs.AddNew rs!sr = Me.sr rs!xdate = Me.xdate rs!nume = Me.nume rs!xpart = Me.part rs.Update rs.Close db.Close MsgBox " تم الترحيل بنجاح ", vbInformation, " : رسالة " End If عدم التكرار (1).accdb1 point
-
1 point
-
وعليكم السلام استاذي الفاضل نعم لقد جربت ونجح معي راح ادور عليه ان شاء الله اجده تحياتي1 point
-
1 point
-
1 point
-
أستاذنا الفاضل ا/ حسين مامون شكرا لمجهودك واود الا ان اكون اثقلت على حضرتك لقد تم المطلوب بفضل مجهودكم وشكرا لسعة صدركم1 point
-
تأخرت لأني كنت ابحث عن الموضوع 🙂 تفضل ، مادام واجهة ، فالامر سهل 🙂 جعفر1 point
-
لا وجه للمقارنة أستاذنا jjafferr .. فلا فتوى ومالك بالمدينة .. 😍1 point
-
اخر سجل hrk_sh = Nz(DLast("Price", "HRR", "Nwaha='11'"), 0) اول سجل hrk_sh = Nz(First("Price", "HRR", "Nwaha='11'"), 0)1 point
-
لاثراء الموضوع هذه المعادلة في الخلية C7 Ctrl+Shift+Enter =IFERROR(INDEX(Sheet1!$D$2:$D$100,SMALL(IF(Sheet1!$D$2:$D$100<>"",IF($A7&"*"&C$5=Sheet1!$B$2:$B$100&"*"&Sheet1!$A$2:$A$100,ROW($A$2:$A$100)-ROW($A$2)+1)),COUNTIF($A$7:$A7,$A7))),"")1 point
-
السلام عليكم تم تبديل المعادلات في الملف المرفق... بن علية حاجي ترحيل بيانات من شيت رئيسي الي شيت آخر ( بمعادلات او اكواد ) المهم 1النتيجة - ا-بن عليه.xls1 point
-
السلام عليكم بن علية حاجي ترحيل بيانات من شيت رئيسي الي شيت آخر ( بمعادلات او اكواد ) المهم 1النتيجة.xls1 point
-
بعد اذن الاخ علي هذا الكود Option Explicit Sub get_data() Rem ====>> Created By Salim Hasbaya On 2/11/2019 Dim Sh1 As Worksheet, Sh2 As Worksheet Dim tabL1 As Range Dim i%, Ro%, x% Set Sh1 = Sheets("Sheet1") Set Sh2 = Sheets("Sheet2") Set tabL1 = Sh1.Range("A1").CurrentRegion Sh2.Cells(9, 3).Resize(100, 500).ClearContents Ro = tabL1.Rows.Count For i = 3 To 95 Step 3 tabL1.AutoFilter 1, Sh2.Cells(5, i) x = tabL1.SpecialCells(12).Count If x > 4 Then tabL1.Offset(1).Resize(Ro - 1) _ .SpecialCells(12).Offset(, 1).Resize(, 3).Copy _ Sh2.Cells(9, i) End If Next i If Sh1.AutoFilterMode Then Sh1.ShowAllData: tabL1.AutoFilter End If End Sub الملف مرفق tarhil.xlsm1 point
-
جرب الملف المرفق بعد إضافة دالة IF على المعادلة.... الغياب دالة البحث.xlsm1 point
-
العفو أخي جعفر. في بعض الأوقات يصيبني الفشل لأن العمل يأخذ مني وقتا في الجمع و الترتيب لكن وقوفك إلى جانبي هو سند كبير لي جزيت خير الجزاء. فاللهم علمنا ما ينفعنا و أنفعنا بما علمتنا يا أرحم الراحمين يا رب العالمين1 point
-
الدرس الخامس: استعمال الرموز إن استعمال الرموز و الأحرف لها دور كبير و لا يمكن الإستغناء عليه في جميع لغات البرمجة. و يختلف دور الرموز حسب موقعها في الكود و سنحاول ذكر ما نستطيع ذكره في هذا الدرس و أتمنى من الإخوة أن يكملوا ما عجزت عن ذكره. الفاصلة , تستخدم الفاصلة بشكل واسع في اكواد VBA فمثلا نورد هنا بعض استخدماتها على سبيل المثال لا للحصر: تستخدم للفصل بين قيم دالة تتطلب ادراج عدة قيم مثال: exm=DFirst(Expr, Domain, Criteria) للفصل بين المتغييرات عند تعريفها مثال: Dim a,b,c As Integer الاقواس الهلالية ( ) تستخدم الاقواس الهلالية في فيجول بيسك في الاماكن التالية : -عند كتابة الاكواد. -عند بداية كتابة اجراء معين او دالة ما. -في العمليات الحسابية. مثال: Function Example (exm As Boolean) D=(e-f)*g moy=(2+3+4)/3 الفاصلة المنقوطة ; تستخدم الفارزة المنقوطة في بعض من دوال اكسس و بالتحديد في منشأ التعابير علامتي الاقتباس " " تستخدم علامتي الاقتباس بشكل رئيسي لحصر النصوص بداخلها و بالتالي سوف يفهم البرنامج ان ما هو موجود بين علامتي الاقتباس هو نص و يتعامل معه عل هذا الاساس. مثال: Text0="منتدى أوفيسنا" علامة الاقتباس المفردة ' تستخدم علامة الاقتباس المفردة ' لتوضيح ما بعدها هو شرح و ليس عبارة برمجية مثال: ' A = Text0.BackColor الاقواس المربعة [] الاقواس المربعة ايضاً حالها حال الرموز السابقة لها استخداماتها المحددة و تتمثل استخدماتها في توضيح ان المتغييرات المحصورة بين قوسين مربعين انما هي اسماء لجدول او نموذج او استعلام او عناصر داخل تلك النماذج او حقل ضمن الجداول و الاستعلامات و تستخدم في منشأ التعابير و كودات ال(VBA) على حدٍ سواء و في بعض الاحيان يمكن الاستغناء عنها اي ان نذكر العناصر السابقة بدون حصرها بين قوسين مثال: Forms![form1].[Text0] = "ممكلة الاكسس و الوورد" علامة التعجب ! تستخدم علامة التعجب على حد علمي استخدام وحيد و هو موضح في مثال: Forms![form1].[Text0] = "ممكلة الاكسس و الوورد" و المثال السابق يوضح ان علامة التعجب توضح ان العنصر الذي بعدها هو احد النماذج الموجود في قاعدة البيانات كما انها تكون مسبوقة بالكملة Forms للتدليل على ان ما بعد علامة التعجب هو عنصر من نوع نموذج و هي تستخدم كما اسلفنا في منشأ التعابير و كودات ال(VBA) الرمز & و هي اختصار لكلمة AND باللغة الانكليزية و هنا تستخدم لربط سلسلتين نصيتين او اكثر مثال: Text0 = "مملكة " & "الاكسس " & "و " & "الوورد" علامة = و هي تقوم بإسناد قيمة ما بعدها للمتغيير الموجود قبلها سواءاً كانت تلك القيمة رقم او معادلة رياضية او قيمة منطقية او سلسلة نصية .. الخ مثال: A=b+c علامة النقطة . و هي مهمة جدا في البرمجة. فعند ذكر اسم اي عنصر من عناصر قاعدة البيانات و الحاق اسم العنصر بعلامة النقطة (.) فسوف تظهر قائمة بخصائص ذلك العنصر و الاوامر التي يتعامل معها ذلك العنصر . مثال: Text0.Text = "احمد الحربي" علامة الشارحة السفلية _ تستخدم هذه العلامة للفصل بين اسم العنصر و الحدث المرتبط به مثال: Private Sub Command2_Click() علامة # تستعمل هذه العلامة لتحول سلسلة رقمية الى تاريخ مثال : Text0 = #30/1/2017# + عملية الجمع - تستعمل لعمية الطرح * تستعمل لعملية الضرب / تستعمل لعملية القسمة ^ تستعمل لعملية الأس مثال: text1=2+3 text2=10-6 text3=70/5 text4=4*23 text5=6^41 point
-
الحمد لله نحن نشترك في هذا الأمر و أنا أيضا لم ادرس البرمجة و لكن تعلمت الخورزميات وحدي بالمطالعة فهي أساس البرمجة ثم مارست لغة الفجوال بسيك قليلا قبل الإنتقال إلى الأكسس و الآن أنا أتعلم الدلفي إلى جانب الأكسس هذا كله هواية للبرمجة. مع العلم أن إختصاصي مختلف تماما و هو "ماستر هندسة كهربائية"1 point
-
شكرا أخي صالح في الواقع انا لم ادرس البرمجة (نعم مادة الفورتران في بداية دراستي الجامعية) ، ولم ادخل في تدريب ، وحتى ما عندي رخصة سواقة الحاسوب وانما كل الذي عندي من تجارب عملية ، لذلك ترى الفرق واضح من طريقة عرضك للموضوع ، وطريقة عرضي جعفر1 point
-
الــدرس الرابع: الجملة الشرطية ( IIF ) ( لقد قام أستاذي و أخي جعفر حفضه الله بتقديم هذا الدرس كله و أنا لم أفعل شيء سوى التنسيق و النشر فاللهم جازيه عنا خير الجزاء يا رب العالمين) طريقة استعمال ((iif: iif(expr, truepart, falsepart) iif(القيمة المطلوب تقييمها, اذا كان التقييم صح فستأخذ هذه القيمة, اذا كان التقييم خطأ فستأخذ هذه القيمة) مثال: Age=50 Age_Now = iif(Age=50 , "Yes it is", "No it is not") ميزاتها: نستطيع استعمالها في الكود ، والاستعلام نستطيع ان نضع اكثر من شرط واحد فيها مثال: Price=10 Qty=5 Sale_is= iif(Price* Qty = 50 , "Low sale", iif(Price * Qty = 100 , "Middle sale" , "Big sale")) عيوبها: الدالة تختبر جميع الحالات ، ولا تختبر القيمة الاولى وتخرج (مثل الـ IF): 1. المثال السابق ، مع ان اول تقييم هو الجواب الصحيح 10*5=50 ، إلا ان الدالة ستقوم بتقييم جميع الاختيارات ، مما يجعلها تأخذ وقت اطول للتقييم ، 2. بسبب اختبارها لجميع الحالات ، فيجب ان نكون دقيقين في وضع التقييم ، مثلا اذا اردنا اختبار قيمة مثال: Divide = iif(n2 = 0, MsgBox("القيمة صفر"), MsgBox(n1 / n2)) فاننا سنحصل على خطأ ، لأن الدالة تحققت من القيمتين ، والقيمة الثانية هي تقسيم رقم على صفر ، 3. بطيئه نوعا ما ، لأنها تحول الارقام الى Variant (رجاء مراجعة الدرس الاول للأخ صالح) ، ثم تقوم بالحساب ، 4. لا تستطيع ان تستخدم اكثر من 7 شروط في الاستعلام ، مثلا عندنا ارقام الاشهر ونريد نستخرج اسمائها ، 5. ببساطة مكن ان تخطأ في عدد الاقواس والفواصل ، 6. لا تستطيع قراءة ولا تغيير اي شئ بسهولة ، وخصوصا اذا كان عندنا اكثر من تقييم ، امثلة عملية: 1. اذا عندنا ارقام الاسبوع ، ونريد ان نستخرج ايامها ، فاذا عملنا الكود في الاستعلام مباشرة ، فسيكون صعب ، لذا ، فالطريقة التي اعملها انا هي: أ- عمل الكود في محرر VBA ، هكذا: لاحظ اني عملت اول شرط ونتيجة القيمة الصحيحة ، ثم انهيت السطر بخط سفلي _ (واللي معناه في البرمجة ان الكود سيتواصل في السطر التالي ، ثم انتقلت السطر التالي ، ونفس الشئ ، عملت الشرط التالي ونتيجة القيمة الصحيحة و.... كما سبق و... الى ان نوصل للسطر الاخير ، فوضعت الشرط الاخير ونتيجة القيمة الصحيحة والخطأ ، ثم حسبت كم قوس مفتوح ، فقفلت بنفس عددها: iDay = 2 Today_is = IIf(iDay = 1; "Sun"; _ IIf(iDay = 2; "Mon"; _ IIf(iDay = 3; "Tue"; _ IIf(iDay = 4; "Wed"; _ IIf(iDay = 5; "Thu"; _ IIf(iDay = 6; "Fri"; "Sat")))))) ب- والخطوة التالية ان نجعلها في سطر واحد ، حتى نأخذها للإستعلام ، وهي ان نحذف الاشارة _ ، لتكون النتيجة Today_is = IIf(iDay = 1; "Sun"; IIf(iDay = 2; "Mon"; IIf(iDay = 3; "Tue"; IIf(iDay = 4; "Wed"; IIf(iDay = 5; "Thu"; IIf(iDay = 6; "Fri"; "Sat")))))) . هكذا . 2. اذا عندنا سجلات الصف الاول والثاني ، واردنا معرفة عدد الطلاب لكل صف: iif([Section]= "A" ; 1;0) وهكذا تكون في الاستعلام: 3. اذا عندنا اكثر من 7 شروط (ارقام الاشهر نريد تحويلها الى اشهر) ، فهنا نضطر الى عمل وحدة نمطية: Function What_Month(M) Select Case M Case 1 What_Month = "Jan" Case 2 What_Month = "Feb" Case 3 What_Month = "Mar" Case 4 What_Month = "Apr" Case 5 What_Month = "May" Case 6 What_Month = "Jun" Case 7 What_Month = "Jul" Case 8 What_Month = "Aug" Case 9 What_Month = "Sep" Case 10 What_Month = "Oct" Case 11 What_Month = "Nov" Case 12 What_Month = "Dec" End Select End Function ونرسل لها ارقام الاشهر ، هكذا . والنتيجة1 point
-
ملاحظاتك ممتاز و في محلها و متممة للمعنى ربما هنا من يستعمل اللغة العربية في تعريف المتغير بهذا الشكل : Dim الرقم_الأول As Integer ملاحظة: - القيمه الإفتراضية للمتغيرات النصيه هي فراغ " " - أما القيمه الإفتراضية للمتغيرات الرقميه هي صفر 01 point
-
اضفت بعض الملاحظات في مشاركتي الاولى: شو قصدك اخي صالح ، انا اعرف ان المتغيرات باللغة اللاتينية ، فرجاء اعطنا مثال لوسمحت جعفر1 point
-
أيضا يستحسن كتابة أسماء المتغيرات باللغة اللاتينية من أجل تسهيل التعامل معها و عدم حدوث مشاكل فيما بعد1 point
-
طرق استعمالها: 1. اذا اردنا استعمال المتغير في الحدث / الوحدة النمطية فقط (يعني لا يمكن اخذ قيمتها من نماذج/تقارير/استعلامات/وحدات نمطية اخرى) ، فنستخدم: Dim UserName as string او Private UserName as string ويجب ان نستخدم Dim لكل حدث في النموذج/التقرير ، اي نعيد كتابته لكل حدث ، بينما يمكننا ان نضع Dim / Private مرة واحدة في اعلى الصفحة ، ولا تكون داخل اي حدث ، هكذا Option Compare Database Private User_Name As String 2. بينما اذا اردنا ان تكون القيمة متوفرة في جميع كائنات البرنامج ، فنستخدم التالي في وحدة نمطية (حتى ولو كانت وحدة نمطية فارغة): Public UserName as string مثال هذا ، عندما تستعمل نموذج المستخدمين ، ثم تريد الاحتفاظ باسم المستخدم في الكود ، فكل الذي تعمله هو: UserName = "jjafferr" ثم من اي مكان في البرنامج تستطيع ان تستعمل هذا المتغير UserName ، مثلا: User_Prevliage = iif(UserName = "jjafferr" , "Admin", "User") . ويمكننا ان نجعل الكود لا يعمل إلا بتعريف المتغير ، وفي الواقع هذه صعبة في البداية ، ولكن في النهاية سيكون برنامجك افضل ، وهكذا نجعل الكود يفرض علينا استعمال المعرف: . . واهمية هذه الخطوة هي عندما تريد ان تحفظ البرنامج لاحقا بصيغة mde او accde ، فيجب عليك ان: . واذا كانت المتغيرات في الكود معرّفة ، فلن تحصل على اخطاء في التحويل جعفر1 point
-
على بركة الله نبدأ أول درس و ننتظر ملاحظاتكم حول أي شيء نسيته و هو متعلق بهذا الدرس أو أي معلومة أخطأت بها: الــدرس الأول : المتغيرات تعتبر المتغيرات النواة الأساسية أو حجر الأساس بالنسبة لكل برنامج في أي لغة برمجة كانت. يعني قبل البدأ يجب أن تقوم بتعريف المتغيرات التي تحتاجها و تحدد نوعها قبل كل شيء. 11- أنواع المتغيرت: هناك العديد من أنواع المتغيرات و كل نوع يخصص له حجم معين في الذاكرة. سوف نقوم بإضافة شرح جميع أنواع المتغيرات و الحجم الذي يأخذه كل نوع من الذاكرة: String: نص يتسع المتغير النصي إلى 2 جيجا بايت و كل حرف يشغل 1 بايت Boolean: ياخذ نوعين من القيم True و False (طوله 2 بيت ) Byte: بايت يكون رقم بين 0 من 255 (طوله 1 بايت) Integer : عدد صحيح (طوله 2 بيت ) قيمته من 32768- إلى 32767 Long : عدد صحيح طويل (طوله 4 بيت) قيمته من 2,147,483,648- إلى 2.147.483.647 Signal: عدد عشري (طوله 4 بيت) قيمته من 3.402823x1038- إلى 1.401298x10-45- للقيم السالبة و من 1.401298x10-45 إلى 3.402823x1038 للقيم الموجبة Currency: عملة (طوله 8 بيت) قيمته من 922،337،203،685،477.5808- إلى 922،337،203،685،477.5807 Double : مزدوج عدد عشري (طوله 8 بيت) قيمته من 1.79769313486231x10308- إلى 4.94065645841247x10-324- للقيم السالبة. و من 4.94065645841247x10-324 إلى 1.79769313486232x10308 للقيم الموجبة Date: نوع البيانات تكون على شكل تاريخ (طوله 8 بيت) يبدأ تاريخ vba من 1/1/100 حتى 31/12/9999 Object : لتخزين الكائنات التي تحتوي على خصائص و وظائف و يتم تعيينه بجملة set ويشغل في الذاكرة 4 بايت أو حسب خصائص و وظائف الكائن المحدد. و سوف نخصص درس لعرض أنواع الكائنات. Variant : لتخزين كل الأنواع السابقة ويمكن تخزين المصفوفات بداخله أيضاً 2- طريقة الإعلان عن المتغيرات: الإعلان عن متغير يعني حجز مكان في ذاكرة الكمبيوتر باسم هذا المتغير و يحدد حجمه حسب نوع المتغير. و يتم تعريف المتغير أو الإعلان عنه بواسطة العبارة DIM . مثال: Dim A as Integer للإعلان عن أكثر من متغير: Dim a,b as integer للإعلان عن أكثرمن متغير لأنواع مختلفة في نفس السطر: Dim A As Double, B As Integer 3- ملاحظات: - - يفضل الإعلان عن نوع المتغير لزيادة سرعة التعامل معه . - - المتغيرات التي لم تحدد نوعها يعمل فيجول بيسك علي الإعلان عنها تلقائيا من النوع Variant وهو أبطأ أنواع المتغيرات . - - بالنسبة للإعلان عن أكثر من متغير من نفس النوع بالطريقة التالي: Dim a,b as integer هنا b فقط من النوع integer أما a فهو في هذه الحالة يعتبر من النوع Variant يجب أن يتم التعريف بهذا الشكل: Dim a integer,b as integer أو Dim a as Integer Dim b as Integer 4- شروط تسمية المتغيرات: - - اسم المتغير يجب أن يبتدأ بحرف . - - يمكن استعمال الحروف التي تلي الحرف الأول رقم أو حرف أو الإثنين معا. - - لا يجب أن تكون هناك فراغات بين أسماء المتغير و يمكن استعمال الشكل التالي: id_user - - يجب عدم استعمال نقطة أو رمز خاص مثل ( ؟ ، * ، ) ، ( ، /......... إلخ ) ولكن يمكن استخدام الشرطة السفلية ( _ ) - - أن لا يكون اسم المتغير من الكلمات المحجوزة في الأكسس.1 point
-
يمكنك الاستفادة من هذا البرنامج فى الوصول الى طلبك قم بالتعديل عليه واعتقد انة يلبى طلبك برنامج العطاء للتقسيط - تصميم الاستاذ وليد1 point