نجوم المشاركات
Popular Content
Showing content with the highest reputation on 11/12/19 in all areas
-
السلام عليكم ورحمة الله وبركاتة في مووضوع سابق طرحته بالمنتدى حذرت من موضوع اخفاء الجداول المرتبطه لما يسببه من مشاكل وأخطاء تحذير من إستخدام كود إخفاء الجداول المرتبطة فأخذت افكرفي ايجاد طريقة لحماية كائنات قاعدة البيانات كافة من وصول المستخدم ومن ضمنها عدم وصول المستخدم لكلمة سر قاعدة البيانات الخلفية والتي تكون مخزنة بالجدول MsysObjects فلم أجد افضل من طريقة وضع كلمة سر لقاعدة البيانات بشرط أن تكون بصيغة accdb أو accde هنا لن يتمكن المستخدم من تفعيل الشفت ببرنامج خارجي ولن يتمكن من الوصول الى الكائنات وهذا كان سبب طرحي لموضوع هل لديك تجربه لكسر كلمة سر قاعدة بيانات ؟ وقد اكد استاذنا @jjafferr صعوبة الحصول على الرقم السري لمثل هذا النوع من قواعد البيانات فقررت وضع كلمة السر لقواعد البيانات !!!!!!! لكن ماهو الحل مع المستخدم ؟ هل سنقوم بتسليمه كلمة السر ليستخدم قاعدة البيانات اذا كأننا لمن نصنع شئ ففكرت بإيجاد وسيط نقوم بتسليمه كلمة السر ويكون هو الوسيط بين المستخدم والبرنامج ( الواجهة ) اذا الوسيط سنضعه جنب البرنامج ونأمره بفتح البرنامج للمستخدم اذا اراد استخدامه بدون أن يفصح له عن كلمة السر بالمرفق يوجد ملفين ملف قاعدة البيانات الاساس Start محمي بكلمة سر والاخر الوسيط الذي سنقوم بمن خلاله فتح البرنامج StartDatabes. بعد تمرير كلمة السر اليه والملفين تم تحويلهما الى صيغة accde بعد تنزيل المرفق اجعل الملفيين في مجلد واحد وشغل الملف StartDatabes ملاحظة من المحتمل ان تظهر لديك رسالة في بدأ التشغيل لا يمكن قراءة مشروع Vba هنا اعتقد يجب أن يكون الوندوز لديك محدث بأخر تحديث ويجب أن تكون حزمة Microsoft .NET Framework محدثة بأخر اصدار حسب لغة الوندوز ونوعه عندك او كما يوجد لدي انا عندي الحزمة Microsoft .NET Framework 4.5.1 windos 10 office10 أخر تحديث ارجو التجربه ونتمنى الاستفاده للجميع Free.rar -------------------------------------- ملاحظات جعفر 14-7-2021 : بعد ان تم حذف الملف الاصل ، اصبح من الصعب على بعض الاعضاء متابعة الموضوع ، لذا ، وبعد إذن الاخ @kaser906 فعملت ملفاته مرة اخرى وارفقتها هنا: 1. الملف Locked.zip ، وهو الملف النهائي والذي سيتم تسليمه للزبون ، وهو الملف الذي يجب ان يجربه الاعضاء ، وفيه ملفين بصيغة accde ، 2. الملف Locked_Open_Source.zip ، يحتوي على ملفات مفتوحة المصدر ، بصيغة accdb ، والتي حولناها الى ملفي رقم 1 علاه ، 3. الملف Open_Source.zip ،يحتوي على نفس ملفي رقم 2 اعلاه بصيغة accdb ، ولكن بدون تجهيزهم لتحويلهم لصيغة accde . Locked.zip Locked_Open_Source.zip Open_Source.zip5 points
-
السلام عليكم 🙂 الطريقة التي توصلت لها : 1. التقرير الرئيسي له جدول خاص به ، به رقم صفحات التقرير (سيتم عمل هذا تلقائيا) ، 2. التقرير الفرعي رقم 1 ، والتقرير الفرعي رقم 2 ، لكل تقرير فرعي مصدر بيانات خاص به (سيتم عمل هذا تلقائيا) ، ويحتوي على حقل رقم الصفحة ، 3. بيت القصيد ، ربط التقرير الرئيسي بالتقارير الفرعية عن طريق رقم الصفحة . يجب ان اقوم بتنظيف البرنامج ، واعادة عمله على اساس ما قلته اعلاه ، وللعلم فبعض بيانات التقارير الفرعية قد تم ادخالها يدويا حتى احصل على النتيجة 🙂 التقرير الذي يعمل حسب هذه الخطة هو Report2 🙂 ولا تحاول تعمل تغيير في بيانات الجداول الاصل ، فلن تتغير النتيجة في التقرير ، في هذه النسخة اخي ابا جودي ، اعتذر عن التأخير ، بس هذا كان تحدي 🙂 ورجاء ، اذا عندك اي ملاحظة او تغيير ، وبدون اي احراج ، رجاء تخبرنا عنه ، لأن العمل تقريبا انتهى 🙂 بكرة الصباح ان شاء الله اعمل البرنامج بصورته النهائية 🙂 جعفر 1135.2.Consumable Material Check List (40).accdb.zip4 points
-
وعليكم السلام -يمكنك تحميل هذا من هنا فلا يحتاج الى تفعيل https://www.4shared.com/rar/vx1cv9Hxca/KutoolsforExcel1650.html وهذا رابط اخر http://www.mediafire.com/file/xcvjc4oywbvonda/Kutools.for.Excel.16.50.rar/file3 points
-
وعليكم السلام 🙂 وبدون انزال المرفق ، رجاء جرب هذا التعديل: =Nz(DSum("[mone]";"table1";"[client]='" & [x2] & "' and [id]<>" & [id]);0) جعفر2 points
-
ولقيت الحل ، بالاكسس 🙂 بس محتاج شوي علشان اعرضه ان شاء الله 🙂 جعفر2 points
-
2 points
-
اخي الفاضل قمت بتطبيق المعادله على الخليه E9 قم بسحب المعادله اسفل او اعلا وسوف تطبق على باقي الخلايا تنسيق ارقام.xlsx2 points
-
بعد إذن أستاذنا kha9009lid أ.أيمن عبادي .. هل هذا ما تريد ؟ NR in SubForm.accdb2 points
-
كان عليك رفع ملف للمعالجة لكن بامكانك تجربة هذا الشيء Abscence.xlsx2 points
-
السلام عليكم بعد اذن استاذى العزيز @essam rabea ارفق لك مثال للاستاذ رضا عقيل جزاه الله خيرا ان شاء الله تستفاد منه تقبل تحياتى وتمنياتى لك وللجميع بالتوفيق طبتم واهتديتم إضافة الرواتب للموظفين-لسنةوشهر ومكان العمل.rar2 points
-
- موديول إخفاء إطار الأكسس - التوسيط - التصغير بجوار الساعة - تغيير الأيقونة - استدعاء بيانات ورسائل من جدول تم وضع التذكيـــر الاتى برأس الموديول لسهولة التعامل مع الأكودا واستدعائها 'icon path >>---> CurrentProject.Path &"\"&"\File Library\Fav Ico\Myicon.ico" 'Hide Access >>---> CallStartForm() 'CenterObjects >>---> Call CenterFrm(Me) 'Minimize To Systray >>---> Call AppMini() 'To Quit Application >>---> Call AppQuit() 'To Close Any Forms >>---> Call AppCloseFrm() 'Application Name >>---> Call AppName() 'Designer Name >>---> Call DesName() 'Designer Phone >>---> Call DesPhone() 'Designer Email >>---> Call DesEmail() 'call Any Message From Table '>>>>> StrMyCriteria = "MyCriteria ='xxxx'" '>>>>> MyMesg (txtOfMesg), vbOKOnly, strMsgTitle '>>>>> Change "xxx" By Criteria From Table >> UsystblUsefulData << By Criteria From Field [MyCriteria] '>>>>> Example MyCriteria >>---->> msgDesData '>>>>> StrMyCriteria = "MyCriteria ='msgDesData'" '>>>>> MyMesg (txtOfMesg), vbOKOnly, strMsgTitle هذا المرفق الاول بدون عمل اختصار للبرنامج Utilities Hide Ico Minimze To SysTray.zip --------------------------------------------------------------- هذا المرفق للإضافة إختصار أليا الى سطح المكتب وتحكم كامل فى كل ما يخص الاختصار من الجدول UsystblUsefulData اسم الاختصار الوصف مفتاح الاختصار من الكيبور لفتح التطبيق وفى حالة عدم وجود اى بيانات بالجدول تخص الاختصار او عدم وجود ايقونة فى المسار المخصص يتم استخدام البيانات الاساسية والايقونة الاساسية Utilities Hide Ico Minimze To SysTray V.02.zip1 point
-
العفو منكم استاذى بل انا من يستوجب عليه الاعتذار لكم استاذى القدير ومعلمى القدير و والدى الحبيب الاستاذ @jjafferr الموضوع بالنسبة لى كان تقريبا شبة مستحيل لاننى بحث على الانترنت فى المواقع برسم الجداول برمجيا من خلال الـ vba وجدت القليل جدا بهذا الصدد وما لم استطع فهمه النتيجة الان بفضل الله تعالى ثم فضلكم استاذى الجليل رائعة باقى شئ بسيط وهو انت تظهر فقط البيانات فى الجزء العلوى او السفلى بناء على شرط true بما يتم اختياره والشكــر كل الشكر والتقدير لكم استاذى الجليل ومعلمى القدير و والدى الحبيب استاذ @jjafferr والشكــر كل الشكر والتقدير لكم استاذى الجليل ومعلمى القدير و اخى الحبيب استاذ @AlwaZeeR والشكــر كل الشكر والتقدير لكم استاذى الجليل ومعلمى القدير و اخى الحبيب استاذ @essam rabea1 point
-
السلام عليكم ورحمة الله حل باستعمال الدالتين INDEX و MATCH (بالفرنسية EQUIV) في الملف المرفق... بن علية حاجي Etude.xlsx1 point
-
1 point
-
السلام عليكم تم إضافة معادلة أخي الكريم سليم بتصرف طفيف (حسب ما تريد) وتم أيضا التعديل على الكود ليقوم بالعمل نفسه وبالشروط نفسها (في عمود آخر) وما يبقى إلا برمجة هذا الكود ليعمل تلقائيا عند فتح الملف (وعند التعديل على البيانات)... بن علية حاجي Book1 (3).xlsm1 point
-
السلام عليكم 🙂 في آخر مرفق ، انا جعلت البرنامج يجهز عدد السجلات مسبقا ، للتقرير الاساسي (اللي في الاسفل) ، والتقرير الفرعي اللي في الاعلى ، التقرير في الاسفل ، وتم حل مشكلته ، اما التقرير في الاعلى فكذلك تم حل مشكلة السجلات ، ولكن لما التقرير الاساسي ينتقل الى الصفحة التالية ، ما قادر اخلي التقرير الفرعي ينتقل للصفحة التالية !! في حل برمجي بعمل قالب في الوورد ، ثم نصدر البيانات هناك ، والظاهر يمكن نضطر نأخذ هذا الاتجاه !! هل من مساعدة يا شباب 🙂 جعفر1 point
-
1 point
-
ممكن تستخدم الكود التالى Sub my_fill() cmb_Fill.Clear For i = 2 To Cells(Rows.Count, "A").End(xlUp).Row cmb_Fill.AddItem (Cells(i, "A")) Next i End Sub و المجال مفتوح و قابل للتعديل مرفق ملف Fill_01.xls1 point
-
1 point
-
1 point
-
اخي احمد الفلاحجي هل ممكن نجعله رقم بدل رقم تلقاثي اي بعد الترتيب من رقم تلقائي ارجعه الى رقم كوني استخدم داله Dmax1 point
-
الوحدة النمطية دى ماليش دعوة بيها .. مش تبعى ومعرفش بتعمل ايه تقريبا انت شغال على أوفبيس 64 بت جرب تكتب PtrSafe بعد Declare1 point
-
أ.ramy145236 انا مش عارف كد انا فهمت ولا لأ .. جرب ووافنى بالنتيجة بالتوفيق final.zip1 point
-
أ.عبدالعزيز محمد هو صراحة ليس مطالب من السادة أعضاء ورواد المنتدى أن تنشئ جداول وملفات إكسيل حتى تحل لك مشكلة أنت أدرى بها وقد تفضل أخى @SEMO.Pa3x برفع مقاطع فيديو لشرح ما تريد من إستيراد جدول إكسيل الى الأكسيس .. وكان من الأحرى أن ترفق ملفاتك ليجرى العمل عليها فهناك طرق كثيرة لتنفيذ ما تفضلت وطلبته .. وبالنسبة لسرية البيانات كان يمكن التغلب عليها بإدراج 20 سجل فقط ببيانات وهمية وعموما 1- قم بربط ملف الإكسيل بالأكسيس المراد الاستيراد له (ملف الإكسيل يجب أن يحتوى على رأس جدول واحد) 2- قم بعمل إستعلام إلحاق من ملف الإكسيل المرتبط الى ملف الأكسيس إذا كان موجودا أو إستعلام إنشاء جدول من ملف الإكسيل الى إسم الجدول الجديد إن لم يكن موجودا 3- شغل الإستعلام .. مبروك جدول إكسيل تم نسخه 4- قم بحذف جدول الإكسيل المرتبط بالتوفيق1 point
-
1 point
-
1 point
-
وعليكم السلام مثال جميل الله يعطيك العافية اخي @أحمد الفلاحجى انا كانت ملاحظتي عن المرفق الاول لاني جربت تعديله الى مفتاح اساس وعمل علاقة تقبل كل الود 😃1 point
-
بالامكان جلب اي جزء من النموذج لصفحة تحدد للطباعة او استدعاء بيانات شخص معين ويطبع بياناته النموذج الاول والثاني1 point
-
1 point
-
جرب DoCmd.SetWarnings False Dim x1 (x1 = Nz(DLookup("barcode", "tabl1", "[barcode] = " & Me.aa), 0) If x1 = 0 Then "MsgBox "This code is not registered", vbMsgBoxRight + vbCritical, "notes" DoCmd.RunCommand acCmdSelectRecord DoCmd.RunCommand acCmdDeleteRecord else MsgBox " This is a registered code", vbMsgBoxRight + vbCritical, "notes" Exit Sub End If1 point
-
السلام عليكم حدد المدى اخي مايحتاج تحط مسمى لكل ورقة For Each ws In ThisWorkbook.Worksheets If ws.Name = Me.ComboBox3.Value Then With ws .Select Me.ComboBox1.RowSource = .Range("A6:A" & .Cells(.Rows.Count, "A").End(xlUp).Row).Address '"name1" ' A Me.ComboBox2.RowSource = .Range("B6:B" & .Cells(.Rows.Count, "B").End(xlUp).Row).Address '"data1" ' B End With End If Next1 point
-
جزاكم الله خــــــيرا ... استاذى الجليل ومعلمى القدير و والدى الحبيب اعتذر كثيرا كثيرا اننى كنت مصدر تعب وازعاج لكم وان كان الامر شاقا او مستحيلا والله يكفينى مروركم ويملئنى كل الرضا بذلك ويعلم الله اننى لو استطعت ان اقابل كل من حاول مساعدتى والله لأقبلن قدميه قبل قبل رأســـه جزاكم الله خيــــــــــــرا اسال الله تعالى لكم جميعا القبول ان شاؤ الله واسأله تعالى من فضله العظيم بكل اسم سمى به نفسه او انزله فى كتابه او علمه احد من خلقه ان يرزقكم البركة فى العمر والعمل والاهل والولد وان لايحرمكم من شربة هنيئة من يد حبيبنا نبينا محمد صل الله عليه وسلم على حوضه الشريف1 point
-
1 point
-
على اساس 11 سجل. الكلام عن الجزء العلوي: اذا كان عندنا 5 سجلات : الصفحة الاولى: نكتبها فوق ، وباقي 6 سجلات فارغة اسفلها ، والصفحة الثانية : فقط سجلات فارغة ، اذا كان عندنا 15 سجل : نكتب 11 فوق ، وطبعا مافي سجلات فارغة في اسفلها ، والصفحة الثانية : نكتب 4 سجلات ، وباقي 7 سجلات فارغة اسفلها هل هذا صح؟1 point
-
هو فيه صفحة تانية كمان .. مش عارف بصراحة .. تقبل عذرى1 point
-
1 point
-
تصدق والله انا فى الوقت الحالى مش فارق معايا الشرح انا عندى تفتيش دولى وهذه طلبات جديدة من ادارة الجودة1 point
-
تعديل بسيط على الكود وضع سطر اضافي بين علامات الـــ +++++ Option Explicit Dim ARR() Dim D As Worksheet, P As Worksheet, I# Sub Data_VAL() Dim K%: K = 1 Set D = Sheets("data"): Set P = Sheets("pv") For I = 1 To D.Cells(Rows.Count, 1).End(3).Row If D.Range("A" & I).Interior.Color = RGB(220, 230, 241) Then ReDim Preserve ARR(1 To K) ARR(K) = D.Range("A" & I).Value K = K + 1 End If Next With P.Range("H5").Validation .Delete .Add 3, , , Join(ARR, ",") End With End Sub '++++++++++++++++++++++++++++++++++++++++++++ Sub get_data() Dim First_Ro%, Laste_ro% Dim Copy_RG As Range Dim clas Dim m%: m = 11 Dim col: col = 2 Set D = Sheets("data"): Set P = Sheets("pv") P.Range("A11:C500").ClearContents P.Range("I11:K500").ClearContents clas = P.Range("H5").Value First_Ro = D.Range("A:D").Find(clas, after:=D.Cells(1000, 1), LOOKAT:=1).Row + 4 Laste_ro = D.Range("A" & First_Ro).End(4).Row Set Copy_RG = D.Range(Cells(First_Ro, 2), Cells(Laste_ro, 3)) For I = 1 To Copy_RG.Rows.Count '++++++++++++++++++++++++++++++ If I > P.Range("H6") Then Exit Sub '+++++++++++++++++++++++++++++++ If m = 36 Then m = 11: col = 10 With P.Cells(m, col - 1) .Value = I .Offset(, 1) = Copy_RG.Cells(I, 1) .Offset(, 2) = Copy_RG.Cells(I, 2) End With m = m + 1 Next End Sub الملف من جدبد med_SALIM_new.xlsm1 point
-
اهلا بك فى المنتدى وذلك بإستخدام هذه المعادلة =SUMIFS(INDIRECT("'"&F$1&"'!$F:$F"),INDIRECT("'"&F$1&"'!$D:$D"),$D2,INDIRECT("'"&F$1&"'!$E:$E"),$E2) نموذج1.xlsx1 point
-
جرب المرفق واعتذر ما انتبهت لاعادة رفعك للموضوع NR in SubForm.accdb1 point
-
ما هي دي نفس المعادلات شغالة زي الفل في الملف المرفق book_s.xls1 point
-
هذا ماكرو اخر يعتمد على المصفوفات (يجب ان يكون اسرع بكثير خاصة اذا كانت البيانات كثيرة ) لا وجد لاي معادلة Option Explicit Sub get_val_BY_ARRYS() Dim My_Sh As Worksheet Dim ARR, S#, T#, R#, I#, k As Byte Set My_Sh = Sheets("Sheet1") R = My_Sh.Cells(Rows.Count, 3).End(3).Row My_Sh.Range("E4").Resize(R - 3, 4).ClearContents For I = 4 To R With My_Sh.Range("D" & I) If Not IsNumeric(.Value) Then GoTo next_i Select Case .Value Case Is < 100: ARR = Array(.Value, "", "") Case Is < 200: ARR = Array(100, .Value - 100, "") Case Is > 200: ARR = Array(100, 100, .Value - 200) End Select .Offset(, 1).Resize(, 3).Value = ARR For k = LBound(ARR) To UBound(ARR) If IsNumeric(ARR(k)) Then T = ARR(k) * Range("L4").Offset(, k) Else T = 0 End If: S = S + T Next .Offset(, 4) = S: S = 0 End With next_i: Next End Sub1 point
-
بعد اذن الاستاذ هذا الكود يطبع جميع الشيتات باستثناء شيت DATA ويمكنك تعديله حسب المدى المطلوب sub test 'كود طباعة جميع الشيتات dim ws as worksheet dim sh as worksheet: set sh = sheets("DATA") ' الشيت المستثنى من الطباعة Dim lr As Long For Each ws In Sheets lr = ws.Range("a" & Rows.Count).End(xlUp).Row If ws.Name = "DATA" Then GoTo 1 ' الشيت داتا سميه ما شئت ولك غيره في السطر الثاني و السادس ws.Range("a1:g" & lr).PrintOut 1: Next ws end sub1 point
-
1 point
-
تفضل لك ما طلبت على الرغم انى افضل العمل على ملف الإكسيل مباشرة دون العمل على الفورم Followup patients.xlsm1 point
-
1 point
-
1 point
-
استبدل هذا: Expr1: DSum("[Rest_leave]","vacations","[EmpID]=" & [EmpID] & "") بهذا: Expr1: Nz(DSum("[Rest_leave]","Vacations","Nz([EmpID],0)=" & Nz([EmpID],0) & "AND Nz([ID],0)<=" & Nz([ID],0)),0) اجازات الموظفين.rar1 point