نجوم المشاركات
Popular Content
Showing content with the highest reputation on 09/14/19 in all areas
-
السلام عليكم Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer) If KeyCode = 46 Then ' your msg exit sub End If End Sub5 points
-
في الملف المرفق عندنا جدول من A1 الى F8 وعلى المستخدم ان يملؤه بالترتيب (في كل صف) مثلا اذا قمت بالكتابة في الخلية D4 و كان ما قبلها فارغاً (C4) يقوم الدكتور اكسل بمسح ما قمت بكتابته بعد الخروج من الخلية دون انذار و اذا حذفت اول خلية بالصف يتم حذف كامل الصف الكود Option Explicit Private Sub Worksheet_Change(ByVal Target As Range) Application.EnableEvents = False If Not Intersect(Target, Range("A1:F8")) Is Nothing Then If Target.Count = 1 Then del_to_Column (Target.Row) End If End If Application.EnableEvents = True End Sub '================================ Sub del_to_Column(R) Dim My_rg As Range, R_Empty As Range Dim Col% Set My_rg = Cells(R, 1).Resize(, 6) Col = My_rg.Columns.Count Set R_Empty = My_rg.Find(vbNullString, After:=Cells(R, 6)) If Not R_Empty Is Nothing Then R_Empty.Resize(, Col - R_Empty.Column + 1) = vbNullString End If End Sub الملف مرفق write_by_order.xlsm3 points
-
أعتقد أن فكرة البرنامج بسيطة بامكانك أن تفتح موضوع جديد (واجعلها فرصة لتعلم مهارات جديدة مع الأكسس) لتبدأ العمل خطوة خطوة مع مشاركة اخوتك أعضاء المنتدي (عملا يتناسب مع احتياجاتك) وإن شاء الله ستحصل علي ما تريد وأكثر. أو قم بالبحث داخل المنتدي لعلك تجد شيئا مشابها لما تريد مفتوح المصدر.3 points
-
على اعتبار ان حقل المجموع اسمه = txtQuantity ضع هذا الكود على زر الامر جديد Select Case Nz(txtQuantity, "") Case "" MsgBox "Quantity is empty, include the Quantity please" Case Is <= 0 MsgBox "Quantity is zero or less, include the Quantity please" Case Is > 0 DoCmd.GoToRecord , , acNewRec End Select3 points
-
في مربع نص الكمية وفي حدث عند الخروج ضع هذا الكود ... مع تعديل ما يلزم If IsNull(Me.Namex) Then ' Namex هو اسم مربع نص الكمية MsgBox "ادخل بيانات", vbCritical, "dATA" DoCmd.CancelEvent End If3 points
-
السلام عليكم هذا البرنامج محمي - يجب الرجوع لمالكه - والا كان هذا تعدي علي حقوق الغير, وهذا لن تجد من يساعدك عليه هنا!!! اذا كنت متأكد أن صانع هذا البرنامج من أحد الأعضاء بالمنتدي يمكنك مخاطبته مباشرة وطلب المساعدة أو يمكنك طرح فكرتك التي تريد أن تقوم بها وستجد ايادي العون البيضاء من اخوتك بالمنتدي قد امتدت اليك من كل جهة ان شاء الله3 points
-
3 points
-
أحسنت استاذ سليم كود ممتاز بارك الله فيك وجزاك الله كل خير3 points
-
وذلك بهذا الكود Sub InsertPageBreaksByKeyphrase() Dim rangeSelection As Range Dim cellCurrent As Range Set rangeSelection = Application.Selection ActiveSheet.ResetAllPageBreaks For Each cellCurrent In rangeSelection If cellCurrent.Value = "رقم البطاقة التموينية" Then ActiveSheet.Rows(cellCurrent.Row + 1).PageBreak = _ xlPageBreakManual End If Next cellCurrent End Sub3 points
-
3 points
-
3 points
-
تفضل جرب هذا الفيديو https://www.youtube.com/watch?v=0NBrHj5Ca4E3 points
-
3 points
-
اهلا بك بشمهندس ... بالعكس كثرة و تنوع الردود يثري الموضوع ... لا داعي للاعتذار انا استفدت من ردك ... لان هذه الردود تمثل عصف ذهني لمجموعة متحاورة ولسنا في سباق ... بارك الله فيك اخي الفاضل ... اسأل الله العظيم ان يديم علينا جميعا بالصحة والعافية ⚘⚘2 points
-
عذرا استاذى الفاضل واخى الحبيب والله لم انتبه لمشاركتكم واعتذر جدا جدا جدا جدا لا اعرف كيف حدث ذلك2 points
-
جرب هذا الماكرو بالنسبة للملفات HR_test Option Explicit Sub copy_data() Dim S As Worksheet: Set S = Sheets("Shift Schedule") Dim O As Worksheet: Set O = Sheets("Overtime") Dim A As Worksheet: Set A = Sheets("Attendance") Dim Final_S: Final_S = S.Cells(Rows.Count, 1).End(3).Row Dim Final_O: Final_O = O.Cells(Rows.Count, 1).End(3).Row Dim Final_A: Final_A = A.Cells(Rows.Count, 1).End(3).Row Dim Rs As Range: Set Rs = S.Range("A8:AG" & Final_S) Dim RO As Range: Set RO = O.Range("A8:AG" & Final_O) Dim RA As Range: Set RA = A.Range("A8:AG" & Final_A) Dim i%, xO%, XA%, xx% xO = RO.Rows.Count: XA = RA.Rows.Count Rs.ClearContents i = 1: xx = 8 Do Until i > xO S.Cells(xx, 1) = RO.Cells(i, 1) S.Cells(xx, 3).Resize(, RO.Columns.Count - 2).Value = _ RO.Cells(i, 3).Resize(, RO.Columns.Count - 2).Value i = i + 1: xx = xx + 2 Loop i = 1: xx = 9 Do Until i > XA S.Cells(xx, 1) = RA.Cells(i, 1) S.Cells(xx, 3).Resize(, RA.Columns.Count - 2).Value = _ RA.Cells(i, 3).Resize(, RA.Columns.Count - 2).Value i = i + 1: xx = xx + 2 Loop End Sub الملف مرفق Salim_TEST3.xlsm2 points
-
2 points
-
شكرا أستاذ Barna وشكرا لك أستاذ ابا جودى الطريقتين تعملان و بفعلية شكرا جزيلا2 points
-
اخي الكريم لنفترض انه لديك جدول للمستخدمين (UserId , UserName , Password , UserTayb, Additions (Yeas / No), Deletions (Yeas / No), Edits (Yeas / No)) ففي شاشة الدخول LOGIN نحتاج لتعريف متغيرات عامة من نوع Global حسب جدول المستخدمين ففي حال تطابق اسم المستخدم مع كلمة المرور يتم جلب بيانات المستخدم و تخزينها في المتغييرات اذا فالفكرة العامة بأن نقوم بجلب صلاحيات المستخدم و تطبيقها على جميع النماذج من خلال الاتصال بالموديل Call ففي جميع الأحوال يتم التطبيق حسب حاجة التصميم لديك2 points
-
تفضل التعديل اخي الكريم ==>> بالماكرو Database2.accdb2 points
-
2 points
-
تحياتي الخالصة تفضل المطلوب في الملف المرفق... بن علية حاجي تقرير (1).xlsx2 points
-
هو لا يريد منع الحذف .. يريد منع الحذف من لوحة المفاتيح والسماح بالحذف من النموذج2 points
-
تفضل اخي الكريم هذا الكود لانشاء نسخة احتياطية مماثلة في ازرار النسخة الاحتياطية ضع في حدث عند الضغط الكود التالي كما انصحك بأن تضع هذا كود ضمن امر الحفظ Dim MyFile, DstFile As String Dim Syso As Object On Error GoTo ErrH MyFile = CurrentProject.FullName DstFile = CurrentProject.Path & "\Backup-" & Format(Date, "dd-mm-yyyy") & ".accdb" DBEngine.Idle Set Syso = CreateObject("Scripting.FileSystemObject") Syso.copyfile MyFile, DstFile Set Syso = Nothing Name DstFile As DstFile & ".ptc" DBEngine.CompactDatabase DstFile & ".ptc", DstFile Kill DstFile & ".ptc" MsgBox "تم انشاء قاعدة البيانات بنجاح" & vbNewLine & "Database successfully created" & vbNewLine & vbNewLine & "" & "اسم قاعدة البيانات" & vbNewLine & "The name of the database" & vbNewLine & "" & vbNewLine & "Backup-" & Format(Date, "dd-mm-yyyy") & vbNewLine & vbNewLine & "" & "مسار القاعدة الجديدة" & vbNewLine & "Path of the new rule" & vbNewLine & "" & vbNewLine & DstFile, vbMsgBoxRight + vbOKOnly, "emphasis" & "/" & "تاكيد" Exit Sub ErrH: Select Case Err.Number End Select2 points
-
اخي الكريم ضع في حدث عند الفتح الكود التالي لمنع الحذف Me.AllowDeletions = False =================================== خيارات اخرى يمكن وضعها مع صلاحيات المستخدمين لمنع التعديل Me.AllowEdits = False لمنع الاضافة Me.AllowAdditions = False2 points
-
Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer) If KeyCode = 46 Then KeyCode = 0 MsgBox "يمكنك الحذف من النموذج فقط" End If End Sub2 points
-
عليكم السلام عنوان الموضوع غير مناسب ، ولكن دعني أسألك قبل ان نشرع في تعديله بداية يجب ان تعلم انه لا يمكنك نسخ الحقول ذات البيانات المتعددة عن طريق الاستعلام ولكن يمكننا نسخ الجدول بكامله ولصق صورة منه بجانبه وهذا يعني انك في المستقبل وحين تريد اخذ نسخة جديدة ان تأخذ باعتبارك البيانات الموجودة في النسخة السابقة ، وايضا هل البيانات في الجدول الآصلي زادت فقط ام تم حذفها وسجلت البيانات من جديد ؟ يترتب على الكلام اعلاه .. احد اجرائين : 1- تكرار النسخ 2- تحديث النسخة السابقة انتظر ردك وتعليقك2 points
-
أحسنت استاذ مجدى عمل رائع بارك الله فيك ورحم الله والديك2 points
-
1 point
-
السلام عليكم و رحمة الله و بركاته الملف المرفق عبارة عن حماية من التلاعب بتاريخ البرنامج و ذلك عن طريق مراقبة التاريخ و الوقت الموجود في الحاسوب .. دمتم بخير تحياتي لكم منع التلاعب في التاريخ.mdb1 point
-
1 point
-
اليوزر والباسورد 1 1 2 2 هذا المثال يا استاذ @محمد صلاح1 فى ابسط حالاته بعد التعديل البسيط حسب طلبك الكود الذى يتم وضعه على النماذج للتاكد من الصلاحيات المعطاه FrmAbilities (Me.Name) If ContinueCode = False Then Exit Sub والتقرير ReportAbilities (Me.Name) If ContinueCode = False Then Exit Sub مثال صلاحيات.mdb1 point
-
1 point
-
1 point
-
1 point
-
السلام عليكم ورحمة الله تعالى وبركاته اتقدم اليكم بإهداء بسيط جدا تحويل الرسائل الى نماذج والتحكم الكامل فى الية الظهور والاغلاق والشكل والمضمون ونص الرسالة وعنوانها ولون الخط وحجمه ...... frmMassage.rar1 point
-
السلام عليكم-تم التوفيق لإضافة رفع ملفات الإكسيل ذات الإمتداد Xlsb بدون ضغط وذلك لتسهيل رفع الملفات الضخمة المعقدة ذات المعادلات الكثيرة بارك الله فيك استاذ محمد طاهر والى الأمام والتفوق دائما1 point
-
احسنت استاذ بن علية معادلة ممتازة داخل التنسيق الشرطى بارك الله فيك وزادك الله من فضله1 point
-
وعليكم السلام تفضل اخي ان شاء الله تجد ضالتك هون البركه في استاذنا محمد صالح الله يعطيه العافيه صاحب البرنامج لعلك تستفيد منه لجميع مفاتيح الكيبورد open form by keys.accdb1 point
-
1 point
-
وعليكم السلام جرب هذه المعادلة =distVincenty(SignIt(A3), SignIt(B3), SignIt(C3), SignIt(D3))1 point
-
1 point
-
1 point
-
بارك الله فيك استاذنا الكريم وجزاك الله كل خير حقا كود رائع جعله الله فى ميزان حسناتك1 point
-
1 point
-
أخى الكريم من فضلك لاحظ ذلك فى ملفك ان الأقسام الموجودة فى صفحة بيانات غير مساوية وغير مطابقة للأقسام الموجودة فى صفحة بيانات التلاميذ -عليك تعديل هذا ورفع الملف مرة اخرى بعد التعديل جزاك الله كل خير1 point
-
1 point
-
أهلا بك اخ واستاذ كريم فى منتدانا- شكرا لك على هذا الشرح الجميل والأروع ان تقوم برفع ملف العمل لتكتمل الإستفادة لكل الأعضاء جزاك الله كل خير1 point
-
اخي جعفر طبعا فكرة ادخال الدالة format في الطرفين : طرف المعيار وطرف القيمة المعلمة ! ليست جديدة عليكم ولكن قد يكون تطبيقها هو الذي جعلكم تبحثون عن فكرة وهي ابسط حقوق المبرمج ! الآن راح نشوف الاكسس لضمان تساوي التنسيق ! في ال sql Set rst = CurrentDb.OpenRecordset("Select DISTINCT cen, [Date] From tbl_T Where format([date],'dd/mm/yyyy')='" & Format(idate, "dd/mm/yyyy") & "'") هنا نلاحظ ان السر في عدم استخدام # واستبدالها ب ' لانه اصبحت المقارنة نصية ! والافضل وضع تنسيق التاريخ بهذا الشكل mmddyyyy في دالة ال dcocunt RC4 = DCount("*", "tbl_T", "format([Date],""ddmmyyyy"") =Format(idate, ""ddmmyyyy"")") بالتوفيق1 point
-
السلام عليكم ورحمة الله عمل جميل ورائع... جزاك الله عنا خير الجزاء ووفقك لما يحب ويرضى... والله بقيت مندهشا لهذا العمل... تجد في النهر ما لا تجد في البحر.... باركك الله وزادك من علمه... ولا تحرمنا مما علمك الله...1 point