-
Posts
4288 -
تاريخ الانضمام
-
تاريخ اخر زياره
-
Days Won
181
نوع المحتوي
التقويم
المنتدى
مكتبة الموقع
معرض الصور
المدونات
الوسائط المتعددة
مشاركات المكتوبه بواسطه Foksh
-
-
9 ساعات مضت, RAIANESAMI said:
نرجوا منكم كيف اضافة سجلات موجودة في جدول T1 الى جدول آخر T2
تفضل أخي الكريم / ملفك بعد التعديل وتوسيع النطاق في العمل .
وأرجو منك الإهتمام بمواضيعك وأغلاق ما يستحق الإغلاق إشعاراً للقارئ بأن الموضوع قد تم حله والإجابة عليه . فتفاعلك يعكس فكرك
.
-
1
-
-
وجب مني التوضيح وبما أننا نتعامل مع الصور حالياً ، فإن آكسيس وباستخدام مسار وهمي لملف غير موجود سينتج لك خطأ قريباً من هذا :-
وبالتالي ، الداعي للتوضح يستدعي التنقيح .
-
2 دقائق مضت, ابوخليل said:
ولكن ليس الهدف اظهار وحذف .. الهدف ان تظهر عن طريق متغير ان امكن .. هذا كل شيء
امممم .. دعني أسلك نقاشاً كنت قد تطرقت له برؤوس أقلم في موضوع حماية الجداول على ما اعتقد ....
نفذت سابقاً فكرة تقوم بالخطوات التالية من الفتح الى الاغلاق ..
- عند فتح قاعدة البيانات وفي نموذج البداية Frm_Start سيقوم هذا النموذج أولاً بحذف لقاعدة بيانات خلفية وهمية ( قاعدة بيانات تحميل نفس أسماء الجداول ولكن بدون سجلات ) .
- يتم الاتصال بقاعدة البيانات الخلفية الحقيقية والمحمية بكلمة مرور ( كالمعتاد ) ثم يعمل المشروع بكل تفاصيله .
- عند الإغلاق ، وقبل الخروج من قاعدة البيانات ، يتم اعادة استخراج ملف قاعدة البيانات الخلفية ( الوهمية التي قلنا انها لا تحتوي سجلات ) ثم يقوم بإعادة ربطها بدلاً من قاعدة البيانات الخلفية الحقيقية ( الحالية التي تحتوي سجلات ) . وبذلك تم تأمين السجلات والإغلاق .
ليس مقصدي الانتقال للحماية ( فلا أدري ما يجول بذهنك معلمي أبو خليل ) ، لكن مقصدي هو الآلية والفكرة التي تدور حولها اسئلتك قد تساعد في الإنتاج الذي ترجوه 😅
-
3 دقائق مضت, ابوخليل said:
انا عالجت هذه المشكلة .. جعلت الارسال يتم مرة واحدة عند اقلاع البرنامج .. والبرنامج بكل مكوناته سيرتبط بالصورة مباشرة ولا حاجة للارسال
كنت قد أجلت الفكرة هذه حتى استوضح منك فكرة الرابط الوهمي 😅
-
مهو علشان أعرف أفكر وانا بفطر، شجعنا بالهدف المنشود لنحدد الوسيلة التي سنسير بها 😉 .
على العموم ، بالنسبة للمطلوب الأول هذه وجهة نظري بالتعديل :-
Function RelinkIsIco() As String Dim rs As DAO.Recordset Dim rst As DAO.Recordset2 Dim strFilePath As String Set rs = CurrentDb.OpenRecordset("SELECT progIcon FROM tblEnDc") If Not rs.EOF Then Set rst = rs.Fields("progIcon").Value If Not rst.EOF Then strFilePath = CurrentProject.Path & "\" & rst.Fields("FileName").Value If Dir(strFilePath) <> "" Then Kill strFilePath rst.Fields("FileData").SaveToFile strFilePath RelinkIsIco = strFilePath End If rst.Close: Set rst = Nothing End If rs.Close: Set rs = Nothing End Functionمطلوب المسار الوهمي بعتمد تنفيذ فكرته على ماهية حاجتك له وغايتك وهدفك منه .
-
1
-
-
وسؤال آخر ..
لماذا لم تستخدم Recordset2 بدلاً من Recordset بما أن الحقل = حقل مرفقات !!
-
22 دقائق مضت, ابوخليل said:
هل يمكن عمل متغير يحمل رابطا أو مسارا وهميا بدلا من المسار الصريح ؟
أو متغيرين .. واحد يحمل رابط وهمي والآخر يحمل اسم الملف ؟
الهدف والغاية ، فالغاية تبرر الوسيلة 😁
-
ما دامه يحقق طلبك وغايتك ، فاعتمده بلا تردد 🙂 .
-
29 دقائق مضت, ابوخليل said:
السلام عليكم
وعليكم السلام ورحمة الله وبركاته..
بالنظر الى الدالة ولهذا السطر تحديداً:-
ImagePath = rs!progIcon.Valueسيتم التعامل مع المسار على انه نص وليس كحقل مرفقات .
لم أطّلع على الملف ، أتابع من الجوال حالياً.
-
1
-
-
اخي الكريم ، انت الآن تنتقل الى موضوع جديد ، لذا راجياً منك إغلاق هذا الموضوع لتحقيقه المطلبين الأولين ، وافتح موضوع جديد بهذا الطلب ، بحيث يكون عنوانه مثلاً:-
إضافة السجلات الغير موجودة من جدول الى جدول آخر
-
1
-
-
2 ساعات مضت, RAIANESAMI said:
بعد استخراج التغيرات كيف انقل البيانات الجديدة من جدول T1 الى جدولT2
تم التعديل بحيث يظهر لك رسالة بتحديث قيم الجدول الثاني ( الثابت ) بقيم الجدول الأول ( المتغير ) .
جربه وأخبرنا بالنتيجة .
-
14 دقائق مضت, طاهر اوفيسنا said:
تم الغاء name1 واستبداله باسم الحقل الموجود في الجدول Lieu_Marij في الكود المعدل فنجحت العملية شكرا لك استاذ Foksh ربي يحفظك
الحمد لله الذي بنعمته تتم الصالحات
-
1
-
-
بعد إذن مهندسنا الغالي ..
إذا كان ملفك بصيغة Accde فلن تصل للأكواد أبداً .
-
1
-
1
-
-
تحقق من أن مربع النص name1 يحمل قيمة فعلية وليس فارغاً..
وللتأكيد صور رسالة الخطأ نفسه للتحقق.
-
1
-
-
3 ساعات مضت, طاهر اوفيسنا said:
Me.da5.Caption = Format(rs!Date_Marj, "yyyy/mm/dd") & " بـ" & name1 & " تحت رقم : " & rs!N_Act_Marj
استبدل الجملة السابقة ، بالجملة التالية :-
Me.da5.Caption = Format(rs!Date_Marj, "yyyy/mm/dd") & " بـ" & _ PartOfName(name1, 1) & " " & PartOfName(name1, 2) & _ " تحت رقم : " & rs!N_Act_Marjبشرط أن تكون قد قمت بنقل المديول في الملف الأول الذي تم حل مشكلتك من خلال الاستعلام .
-
السلام عليكم اخي الكريم محمد mahmouddarweesh ..
بداية نرحب بك في عالم اوفيسنا الإلكتروني المتواضع . ونرجو ان تجد ما تبحث عنه دوماً بحيث :-
- اختيار عنوان مناسب يوضح مضمون المشكلة .
- ان يكون في الموضوع الواحد طلب واحد فقط ، بحيث تتدرج في الطلبات واحداً تلو الآخر في كل موضوع .
- الشرح الوافي للمطلوب فهماً وتوضيحاً ..
- للإستعجال في طلبك استخدم كلمة "للرفع" / "Up"
وأهلاً وسهلاً بك مرة أخرى
-
في 29/11/2025 at 20:51, Bshar said:
اخفاء وحماية السجلات
اعتذر عن التأخير .. تفضل هذا الملف المرفق ، حيث يحتوي الدالة البسيطة :-
Public Sub SetTableHiddenState(ByVal strTableName As String, ByVal hide As Boolean) On Error GoTo ErrHandler Dim db As DAO.Database Dim tdf As DAO.TableDef Set db = CurrentDb db.TableDefs.Refresh Dim t As DAO.TableDef Dim found As Boolean: found = False For Each t In db.TableDefs If t.Name = strTableName Then found = True Exit For End If Next t If Not found Then MsgBox "حدثت مشكلة أثناء تأمين المكونات", vbExclamation + vbMsgBoxRight, "" Exit Sub End If Set tdf = db.TableDefs(strTableName) If hide = True Then tdf.Attributes = tdf.Attributes Or dbSystemObject Or dbHiddenObject Else tdf.Attributes = tdf.Attributes And Not (dbSystemObject Or dbHiddenObject) End If Application.RefreshDatabaseWindow Exit Sub ErrHandler: MsgBox "حدث خطأ أثناء تأمين مكونات البرنامج" & Err.Description, vbCritical + vbMsgBoxRight, "خطأ" End Sub* الدالة جزء من مشروع سابق .
الملف المرفق :-
-
1
-
-
لا عليك أخي عبداللطيف ، المهم ان المشكلة تم حلها .
-
2
-
-
أمرك عجيب غريب فيما ترسله من عملك .
في ملفك كيف نصل الى التقرير Face6 !!!!!!!!!
-
-
2
-
-
2 دقائق مضت, طاهر اوفيسنا said:
التقرير
أين التقرير في مرفقك للتطبيق والتجربة ؟؟
-
31 دقائق مضت, طاهر اوفيسنا said:
السلام عليكم
وعليكم السلام ورحمة الله وبركاته ..
تم تعديل المديول ليصبح :-
Option Compare Database Option Explicit Function PartOfName(InName As String, NumberOfPart As Byte) As String Dim parts() As String Dim tempName As String Dim i As Integer Dim currentIndex As Integer Dim normalizedParts() As String Dim j As Integer tempName = Trim(InName) PartOfName = "" If tempName = "" Then Exit Function tempName = Replace(tempName, " -", " - ") tempName = Replace(tempName, "- ", " - ") tempName = Replace(tempName, " ", " ") parts = Split(tempName, " - ") currentIndex = 0 ReDim normalizedParts(0 To 0) For i = 0 To UBound(parts) If Trim(parts(i)) <> "" Then normalizedParts(currentIndex) = Trim(parts(i)) If i < UBound(parts) Then ReDim Preserve normalizedParts(0 To currentIndex + 1) currentIndex = currentIndex + 1 End If End If Next i If UBound(normalizedParts) > 0 Then If NumberOfPart - 1 <= UBound(normalizedParts) Then PartOfName = Trim(normalizedParts(NumberOfPart - 1)) End If Else Dim words() As String words = Split(tempName, " ") If NumberOfPart - 1 <= UBound(words) Then PartOfName = Trim(words(NumberOfPart - 1)) End If End If End Function Function NoSpaces(InName As String) As String Dim NewName As String Dim i As Integer Dim TheStr As String Dim ThePrevStr As String InName = Trim(InName) For i = 1 To Len(InName) TheStr = Mid(InName, i, 1) If TheStr = " " And ThePrevStr = " " Then TheStr = "" If TheStr <> "" Then ThePrevStr = TheStr NewName = NewName & TheStr Next NoSpaces = NewName End Functionوتم تعديل الإستعلام ليصبح :-
SELECT Table1.Name, PartOfName([Name],1) AS Firstname, PartOfName([Name],2) AS Secondname, PartOfName([Name],3) AS Thirdname, PartOfName([Name],4) AS Forthname, PartOfName([Name],5) AS SubFamily, PartOfName([Name],6) AS Family, [SubFamily] & " " & [Family] AS Familyname FROM Table1 WITH OWNERACCESS OPTION;ملفك بعد التعديل :-
-
1
-
-
3 ساعات مضت, عبد اللطيف سلوم said:
السلام عليكم
وعليكم السلام ورحمة الله وبركاته ..
استخدم في حدث في الحالي الكود التالي :-
If Me.NewRecord Then Me.AllowAdditions = True Me.AllowEdits = True Me.AllowDeletions = True Else Me.AllowEdits = False Me.AllowDeletions = False End Ifوفي حدث بعد الإضافة للنموذج الحدث التالي :-
Private Sub Form_AfterInsert() Me.AllowEdits = False Me.AllowDeletions = False End Subملفك بعد التطبيق :-
-
1
-
-
2 دقائق مضت, Debug Ace said:
الدالة لا تغير وقت النظام الحقيقي في الكمبيوتر
الدالة محاكاة اختبار لمنطق الورديات بتغيير الوقت الحالي بشكل مؤقت لاختبار سلوك النظام في أوقات مختلفة دون انتظار مرور الوقت الحقيقي
تمام ، وبما أنك تحاكي اختبار لمنطق الورديات .. فإن اسناد قيمة إلى دالة مدمجة في اكسيس مثل Time بحد ذاته غير منطقي ( وجهة نظري طبعاً ) . وبالتالي فإن الحل الأفضل هو جعل الدوال تستقبل الوقت كـ باراميتر ، أو إنشاء دالة وسيطة تعيد الوقت الحالي .
واعتذر إن جررت الحديث خارج محتوى الموضوع
⭐ هدية ~ لعبة كانسة الألغام 2025⭐
في قسم الأكسيس Access
قام بنشر