-
Posts
4379 -
تاريخ الانضمام
-
تاريخ اخر زياره
-
Days Won
183
نوع المحتوي
التقويم
المنتدى
مكتبة الموقع
معرض الصور
المدونات
الوسائط المتعددة
كل منشورات العضو Foksh
-
لن اخالف نظرة معلمي الثاقبة والصائبة والسليمة 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 & "= " -
إدراج نص داخل نص بموضع معين من خلال النقر على زر
Foksh replied to nssj's topic in قسم الأكسيس Access
العفو أخي الكريم -
إدراج نص داخل نص بموضع معين من خلال النقر على زر
Foksh replied to nssj's topic in قسم الأكسيس Access
ههههه ، ولا يهمك أخي .. خليني أوضح لك الفكرة بإجابات على اسئلتك .. نعم بالضبط حيث أن SelStart هو رقم يمثل موقع بداية المؤشر داخل النص ، ويبدأ العد من 0 ( يعني أول حرف في النص موقعه = 0 ) نعم بالضبط ، اجعل المتغير beforeText يحتوي على كل النص الذي يسبق موقع المؤشر كلام سليم بالضبط ، اجعل المتغير afterText يحتوي على كل النص الذي يأتي بعد المؤشر السطر الأول يعيد المؤشر إلى ما بعد النص الذي تم إدراجه السطر الثاني يجعل تحديد النص = 0 . أي عند تنفيذ الإضافة النصية من الزر فإنه سيتم نقل التركيز الى مربع النص وبالتالي سيتم تحديد كامل النص ، ونحن لا نريد هذا طبعاً ، وبالتالي المهمة المطلوبة هي فقط أن يتم وضع المؤشر في المكان الجديد ( الذي تم تحديده قبل الإضافة طبعاً ) بدون تظليل النص . -
إدراج نص داخل نص بموضع معين من خلال النقر على زر
Foksh replied to nssj's topic in قسم الأكسيس Access
تمام اخي الكريم .. بداية وحتى تتوضح فكرتي بالتنفيذ ، سنعتمد على حدث عند النقر لمربع النص NASSbox . بحيث نتعرف على موقع المؤشر من خلال ما يلي :- في مديول ، نقوم بحجز المتغير في بداية المديول مع الدالة الرئيسية :- Public cursorPosition As Long Public Sub InsertAtRememberedCursor(ByVal i As String) Dim ctl As Control Set ctl = Forms!Assaker!NASSbox ctl.SetFocus Dim currentText As String currentText = ctl.Text Dim beforeText As String Dim afterText As String Dim insertText As String insertText = vbCrLf & i & "= " beforeText = Left(currentText, cursorPosition) afterText = Mid(currentText, cursorPosition + 1) ctl.Text = beforeText & insertText & afterText ctl.selStart = cursorPosition + Len(insertText) ctl.SelLength = 0 End Sub الآن في النموذج وفي حدث عند النقر على مربع النص المستهدف :- Private Sub NASSbox_Click() DoEvents cursorPosition = Me.NASSbox.selStart End Sub ثم في حدث عند النقر للأزرار ، كل زر ليقوم بإضافته الخاصة به داخل النص ، من خلال الإستدعاء التالي لها :- Private Sub insert1_Click() Call InsertAtRememberedCursor("1") End Sub Private Sub insert2_Click() Call InsertAtRememberedCursor("2") End Sub Private Sub insert3_Click() Call InsertAtRememberedCursor("3") End Sub وبالتالي ، تكون النهاية كما رأيت في الصورة السابقة . المرفق :- Assaker.zip -
إدراج نص داخل نص بموضع معين من خلال النقر على زر
Foksh replied to nssj's topic in قسم الأكسيس Access