-
Posts
12,480 -
تاريخ الانضمام
-
Days Won
233
نوع المحتوي
المنتدى
مكتبة الموقع
معرض الصور
المدونات
الوسائط المتعددة
كل منشورات العضو ابوخليل
-
تم تعديل العنوان اخي الكريم يجب الاهتمام باختيار العنوان المناسب للموضوع
-
لا لم ينتهي الموضوع ولكن الذي في جعبتي انتهى ، فأنا اجتهدت في وضع القالب والأساسات اي احد تناسبه الفكرة ويروق له طريقة التصميم ، عليه التطبيق والتطوير وانا ان شاء الله حاضر وجاهز للمساعدة قدر استطاعتي
-
المساعدة في التحكم في عرض التقرير لكي يستوعب البيانات
ابوخليل replied to حربي العنزي's topic in قسم الأكسيس Access
-
هذا رابط تراثي للاستاذ ابي هادي وهذا الرابط لاستخدام الحذف اليدوي وهذا مثال تعرفت على صاحبه من الرمز في تسمية المرفق وهو الاستاذ ابو يوسف Public Sub DeleteDuplicateRecords(strTableName As String) ' حذف السجلات المكررة اذا كانت جميع الحقول متطابقة مع استبعاد حقول الترقيم التلقائى من عملية المقارنة Dim rst As DAO.Recordset Dim rst2 As DAO.Recordset Dim tdf As DAO.TableDef Dim fld As DAO.Field Dim strSQL As String Dim varBookmark As Variant Dim i As Integer i = 0 Set tdf = DBEngine(0)(0).TableDefs(strTableName) strSQL = "SELECT * FROM " & strTableName & " ORDER BY " ' ترتيب السجلات للتأكد من أن السجلات المكررة تكون متتالية 'OLE or Memo لن يتم الترتيب على اساس الحقول من نوع For Each fld In tdf.Fields If (fld.Type <> dbMemo) And (fld.Type <> dbLongBinary) Then strSQL = strSQL & fld.Name & ", " End If Next fld '", " و هى sql حذف العلامات الزائدة فى نهاية جملة ال strSQL = Left(strSQL, Len(strSQL) - 2) Set tdf = Nothing Set rst = CurrentDb.OpenRecordset(strSQL) ' نأخذ نسخة من مجموعة السجلات ليتم المقارنة بها Set rst2 = rst.Clone rst.MoveNext Do Until rst.EOF varBookmark = rst.Bookmark For Each fld In rst.Fields ' استبعاد حقول الترقيم التلقائى من عملية المقارنة If IsAutoNumber(fld) = False Then 'اذا كانت قيمة الحقل غير مكررة انتقل الى السجل التالى 'و اذا كانت مكررة انتقل الى الحقل التالى فى نفس السجل و قارن القيمة If fld.Value <> rst2.Fields(fld.Name).Value Then GoTo NextRecord End If End If Next fld 'احذف السجل المكرر rst.Delete 'عدد السجلات المحذوفة i = i + 1 GoTo SkipBookmark NextRecord: rst2.Bookmark = varBookmark SkipBookmark: rst.MoveNext Loop rst2.Close Set rst2 = Nothing rst.Close Set rst = Nothing MsgBox IIf(i > 0, "تم حذف عدد " & i & " سجلات مكررة", "لا يوجد سجلات مكررة") End Sub Function IsAutoNumber(ByRef fld As Object) As Boolean 'لتحديد ما اذا كان نوع الحقل ترقيم تلقائى ام لا On Error GoTo ErrHandler If TypeOf fld Is ADODB.Field Then IsAutoNumber = (fld.Properties("ISAUTOINCREMENT") = True) ElseIf TypeOf fld Is DAO.Field Then IsAutoNumber = (fld.Attributes And dbAutoIncrField) Else Err.Raise vbObjectError + 100, "IsAutoNumber()", _ "Unsupported Field Type argument: " & TypeName(fld) End If ExitHere: Exit Function ErrHandler: Debug.Print Err, Err.Description Resume ExitHere End Function MrNo_delete_repeated.rar
-
شكرا استاذنا الغالي للنداء .. بالنسبة لي لا اذكر وايضا لا يحضرني شيء .. سأبحث في محفوظاتي لعلي اجد شيئا .
-
عند كل اغلاق يقوم بتحديث الجدول .. هذه طريقة غير احترافية . ولكن قبل هذا : الدالة UmDate() تعمل في حقل النموذج المنظم ‘ فهي تعمل عندي ولو لم تعمل عندك يمكنك توظيف السطر : Me.textUm = UmR2L(Date()) توظفه في اي حدث مثلا عند تحميل النموذج او عند الكتابة في اي حقل باعتبار textUm هو حقل تاريخ ام القرى
-
تاريخ اليوم الافتراضي : =Date() وتاريخ ام القرى الافتراضي : =UmDate() ولزيادة الفائدة : اي دالة خاصة بالتاريخ الميلادي يقابلها دالة في الوحدة النمطية فقط اضف Um فمثلا ()Now يقابلها ()UmNow وهكذا ....
-
تفضل الدالة الخاصة بالتحويل الى تاريخ ام القرى ، و هي موجودة ضمن الوحدة النمطية Me.StartDateH = UmR2L(Me.StartDate) في النموذج اكتب التاريخ الميلادي وسيتحول آليا الى تاريخ ام القرى كما صنعت لك استعلام تحديث لتحديث الحقول الخالية السابقة الوحدة النمطية اعدها وصححها الاستاذ ابو هادي فلا تنسونا من دعوة صالحة في ظهر الغيب تحويل التاريخ.rar
-
حول مرفقك الى صيغة mdb ان اردتني اعدل عليه وان لم تتمكن سأرفق لك مثالا من عندي
-
تحويل التاريخ الهجري إلى ميلادي في الجدول
ابوخليل replied to حامل المسك's topic in قسم الأكسيس Access
تم التحويل الى الهجري هنا -
تفضل Public Function toHjre(dm As Date) Dim sc As Integer Dim d1 As Date Dim z As String sc = Calendar Calendar = 0 d1 = dm Calendar = 1 z = CStr(d1) toHjre = Format(z, "YYYY/MM/DD") Calendar = sc End Function تحويل.rar مع الاخذ بالاعتبار ان التحويل الى الهجري المحول من اكسس ، وليس تقويم ام القرى حيث يوجد اختلافات وتعارض في نهاية بعض الشهور بين الميلادي وتقويم ام القرى اذا اردت اعتماد تقويم ام القرى فيجب ان تستخدم وحدة نمطية خاصة .. تجدها متوفرة في غالب امثلة المنتدى
-
الامر يسير جدا فقط تبديل سطر بسط سأوافيك بالحل والمثال
-
سؤال في : التركيز SetFocus حال فتح البرنامج مع اقلاع وندوز
ابوخليل replied to ابوخليل's topic in قسم الأكسيس Access
جزاكم الله خيرا احبتي وشكرا على المساعدة فكرة منطقية وجربت ولم يستجب للحدث ولم ينتقل التركيز انا ذكرت في مشاركتي الثانية : اي ان اكسس يفتح مع بداية التشغيل ولكن الحاصل ان وندز لديه مهمة اخرى لم تنتهي بعد علما اني ازلت جميع البرامج التي تعمل مع بدء التشغيل ما عدا برنامجي للاسف SendKeys "{BS}", False لم يقبلها اكسس ولا اعلم هل للاصدار دخل في ذلك لذا الغيتها واكتفيت بالوحدة النمطية 32 بت مع كود التركيز : Public Declare Function SetForegroundWindow Lib "user32" (ByVal hWnd As Long) As Long Public hWnd As Long Public Function Activate_This_AccessApp() As Boolean 'Brings the DB to the front of all open windows Call SetForegroundWindow(Application.hWndAccessApp) End Function Private Sub Form_Load() Call Activate_This_AccessApp Me.SetFocus Me.id.SetFocus End Sub مع الانتباه لنقطة مهمة وهي وضع علامة على : تأمين شريط المهام والحمد لله تحقق المطلوب الشكر لاساتذتنا الفضلاء ؛ جعفر .. و شفان .. و عمرو -
سؤال في : التركيز SetFocus حال فتح البرنامج مع اقلاع وندوز
ابوخليل replied to ابوخليل's topic in قسم الأكسيس Access
لتوضيح المشكلة والمطلوب عمليا : بعد فتح النموذج سيكون على مستوى كامل الشاشة ، حاول ان تظهر شريط المهام بالاسفل وتنقر بزر الفأرة عليه من اجل يكون التركيز على شريط المهام الآن ما الطريقة للانتقال الى النموذج بدون استخدام الفأرة بالضبط هذا ما يحدث عندي عند فتح البرنامج واريد كود يعيد التركيز الى الفورم علما ان هذه المشكلة لا تحدث الا عند فتح البرنامج حال الاقلاع ، ويتضح من هذا ان لدى وندز حدث عقب فتح برنامجنا -
سؤال في : التركيز SetFocus حال فتح البرنامج مع اقلاع وندوز
ابوخليل replied to ابوخليل's topic in قسم الأكسيس Access
المطلوب نقل التركيز من شريط المهام السفلي الى الفورم shell لتشغيل تطبيق معين .. فهل ينفع AppActivate هنا ؟ -
اخواني الكرام ، السلام عليكم عندما يكون جهاز الحاسب خاص ببرنامج محدد فاننا نعمل على جعل البرنامج يفتح مع الاقلاع مثلا برنامج حضور بواسطة قارىء البطاقة سنجعل نموذج البداية يفتح على كامل الشاشة وسيكون المؤشر مرتكز على حقل التسجيل المشكلة : ان التركيز احيانا وفي بعض الاجهزة يكون خارج الفورم (على شريط المهام) مما يضطر معه الى النقر على الحقل بواسطة الفأرة السؤال : انا استخدم في نهاية حدث عند تحميل الفورم العبارة التالية : SendKeys "{BS}", False Me.id.SetFocus من اجل نقل التركيز الى الفورم ثم الى حقل id ولكن اكسس لا يقبل السطر الأول فهل من حل أو بديل ؟ db1.rar
-
اسهل الحلول هو ان تنتقل لترقيم اكسس يمكنك ارفاق مثال بسيط
-
ترقيم اكسس التلقائي فعلا يعمل ذلك ، بحيث لا يعيد اي رقم تم استخدامه يبدوا انك تستخدم ترقيم تلقائي مصنوع
-
many to many كيف يتم ربط النموذجين معا عندما تكون العلاقة
ابوخليل replied to monm's topic in قسم الأكسيس Access
السلام عليكم يوجد ملاحظة في تسمية الجداول وهي وجود مسافات خالية في التسمية علما انك تلافيت ذلك داخل الجداول وبالنسبة لبرنامج او مشروع لم تقم بشرحه بالتفصيل فلا تسأل عن علاقات وربط اسأل عن تصور عام للمشروع وما يحتاجه من جداول أساسية فهي اهم بكثير من مسألة البحث عن علاقات هذا رأي واجتهاد مني مررت فاحببت التعليق ولك حرية الاختيار -
نقل الملفات ونسخها من مجلد الى مجلد
ابوخليل replied to ابو ياسين المشولي's topic in قسم الأكسيس Access
المهم المثال .. يعمل صح بالنسبة لتطبيقه على برنامجك فهذا شيء آخر ، يجب تتبع الخطأ ، قد يكون نقص مكتبات او تعارض لذا يلزم ان ترفق جزء من برنامجك حتى نتصيد الخطأ -
نقل الملفات ونسخها من مجلد الى مجلد
ابوخليل replied to ابو ياسين المشولي's topic in قسم الأكسيس Access
على كل حال انا غير مقتنع بطريقتك ومع هذا خذ الحل حسب رغبتك المرفقات تشتمل على ثلاث قواعد فك الضغط على D مثلا الرئيسية A والمرتبطة B والقاعدة البعيدة التي سنجلب منها الجداول هي C B.rar -
If Me![txtbox] = "1" Then Me.txtbox.BackColor = (IIf(Me.txtbox.BackColor = vbRed, vbWhite, vbRed)) ElseIf Me![txtbox] = "2" Then Me.txtbox.BackColor = (IIf(Me.txtbox.BackColor = vbBlue, vbWhite, vbBlue)) Else Me.txtbox.ForeColor = RGB(0, 0, 0) Me.txtbox.BackColor = RGB(255, 255, 255) End If
-
نقل الملفات ونسخها من مجلد الى مجلد
ابوخليل replied to ابو ياسين المشولي's topic in قسم الأكسيس Access
يابو ياسين صحيح اتعبتني ولكن تعبي معك هو اني اسألك لماذا تريد تنتهج هذه الطريقة الخاطئة في النسخ الاحتياطي ولم تجبني .. فيفترض اذا فكرتك مفيدة انك ما تحرم اخوانك منها وانا اعطيتك الحل على طلبك رغم اقتناعي بعدم صلاحيتها للمستخدم يعني .. الطريقة هذه تقوم اول خطوة بحذف الجداول الموجودة ,, ثم جلب الجداول البعيدة انا انصحك بعدم استخدامها -
Dim i As Boolean ' اعلنا عنها كقيمة منطقية i On Error Resume Next 'لتجاهل الخطأ عند عدم وجود القيمة ' البحث عن الرقم المعرف في الجدول بشرط رقم الصنف في الجدول يساوي رقم الصنف الذي كتبناه في النموذج i = DLookup("Tarkam", "HRR", "Rajmsanf='" & Me.Rajmsanf & "'") If i = False Then 'اذا غير موجود Exit Sub ' أخرج من الحدث Else 'وإلا hrk_B = Nz(DMax("Atarih", "HRR", "Nwaha='13'"), 0)'الحقل= تاريخ آخر بيع hrk_sh = Nz(DMax("Atarih", "HRR", "Nwaha='11'"), 0)'الحقل= تاريخ آخر شراء End If
-
- 1 reply
-
- 1