اذهب الي المحتوي
أوفيسنا
بحث مخصص من جوجل فى أوفيسنا
Custom Search

نجوم المشاركات

  1. أ / محمد صالح

    أ / محمد صالح

    أوفيسنا


    • نقاط

      19

    • Posts

      4,431


  2. jjafferr

    jjafferr

    أوفيسنا


    • نقاط

      10

    • Posts

      9,814


  3. Eng.Qassim

    Eng.Qassim

    الخبراء


    • نقاط

      8

    • Posts

      2,302


  4. ابوبسمله

    ابوبسمله

    الخبراء


    • نقاط

      7

    • Posts

      918


Popular Content

Showing content with the highest reputation on 08 يون, 2022 in all areas

  1. نعم ممكن ، كل شغل الحجم موجود في حدث "عند فتح النموذج" ، فإحذف DoCmd.Maximize اما اذا كنت تريد ترتب النماذج داخل شاشة الاكسس ، فيمكنك استعمال الامر docmd.MoveSize(Right, Down, Width, Height) جعفر
    3 points
  2. وعليكم السلام 🙂 في الرابط برنامج ما استغنى عنه ، عدة مرات في اليوم ، ولما تشغله تحصل على جواب سؤالك جعفر
    3 points
  3. بسم الله الرحمن الرحيم السلام عليكم ورحمة الله وبركاته اليوم جئتكم بفكرة جديدة وإبداعية لتحديث نسخة الواجهات FE لدى المستخدمين بدون الاستعانة بملفات وبرامج خارجية 🙂 وذلك بالاستعانة بملفي الواجهات FE وملف قاعدة البيانات ( الجداول ) BE فقط 😊 وقد قمت بشرح الفكرة ومحاولة تبسيطها قدر الإمكان من خلال الشرح الآتي مستعيناً بالله وتوفيقه .. :: أصل المشكلة :: أولاً : من المعلوم أنه يفضل أن يكون البرنامج مقسم إلى ملفين ( الواجهات FE - وقاعدة الجداول BE ) وذلك لكي يعمل عليه أكثر من مستخدم. FE: هي اختصار لـ Front End النهاية الأمامية .. أي ملف الواجهات و BE: هي اختصار لـ Back End النهاية الخلفية .. وهو ملف الجداول ملف الـ BE غالبا ما يكون مخزن في السيرفر بطريقة يمكن لجميع المستخدمين من الوصول إليه حيث أن البيانات جميعها يتم تخزينها فيه. ويتم توزيع ملفات الـ( FE) على أجهزة المستخدمين ، وهي محور حديثنا لهذا اليوم الرائع الجميل .. 😊 مختصر الكلام : أنه كثيرا ما يعاني مصممو البرامج من إعادة توزيع ملفات الواجهات ( FE ) على أجهزة المستخدمين عندما تكون هناك تحديثات جديدة على البرنامج أو معالجة لأخطاء في البرنامج ... الطريقة والفكرة التي سنتحدث عنها اليوم تقوم بحل هذه المعاناة وجعل البرنامج يقوم بتوزيع الـ (FE) نيابة عنك أوتوماتيكيا وبدون أي جهد يطلب من المستخدمين .. 😉 :: شرح الفكرة وآلية العمل :: الفكرة التي سأطرحها قائمة على الاتصال بملف الجداول الـ (BE) والاستعانة به ليقوم بتوزيع ملف التحديث الجديد على أجهزة المستخدمين بعد أن يستبدل القديم بالجديد .. حيث أننا سنحتاج إلى : 1 - جدول في قاعدة الـ (BE) ومتصل بنسخة الـ (FE) كذلك، لتخزين روابط مواقع كل ملف ( FE - BE - New Update ). 2- ماكرو Autoexec وضيفته تشغيل الكود الذي سيفحص وجود تحديثات جديدة من عدمه عند بدء تشغيل البرنامج ، ويوضع في نسخة الـ (FE). 3- سنحتاج لإضافة نموذج في نسخة الجداول الـ (BE) مهمته تشغيل الكود الذي سيحدث نسخة الـ (FE). والكود يعمل عند حدث (عند التشغيل - ON OPEN ). 4- سنحتاج لجدول (محلي) يبقى في نسخة الواجهات الـ (FE) فيه حقل تاريخ عبارة عن سجل واحد يكتب فيه تاريخ الإصدار للنسخة الحالية. وهذا شرح مصور مبسط لآلية العمل : الصورة (1) : محتويات الملفات الأساسية المستخدمة في العمل. الصورة (2) : المرحلة الأولى : فحص وجوود تحديثات جديدة من خلال ملف الواجهات FE الصورة (3) : رسالة تأكيد للبدء في التحديث الصورة (4) : الخطوة الثالثة : إغلاق ال(FE) وفتح ال(BE) الصورة (5) : إستبدال النسخة القديمة بالجديدة وإعادة تشغيل البرنامج 🙂 هذا كل شيء ببساطة 😅🖐️ :: الأكواد المستخدمة :: أولاً : الكود المستخدم في ملف الواجهات الـ (FE) : Public Sub UpdateUsersFE(CurrentVerDate As Date, NewVerDate As Date, _ txtOldFEPath As String, txtNewFEPath As String, _ txtBEPath As String, txtBEUpdateForm As String, _ DoTheUpdaet As Boolean) On Error Resume Next ' ************************************************** Check If the Manager Send The Update Order If DoTheUpdaet = True Then ' Continue The Code Else MsgBox "لا يوجد تحديث جديد" Exit Sub End If ' ************************************************** Check Version Date If CurrentVerDate < NewVerDate Then ' Continue The Code ' MsgBox "سوف يتم التحديث إن شاء الله" ' Exit Sub Else ' MsgBox "لديك آخر إصدار" Exit Sub End If ' *************************************************** Confermation Msg. If MsgBox("لديك تحديث جديد للبرنامج، متابعة؟", vbYesNo, "Apply New Update?") = vbYes Then Else: Exit Sub End If ' ************************************************** Open the BE and the Update Form Dim objAdb As Object Set objAdb = CreateObject("Access.Application") objAdb.OpenCurrentDatabase (txtBEPath) objAdb.DoCmd.OpenForm txtBEUpdateForm objAdb.Visible = False ' ************************************************** Close FE Database DoCmd.Quit Set objAdb = Nothing End Sub Public Function testUpdate() Dim BackEndPath As String, FrontEndPath As String, UpdatePath As String, CurrentVerDate As Date, NewVerDate As Date, StartUpdating As Boolean CurrentVerDate = DFirst("[VersionDate]", "[FE_Tbl_Version]") NewVerDate = DFirst("[LastUpdateDate]", "[BE_Tbl_Updates]") BackEndPath = DFirst("[BackEndPath]", "[BE_Tbl_Updates]") FrontEndPath = DFirst("[FrontEndPath]", "[BE_Tbl_Updates]") UpdatePath = DFirst("[UpdatePath]", "[BE_Tbl_Updates]") StartUpdating = DFirst("[StartUpdating]", "[BE_Tbl_Updates]") Call UpdateUsersFE(CurrentVerDate, NewVerDate, FrontEndPath, UpdatePath, BackEndPath, "BE_Frm_StartUpdating", StartUpdating) End Function ثانياً : الكود المستخدم في ملف الجداول الـ (BE) : #If VBA7 Then Private Declare PtrSafe Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long) #Else Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long) #End If Private Sub Form_Open(Cancel As Integer) Call UpdateFE End Sub Public Sub UpdateFE() Dim FrontEndPath As String, NewUpdatePath As String FrontEndPath = DFirst("[FrontEndPath]", "[BE_Tbl_Updates]") NewUpdatePath = DFirst("[UpdatePath]", "[BE_Tbl_Updates]") 'On Error Resume Next '********************************************************************(Waite for 3 seconds until FE Closed ) Sleep 3000 '********************************************************************(Copy the New Update to the User PC) Dim fs As Object Set fs = CreateObject("Scripting.FileSystemObject") 'Kill FrontEndPath 'Sleep 1000 fs.CopyFile NewUpdatePath, FrontEndPath, True '********************************************************************(Open the new FE for the user) 'Sleep 1000 Dim objAdb As Object Set objAdb = CreateObject("Access.Application") objAdb.OpenCurrentDatabase (FrontEndPath) objAdb.Visible = True objAdb.DoCmd.RunCommand acCmdAppMaximize '*********************************************************************(Close BE) DoCmd.Quit Set objAdb = Nothing End Sub :: (مهم جدا ) قبل التجربة والتطبيق :: ستجدون في المرفقات ثلاثة ملفات: - ملف الواجهات القديم (FE-MyApplication) - ملف الجداول (BE-MyApplicationDatabase) -وملف الواجهات المحدث (FE-NewUpdateV2.0) أولاً : يجب إعادة ربط ملفي الواجهات (القديم + التحديث ) بملف الجداول (يدوياً ) .. وهي خطوة مهمة للعمل .. ( يمكنك عملها أوتوماتيكيا بالأكواد في برنامجك لاحقاً ، لم أشأ تعقيد الأمور هنا 😅) ثانياً : يجب عليك تحديث روابط أماكن الملفات الثلاثة في جدول (BE_Tbl_Updates) وذلك من خلال النموذج (FE_Frm_UpdateInfo) الموجود في نسخة الواجهات. والآن يمكنك الانطلاق والبدء في تجربة البرنامج 😉👊 قم بتشغيل البرنامج FE-MyApplication وانتظر لترى النتيجة 😊👌 ملاحظة : لإعادة التجربة مرة أخرى بعد التحديث ، قم بتأخير تاريخ النسخة الأمامية من جدول (FE_Tbl_Version) إلى تاريخ سابق للتاريخ المخزن في قاعدة البيانات . *************************************************************** هذا كل شيء ولا تنسوا أن تنوروني بآرائكم ومقترحاتكم ولا تنسوني من صالح دعواتكم 😊 :: التحميل :: FrontEnd Updator V1.0.rar
    2 points
  4. اللهم آمين واياكم اخى واستاذى ووالدى الحبيب اللهم بارك لاخوانى فيما زرعوه واجعل حصادهم مبارك يارب العالمين وجازهم عنا كل خير ياكريم اسال الله لكم ولوالديكم ولكل من تحبون وكل اخوانى واساتذتى بان يبارك فيكم ويغفر لكم ولاهليكم وان يرزقكم شربه هنيئه من يد سيدنا محمد صلى الله عليه وسلم وان يرزقكم الفردوس الاعلى 💐
    2 points
  5. السلام عليكم اهلا اخى ومهندسنا العزيز كل الادوات الموجوده لدى للاطلاع والافاده فى الحدود مع المحافظه ع حقوق الاخرين والحمد لله معنا اخواننا ينبهوننا اذا تجاوزنا الحد وذلك للمحافظه على حقوق الاخرين ونحمد الله اننا نتعلم منهم كل حسن وطيب وجزاهم الله عنا كل خير بارك الله فيك مهندسنا العزيز وجزاك الله كل خير الحمدلله بالتوفيق
    2 points
  6. 1. يمكنك تغيير نوع اطار النموذج من اعدادات النموذج ، فلن يستطيع المستخدم تغيير حجم او مكان النموذج ، 2. كذلك من اعدادات النموذج ، اختار "نعم" ، حتى يفتح لك النموذج في منتصف شاشة الاكسس ، . 3. لأني انا طلبت منه يفتح البرنامج من مسافة صفر من يسار شاشة الوندوز ، وترك مسافة صفر من اعلى شاشة الوندوز ، مع ملاحظة ان حساب المسافة بقياس Twips (سنتيمتر 1 = 567 تويب ، وبوصة واحدة = 1440 تويب) 4. الرابط التالي فيه الكود المطلوب لمعرفة حجم شاشة الوندوز : . او بإختصار تنادي هذه الدالة: Declare ptrsafe Function GetSystemMetrics32 Lib "User32" _ Alias "GetSystemMetrics" (ByVal nIndex As Long) As Long Sub ScreenRes() Dim w As Long, h As Long w = GetSystemMetrics32(0) ' width in points h = GetSystemMetrics32(1) ' height in points End Sub . ** رجاء الملاحظة: شاشة الوندوز : هي الشاشة اللي لما تفتح الكمبيوتر وترى سطح المكتب : Screen/Display Resolution شاشة الاكسس : لما تفتح برنامج الاكسس ، المربع الاحمر هو شاشة الاكسس ، سواء اللي تشوفه في الصورة ، او لما تفتحه بدون اشرطة الاوامر العلوية ، وشريط بدون قائمة الكائنات من جداول و استعلامات وو ويعبئ حجم شاشة الوندوز . وبهذه الدالة تستطيع معرفة حجم شاشة الاكسس: 'https://www.tek-tips.com/viewthread.cfm?qid=1475779 Public Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long Public Declare Function GetWindowRect Lib "user32" Alias "GetWindowRect" (ByVal hwnd As Long, lpRect As RECT) As Long Public Type RECT Left As Long Top As Long Right As Long Bottom As Long End Type Public Declare Function GetDC Lib "user32" (ByVal hwnd As Long) As Long Public Declare Function ReleaseDC Lib "user32" (ByVal hwnd As Long, _ ByVal hdc As Long) As Long Public Declare Function GetDeviceCaps Lib "gdi32" (ByVal hdc As Long, _ ByVal nIndex As Long) As Long Public Const WU_LOGPIXELSX = 88 Public Const WU_LOGPIXELSY = 90 Public Function TwipsPerPixel(strDirection As String) As Long 'Handle to device Dim lngDC As Long Dim lngPixelsPerInch As Long Const nTwipsPerInch = 1440 lngDC = GetDC(0) If (Left$(strDirection, 1) = "X") Then 'Horizontal lngPixelsPerInch = GetDeviceCaps(lngDC, WU_LOGPIXELSX) Else 'Vertical lngPixelsPerInch = GetDeviceCaps(lngDC, WU_LOGPIXELSY) End If lngDC = ReleaseDC(0, lngDC) TwipsPerPixel = nTwipsPerInch / lngPixelsPerInch End Function Public Sub WindowSize(ByRef Height As Long, ByRef Width As Long) Dim hwnd As Long Dim rct As RECT hwnd = FindWindow(vbNullString, "Microsoft Access") If hwnd <> 0 And GetWindowRect(hwnd, rct) <> 0 Then Height = (rct.Bottom - rct.Top) * TwipsPerPixel("Y") Width = (rct.Right - rct.Left) * TwipsPerPixel("X") End If End Sub جعفر
    2 points
  7. وعليكم السلام ورحمة الله وبركاته في نموذج دخول المستخدم ولنفرض مربع نص اسم المستخدم txtUserName ضع الكود التالي عند زر فتح الفورم الموجود في نموذج المستخدم Dim TempUser As TempVars [TempVars]![TempUser] = Me.txtUserName.Value ثم ضع الكود التالي في حدث عند التحميل للفورم لديك Me.txtUser = [TempVars]![TempUser] txtUser هو اسم مربع النص في الفورم لاظهار اسم المستخدم
    2 points
  8. يمكنك استعمال هذه المعادلة في الخلية B2 =VLOOKUP(A2,'2'!$A$1:$Z$25,MATCH($B$1,'2'!$1:$1,0),FALSE) تم استبدال رقم العمود بناتج دالة ماتش التي تبحث عن مكان كلمة التحقيق $b$1 في الصف 1:1 بالتوفيق
    2 points
  9. كل شيء ممكن المهم إرفاق الملف او مثال منه وتوضيح المطلوب بمنتهى التفصيل
    2 points
  10. يمكنك حذف الخلية الصفراء المدمجة أولا ثم استعمال هذا الكود وربطه بزر أمر أو شكل Sub tar7eel() Dim r As Long, f As Long Hoja2.Range("a2:b" & Hoja2.Cells(Rows.Count, 1).End(3).Row).ClearContents Hoja2.Range("d2:d" & Hoja2.Cells(Rows.Count, 1).End(3).Row).ClearContents f = 2 For r = 2 To Hoja1.Cells(Rows.Count, 1).End(3).Row myParent = Hoja1.Range("j" & r): newparent = Hoja1.Range("j" & r + 1) If myParent <> newparent Then Hoja2.Range("a" & f) = f - 1 Hoja2.Range("b" & f) = Hoja1.Range("j" & r) Hoja2.Range("d" & f) = Hoja1.Range("d" & r) f = f + 1 End If Next r MsgBox "Done by mr-mas.com" End Sub ملحوظة: تم استعمال الاسم البرمجي للشيتات وهو Hoja1 و Hoja2 وهو الاسم الموجود في محرر vba وليس الاسم الذي يظهر في تبويب الشيتات بالتوفيق
    2 points
  11. اللهم ارحم والد اخونا المهندس قاسم ويسر له عملا صالحا يبر به والديه نبذل جهدنا ونحصد مازرعنا الا ان يشاء الله بالتوفيق ان شاء الله
    2 points
  12. لا خبير ولاهم يحزنون كما يقولون بالعراقي .... اتمنى في تقاعدي ان اكون راعي اغنام .. واكون مبرمج سابق مثلك لكن كل همي في هذه الدنيا الزائلة ... ان اقوم بعمل يحصل فيه والدي رحمه الله على اجر وثواب كما اتمنى على اولادي من بعدي ان يقوموا بعمل .. احصل فيه على اجر وثواب
    2 points
  13. بسم الله والصلاة والسلام على رسول الله وعلى آله وصحبه ومن والاه ...إخوتي الكرام السلام عليكم ورحمة الله وبركاته أحببت أن أعرض عليكم بعض إمكانيات الإكسيل الرائعة في تنسيق الأشكال في حال عدم توفّر الفوتوشوب أو البرامج الرسومية الأخرى ليظهر الملف بشكل أنيق ... حبث أنه يتمتع بجماليات في الخط والشكل وتناسق الألوان لكنه بعود على الملف بشيءٍ من البطء وزيادة حجم الملف .. الارتباطات التشعبية تظهر على شكل شفاف كقطرات الندى في صباح ربيعي مزهر..عند وضع المؤشر عليها تدلك على الورقة الهدف. راجياً من الله تعالى أن ينال إعجاب حضراتكم. اسم المستخدم :admin كلمة السر 123 ...بعض أوراق العمل محمية دون كلمة مرور ... والسلام عليكم ورحمة الله وبركاته. مكابس بلوك.rar
    1 point
  14. وعليكم السلام ورحمه الله وبركاته مشاركه مع اخى ومهندسنا العزيز @Eng.Qassim جزاه الله كل خير 💐 اولا يجب الابتعاد عن تسميه الكائنات كالجداول والنماذج وغيرها وكذلك عن تسميه الحقول بالعربى واستخدام خاصيه التسميه التوضيحيه واكتب فيها بالعربى واذا كان الاسم مكون اسمين لا تستخدم مسافات بينهم يفضل الابتداء بحرف كابتل او علامه _ للفصل بينهم بالنسبه لتصميم النموذج ليس من المنطقى وضع حقول للقيم لكل مرحله قمت بالتعديل واستخدام استعلام التحديث وتشغيله فى حدث بعد التحديث لحقل المرحله اكتب القيم المناسبه لكل مرحله ثم قم باختيار المرحله لتحديثها ارجو ان يكون التعديل مناسب لك بالتوفيق اخوانى school.accdb
    1 point
  15. بسم الله ماشاء الله عمل رائع اخى واستاذى موسى 🌹 جزاك الله خيرا قمت بالتجربه على المثال واكثر من رائع بالتوفيق
    1 point
  16. السلام عليكم مشاركه مع اخوانى واساتذتى جزاهم الله عنا كل خير استخدم القناع التالى 00/00/"202"0;0;_ بالتوفيق Database1.accdb
    1 point
  17. انا ما قلت هذا الشيء ، ومن معارضي تغيير اعدادات الوندوز حقي ، او اضافة شيء في الريجستري ، انا قلت . . كل موضوع له خصوصيته لعمل شيء معين ، لهذا السبب يمكنك اخذ ولو جزء منه حتى يفيدك ، ولكن ، وهذه الطريقة اللي اعمل عليها انا: شبه مستحيل ان اكون انا اول شخص في العالم يريد عمل هذا العمل ، لذا ، اول شيء اعمله هو البحث عن الطرق اللي استعملها الآخرين ، وآخذ منها حاجتي ، سواء العمل كله او كود معين ، ثم اعدل عليه ليلائم طلبي. وعلى حسب سؤال الموضوع ، فاعتقد بأنك حصلت على الاجابة المطلوبة ، اما قولك : فيجب ان تشرحه وبتفصيل ، وبصور ، وتخبرنا طلبك ، ولكن في موضوع جديد 🙂 جعفر
    1 point
  18. تمام اخي العزيز ولكن اعتقد ان الموضوع متشابه وسوف اقوم بعرضه بالتفصيل في موضوع منفصل تحياتي
    1 point
  19. اعرض الملف 📟 آلة حاسبة 📟 - هدية مميزة مفتوحة المصدر 🎁 السلام عليكم ورحمة الله وبركاته يطيب لي أن أقدم لكم هذا العمل البسيط وهو عبارة عن 🙂 :: آلة حاسبة :: أهديكموها مفتوحة المصدر 😊🎁 ومن مميزاتها : تم إضافة خاصية الحساب عن طريق مفاتيح الكيبورد 😊 ولا تنسونا من صالح دعواتكم 🙂 صاحب الملف Moosak تمت الاضافه 06 يون, 2022 الاقسام قسم الأكسيس  
    1 point
  20. بارك الله فيك استاذى الكريم هدية ممتازة ومقبولة ان شاء الله
    1 point
  21. وعليكم السلام اخي سؤالك هذا مختلف عن السابق .. كيف تريد ادخال مصروفات الى جدول ليس فيه سجلات (اقصد بيانات الطلاب ) ولماذا كل هذا العناء؟ لماذا لاتعمل نموذج لادخال البيانات الى الجدول مباشرة الافضل ان تفتح موضوع جديد ليراه بقية الاساتذة ..وياريت منك شرح اكثر للمطلوب
    1 point
  22. انا بالخدمة ما مكنني الله
    1 point
  23. ربما إذا عرفنا في اي نقطة توقفت يمكننا المساعدة تذكر جيدا أن: أول خطوة في نقل الكود لملف جديد هو فهم الكود ومعرفة المتغيرات والكائنات المستعملة فيه وأن الهدف من المنتدى هو التعلم وليس الحصول على ما نحتاجه جاهزا من غيرنا
    1 point
  24. فورم المخزن كود اضافة بيانات فى الصفحة المطلوبة مع اظهار اسم الصفحة
    1 point
  25. تفضل أخي عبدالعزيز .. هي نفس طريقة أخي kanory ولكن بتعديل بسيط تضع قناع الإدخال هكذا (في الجدول و / أو النموذج) : 00/00/"202"0 وستراه عند الإدخال هكذا : Database1.accdb
    1 point
  26. صعبة أكتب جميع الخطوات هنا عشان كذا بينت ان الشرح موجود في اليوتيوب أفضل من الكتابة مثل ما كتبت Merge Queries وبإختصار ندخل على شاشة الخاصة بـ Query وبعدها من Home راح نلاقي ازرار Merge Queries بعدها نحدد العامود الرئيسي (Key) وبعدها نختار الجدول الثاني ونحدد بعد المفتاح الرئيسي بعدها OK بيظهر عندنا عامود جديد وفيه أيقونة صغيرة جنبه نضغط عليه ونحدد العامود اللي حابين نظهر وهذه هي بكل بساطة
    1 point
  27. بارك الله فيك لحبك الخير للغير ويمكن اختصار الحلقات التكرارية للحصول على المجموعين بهذين السطرين Me.TextBox7.Value = WorksheetFunction.SumIf(suppliersSheet.Range("A:A"), Me.TextBox1.Value, suppliersSheet.Range("C:C")) Me.TextBox8.Value = WorksheetFunction.SumIf(suppliersSheet.Range("A:A"), Me.TextBox1.Value, suppliersSheet.Range("D:D")) بالتوفيق
    1 point
  28. أخيـــــــرررراً وجدت الحل بأسهل الطرق وبدون التعديل على قاعدة البيانات أمس رجعت البيت وما كنت متنقع اني اعدل على قاعدة البيانات وكنت حاس ان فيه حل عن طريق الإكسل والحمد لله لقيته بإختصار من الإكسل نفسه ومن نافذة الـ Query موجود ازرار Merge Queries هو هذا الحل بكل بساطة وموجود له شروحات في في اليوتيوب وبالعربي بعد وبكذا الحمد لله انحلت مشكلتي كل الشكر والتقدير للجميع على مساعدتهم لي
    1 point
  29. تم الحل بهذا الكود في زر البحث Private Sub CommandButton2_Click() Application.ScreenUpdating = False Me.ListBox1.ColumnWidths = "100,100,100" ListBox1.RowSource = Empty ListBox1.Clear Sheets("suppliers").Select For Each f In Range("a2:a" & Range("a10000").End(xlUp).Row) If f Like textbo1 & "*" Then listed = ListBox1.ListCount ListBox1.AddItem ListBox1.List(listed, 0) = f ListBox1.List(listed, 2) = f.Offset(0, 2) ListBox1.List(listed, 3) = f.Offset(0, 3) End If Next Dim x As Double For i = 0 To ListBox1.ListCount - 1 x = x + ListBox1.List(i, 3) Next i Me.Label9.Visible = True Me.TextBox8.Visible = True TextBox8.Value = x Dim v As Double For Z = 0 To ListBox1.ListCount - 1 v = v + ListBox1.List(Z, 2) Next Z Me.Label8.Visible = True Me.TextBox7.Visible = True TextBox7.Value = v Application.ScreenUpdating = True End Sub شكرا للجميع والله الموفق لي واياكم واذا لم استفيد بمساعدة احد يكفيني ان ممكن احد يستفيد من هذا الكود شكرا
    1 point
  30. اعرف مشكلتك مو في الاكسس ، بس خذني على قد عقلي ، وجرب اللي اخبرتك ، وبعدها اعمل تصدير 🙂 جعفر
    1 point
  31. استاذتنا في المنتدي جزيل الشكر لكم جميعآ لقد تم حل المشكلة عن طريق ايقاف الكود الاخير الذي تم اضافة جزيل الشكر لمروركم
    1 point
  32. اخي في الله @abouelhassan اعمل افضل اجابة حتى يعلم الاخوة الافاضل انه تمت الاجابة
    1 point
  33. بصراحة استاذي ابو بسملة لا اقترب عن هكذا امور خشية التعدي على حقوق الملكية ولهذا ليس لدي اي برنامج لاختراق بقية البرامج .. ولا افكر في ذلك ولله الحمد
    1 point
  34. تسلم ايدك ربنا يراضيك استاذى @احمد الفلاحجيممتاز جزاك الله كل الخير يارب بارك الله فيك احبك فى الله اخى
    1 point
  35. سعيد بمرورك أخي نارت وفقنا الله وإياكم لكل ما يحب ويرضى
    1 point
  36. شكرا لك أخي الكريم بالنسبة لعمل الكود في access runtime فهذا أكيد وبالنسبة لطريقة تفعيل اختيار لون معين وتنفيذه في بداية تشغيل قاعدة البيانات فقد تم اختصار الكود وقمت بعمل ملف يقوم بالآتي قراءة لون الثيم الافتراضي وإذا لم يكن الأسود (3) يتم تغيير اللون إلى الأسود وإعادة تشغيل الأكسس restart MasColorScheme.rar
    1 point
  37. أنصحك بإلغاء تثبيت الأوفيس وإعادة تثبيته مرة أخرى ممكن يكون السبب نقص في ملفات تثبيت الأوفيس وأثناء التثبيت اضغط على customize ثم اختر all from my computer من رمز الأوفيس ويعني تثبيت الأوفيس كاملا بكل خدماته وملفاته جرب وأخبرني بالنتيجة
    1 point
  38. تفضل أخي الكريم هذا رابط لأحدث كود لهذا الغرض منقول من موقعه الأصلي http://blog.nkadesign.com/2008/ms-access-changing-the-color-scheme-programmatically/ ويمكنك تحميل ملف به الأكواد مرئية من نفس الموقع http://blog.nkadesign.com/wp-content/uploads/2008/05/ColorSchemeV1.3.zip ولمزيد من التوضيح الكود يقوم بقراءة اللون الافتراضي للأوفيس حاليا من خلال الريجيستري اعتمادا على نسخة الأوفيس 12 أو 14 وكود آخر يقوم بكتابة القيمة الجديدة في الريجيستري وكود آخر يقوم بإعادة تشغيل قاعدة البيانات ..... كل عام أنتم بكل خير
    1 point
  39. أخي الكريم يوسف عطا ياريت توضح اي السطور تريد معرفتها فأكيد ترجمة السطور الخاصة بالتكرار ب for لا تخفى عليك
    1 point
  40. خيراً فعلت أخي محمد ونعم الرجال أخي عبد الله وأخي عماد الحسامي وفقنا الله جميعاً لكل ما يحب ويرضى وكل عام أنتم جميعاً بكل خير
    1 point
  41. في هذه الحالة يمكنك استعمال هذا الكود في حدث بعد التحديث R_AfterUpdate Me.Recordset.FindFirst "المعرف = " & [R] بدلا من DoCmd.GoToRecord acDataForm, "نموذج1", acGoTo, [R] لأن الكود الثاني للذهاب لسجل معين بدلالة رقمه أما الكود الأول فهو خاص بالبحث عن السجل بدلالة حقل من حقول الجدول
    1 point
  42. لا أعتقد وجود دالة ضمن أوفيس لهذا الغرض
    1 point
  43. يمكنك استعمال هذه الدالة Function chkhl(hl As Range) As Integer chkhl = IIf(Dir(hl.Value) = "", 0, 1) End Function وطريقة استدعائها كالتالي =chkhl(A1) وتكون النتيجة 1 للرابط الموجود و صفر للرابط غير الموجود
    1 point
×
×
  • اضف...

Important Information