-
Posts
4383 -
تاريخ الانضمام
-
Days Won
183
نوع المحتوي
التقويم
المنتدى
مكتبة الموقع
معرض الصور
المدونات
الوسائط المتعددة
كل منشورات العضو Foksh
-
منع المستخدم الوصول الى جدول الارتباط
Foksh replied to Abdelaziz Osman's topic in قسم الأكسيس Access
وعليكم السلام ورحمة الله وبركاته .. اجعل الجداول الخلفية محمية بكلمة مرور . -
تعقيباً مع أستاذي ومعلمي @ابوخليل ، لفت انتباهي كلمة :- وبناءً عليه فإذا كان الزر المخصص لإنشاء سجل جديد في النموذج الرئيسي ، فيكون مقترح معلمي الفاضل كالآتي :- Me.Sub_Form.Form.AllowAdditions = True DoCmd.GoToRecord , , acNewRec Me.Sub_Form.Form.AllowAdditions = False
-
حضور وانصراف الموظفين .. بسيط مختصر .. وجاهز للعمل
Foksh replied to ابوخليل's topic in قسم الأكسيس Access
قد تحتاج لدالة فحص ما إذا كان الجهاز متصل بالإنترنت أملا ، فإذا كان متصلاً فيتم جلب الساعة من السيرفر ، وإلا فيتم عرض رسالة أو اعتماد ساعة الجهاز الحالية ( حسب الحالة ) . -
صاحب الموضوع متمسك بالحدث المتعلق بالنموذج وليس بزر الحذف نفسه .. دائماً ما يلجأ البعض إلى الطرق الأصعب أو التي قد لا تحقق الهدف بشكل مباشر 🤷♂️
-
لن اخالف نظرة معلمي الثاقبة والصائبة والسليمة 10000% . كلامك صحيح من الجهة المنطقية ، ولكن من يرغب بالتشفير لن يأبه بهذا المنطق وسيتجه إلى إخفاء جميع السجلات ، مع العلم أن ما تفضلتم به عين الصواب والدقة عند التعامل مع التواريخ والتصفية .... إلخ . حيث ان ردي بناءً على سؤال السائل رغم أن الإجابة ستجعله مستقبلاً يلحظ أهمية نظرتكم معلمي @ابوخليل .
-
التشفير لن يكون أثناء تسجيل البيانات ، بل عند الحفظ أو الخروج من النموذج ، ولذلك قد تكون فكرة التوسع في عملية التشفير بحيث يتم تطبيقها على السجل الحالي أمر مرهق لقاعدة البيانات . تتبع الفكرة السابقة في إجابتي .. الحقول الرقمية والتاريخ يمكن تشفيرها بحيث نجعل نوع الحقل في الجداول نصية وليست حقول رقمية أو تاريخ و وقت ( بناءً على فكرتي السابقة طبعاً ) التطويرات والتحديثات والتعديلات متاحة لك كيفما شئت . وأشعر بأنك متمكن من التعديل والتطوير كيفما تريد
-
أخي الكريم ، لماذا لا تبحث عن طريقة التنفيذ المستقر والآمن لأي فكرة تريدها ؟؟ فأنا لم أجرب الحدث من خلال النموذج كما في فكرة الأستاذ خليفة جزاه الله خيراً ، ولذا ننتظر الإجابة من صاحب الإجابة بخصوص فكرته
-
رغم أن ملفك الذي ارفقته لا يحمل أسماء الحقول التي أخبرتنا بها في رأس الموضوع ، وهذا شيء مربك لك . فلو أنك من البداية أرفقت ملفك لكنت الآن قد انتهيت من مشكلتك منذ الرد الأول .. على العموم , هذا ملفك الذي ارسلته بالتطبيق الكامل .. FMK.zip
-
هذا ليس الكود الذي ارفقته لك بدايةً .. ثم أنه لا بد من أن تقوم بالتفريق بين حقل وعنصر مربع نص الحقل أحد مكونات الجدول . أما العنصر T4 الذي تقصده فهو مربع نص مصدره في جدوله = الحقل TENDER_NO شكراً لك ..
-
دلالة على انك لم تقرأ الكود وتتفحصه اخي الكريم .. لاحظ الجزء التالي :- t4Value = Me.T4 userName = Environ("Username") computerName = Environ("ComputerName") sql = "INSERT INTO hestable (oldrec, [User], Comname, curdata) " & _ "VALUES ('" & Replace(t4Value, "'", "''") & "', '" & Replace(userName, "'", "''") & "', '" & Replace(computerName, "'", "''") & "', Now());" On Error GoTo ErrHandler CurrentDb.Execute sql, dbFailOnError جملة تنفيذ استعلام اضافة داخل الجدول أولا . ثم :- DoCmd.SetWarnings False DoCmd.RunCommand acCmdDeleteRecord DoCmd.SetWarnings True جملة حذف السجل ثانياً
-
الخلل في طريقة تنفيذك ونقلك للفكرة . ما لم تقم بارفاق ملفك مع العلم انك قمت باختيار الاجابة ... فكيف هذا !!!!
-
وعليك السلام ورحمة الله وبركاته .. الق نظرة القابلة للتطوير على هذه الفكرة في الموضوع التالي :-
-
لمن يهمه الأمر هدية تسجيل وحجوزات واستدعاءات مستشفى
Foksh replied to kkhalifa1960's topic in قسم الأكسيس Access
الله يعطيك الصحة أستاذنا خليفة ,, وجزاك الله خيراً على هديتك المقبولة .. -
وعليكم السلام ورحمة الله وبركاته .. يبدو أنك تريد نقل الأفكار إلى مشروعك مباشرةً .. صحيح ؟؟ طيب ، ومشاركةً مع الأستاذ @kkhalifa1960 ، هذه فكرة أخرى من خلال زر الحذف نفسه . حيث استعملت الفكرة التالية في الزر فقط :- Private Sub Btn_Del_Click() Dim Response As VbMsgBoxResult Dim t4Value As Variant Dim userName As String Dim computerName As String Dim sql As String Response = MsgBox("هل أنت متأكد أنك تريد حذف هذا السجل؟", vbYesNo + vbQuestion + vbMsgBoxRight, "") If Response = vbYes Then If IsNull(Me.T4) Or Me.T4 = "" Then MsgBox "لا يمكن تسجيل الحذف لأن الحقل T4 فارغ", vbExclamation + vbMsgBoxRight, "" Exit Sub End If t4Value = Me.T4 userName = Environ("Username") computerName = Environ("ComputerName") sql = "INSERT INTO hestable (oldrec, [User], Comname, curdata) " & _ "VALUES ('" & Replace(t4Value, "'", "''") & "', '" & Replace(userName, "'", "''") & "', '" & Replace(computerName, "'", "''") & "', Now());" On Error GoTo ErrHandler CurrentDb.Execute sql, dbFailOnError DoCmd.SetWarnings False DoCmd.RunCommand acCmdDeleteRecord DoCmd.SetWarnings True Else MsgBox "تم إلغاء عملية الحذف", vbInformation + vbMsgBoxRight, "" End If Exit Sub ErrHandler: MsgBox "حدث خطأ أثناء تسجيل الحذف", vbCritical + vbMsgBoxRight, "خطأ" End Sub TrackDelete.zip
-
أين المرفق الذي تريد التعديل عليه 😅 ؟؟؟ مع أن الأمر هيّن إن شاء الله
-
مشكلة عند التعديل على التقارير تظهر هذه الرسالة
Foksh replied to Haider Ghost's topic in قسم الأكسيس Access
وعليكم السلام ورحمة الله وبركاته .. أخي الكريم المشكلة واضحة من الرسالة ، حيث أن لديك thma_Person مفقود وهو نموذج .. غير موجود في قاعدة بياناتك . -
كلا أخي الكريم 😅 ، الخطأ في طريقة التنفيذ . لذا قمت بإضافة دالة بسيطة تقوم بتحديث الحقل الخاص بمسار الصور من خلال الدالة التالية :- Public Sub UpdateImagePaths() Dim dbPath As String Dim newBasePath As String Dim sql As String dbPath = CurrentProject.Path newBasePath = dbPath & "\Images\" sql = "UPDATE tblImportExcel SET PicPath5 = '" & newBasePath & "' & Mid(PicPath5, InStr(PicPath5, 'Images') + 7);" DoCmd.SetWarnings False DoCmd.RunSQL sql DoCmd.SetWarnings True End Sub واستدعاءها في حدث عند الفتح للنموذج أو اي نموذج يعمل في بداية المشروع . انظر ملفك وانقله على اي مكان تريد وجربه الآن . البرنامج.zip
-
وعليكم السلام ورحمة الله وبركاته.. دون تحميل الملف المرفق ، فقط حول الحقل الى حقل مرفقات . ولكنك هنا ستواجه مشكلة في تضخم حجم قاعدة البيانات مستقبلاً اخي الكريم. الكثير من المواضيع تحدثت عن هذه المشكلة وكان الحل بحفظ الصور والمرفقات بمجلد بجانب قاعدة البيانات.
-
هههههه نفس المبدأ تقريباً ، ولكن هنا عند التحميل يفرض القيمة دائماً وهي أسلم وأأمن .. المهم اطلاق سراحه بدون قيود 😅
-
آمين يا رب العالمين .. وإياكم معلمي الفاضل .. وحيث أن الفكرة ينقصها شيء واحد ، وهو عند تحميل البيانات ستجد فقط السجل الأول هو من يعرض البلدية في الكومبوبوكس ( داخل النموذج الفرعي الثاني ) .. وهنا أعتقد لأن مصدره ( الكومبوبوكس الخاص بالبلدية ) يحتوي شرط للفلترة ولزوم حذف الشرط يظهر لنا القيم الحقيقية من مصدرها لكل سجل . جرب الفرق ، بما أننا نقوم بتعيين مصدر القيم للكومبوبوكس عند تحديث اسم الولاية ( صحيح ؟؟ )
-
تم تعديل النسخة 32 في نفس المشاركة ، شكراً لك معلمي الفاضل للمتابعة
-
في الكومبوبوكس "Wil_Miled" قمت كتجربة بتغيير الحدث بعد التحديث من :- Me.Com_Miled.Requery ليصبح في النموذج الفرعي F2_Sub كالتالي ( كتجربة ) :- Private Sub Wil_Miled_AfterUpdate() If Not IsNull(Me.Wil_Miled) Then Me.Com_Miled.RowSource = _ "SELECT TblWsub.ID, TblWsub.N_C, TblWsub.Code_W " & _ "FROM TblWsub " & _ "WHERE TblWsub.Code_W = " & Me.Wil_Miled & " " & _ "ORDER BY TblWsub.N_C;" End If End Sub وكانت النتيجة كالتالي :- إلا أنني غير راضٍ عن الفكرة 😢 . رغم أن أحد التقويض في الحلول هو أن النماذج الفرعية = نماذج مستمرة !!!!
-
بما أن أفكار معلمي أبو خليل لا تنتهي ( مشكوراً على جهوده التي نتعلم منها ) . وددت المشاركة على الهامش في ملف المشاركة الأصلية كالتالي .. في مربع النص "مكان الميلاد" الحدث نفسه عند الخروج ( كما هي رغبة أخي طاهر ) :- Private Sub مكان_الميلاد_Exit(Cancel As Integer) Dim sourceInfo As String sourceInfo = Me.Name & "|" & Me.Parent.Name DoCmd.OpenForm "C1", , , , , , sourceInfo End Sub طبعاً هذا الكود سيمرر اسم النموذج الفرعي واسم النموذج الرئيسي مفصولين بإشارة "|" إلى النموذج "C1" الآن في النموذج "C1" قمت بحجز المتغيرين والحدث التالي عند تحميل النموذج :- Private sourceSubform As String Private sourceMainForm As String Private Sub Form_Load() If Not IsNull(Me.OpenArgs) Then Dim parts() As String parts = Split(Me.OpenArgs, "|") If UBound(parts) = 1 Then sourceSubform = parts(0) sourceMainForm = parts(1) End If End If End Sub وفي الكومبوبوكس Com_Miled ، قمت بتحديث الكود ليصبح :- Private Sub Com_Miled_AfterUpdate() If sourceSubform <> "" And sourceMainForm <> "" Then With Forms(sourceMainForm).Controls(sourceSubform).Form .Com_Miled = Me.Com_Miled .Wil_Miled = Me.Wil_Miled End With End If DoCmd.Close acForm, Me.Name End Sub وبالتالي النتيجة خرجت معي بهذا الشكل :- ملاحظة :- لم أقم بالإطلاع على أي ملف مرفق تمت مشاركته .. WIL.zip
-
إدراج نص داخل نص بموضع معين من خلال النقر على زر
Foksh replied to nssj's topic in قسم الأكسيس Access
لم أفهم ما ترمي إليه .. -
إدراج نص داخل نص بموضع معين من خلال النقر على زر
Foksh replied to nssj's topic in قسم الأكسيس Access
بالضبط ، أخي الكريم .. الأمر SendKeys له تأثير على مفتاح الـ NumLock . ولكن هناك دوال يمكن ان تتفقد حالته وتعيد تشغيله عندما تكون حالته = Off يمكن استخدام التعبير & vbCrLf & لإضافة سطر جديد . على سبيل المثال :- vbCrLf & "= "