اذهب الي المحتوي
أوفيسنا

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

  1. Shivan Rekany

    Shivan Rekany

    الخبراء


    • نقاط

      10

    • Posts

      3,491


  2. jjafferr

    jjafferr

    أوفيسنا


    • نقاط

      4

    • Posts

      9,814


  3. شوقي ربيع

    شوقي ربيع

    الخبراء


    • نقاط

      3

    • Posts

      1,134


  4. mourad2012

    mourad2012

    عضو جديد 01


    • نقاط

      2

    • Posts

      37


Popular Content

Showing content with the highest reputation on 31 يول, 2017 in all areas

  1. بسم الله الرحمان الرحيم السلام عليكم اغلبيتنا يعلم بان الاكسل جيد في انشاء برامج حسابية صغيرة لاكن مع مرور الوقت و زيادة حجم قاعدة البيانات للبرنامج يصبح هناك نوع من البطئء و التشنج في البرنامج لان الاكسل عبارة عن جداولة الكترونية و ليس بقاعدة بيانات و ايضا كما نعلم بان الاكسيس جيد جدا بالنسبة الاكسل لاستخدامه كقاعدة بيانات وب بالفعل الاكسيس مازال لحد الان يستعمل كقاعدة البيانات في البرامج المتوسطة لذى فكرة في دمج الاكسل و الاكسيس معا للستفادة من قوة الاكسل في الجداول و الحسابات و جمال الفورم مع الاكسيس المتميز في قوة قاعدة البيانات و عدم تاثره كثيرا بكبر حجمها كما هو معمول مع لغات البرمجة الكبيرة ك c++ vb.net java python ...... اذن ستجدون في هذا الموضوع مثال شامل لربط الاكسل بالاكسيس فقط بالاكواد بحيث سنتعامل مع الاكسيس بسلاسة كبيرة وذلك استخدام اوامر sql مع vbq بسهولة كبيرة وتنفذ جميع الاوامر من حذف او اضافة او تعديل او التقارير المعروف بها الاكسيس من خلال الاكسل دون فتح ملف الاكسيس (في الحقيقة يفتح ملف الاكسيس لاكن لن تلاحظ ابدا بانه مفتوح) والعملية المتبعة في ذلك مقسمة الى ثلاث مراحل فتح اتصال مع الاكسيس تنفيذ اوامر sql (select insert update delete) غلق الاتصال مع الاكسيس لا اطيل عليكم و اترككم مع الملف و لاي استفسارات انا في الخدمة تحياتي للجميع و ارجو ان تستفيدو من الموضوع ConnectDatabaseAccess.rar
    3 points
  2. اتفضل القي نظرتا الى استعلام لو اين و لوك اوت login.rar
    2 points
  3. فقط اجعل اتجاه التقرير من اليسار لليمين
    2 points
  4. بسم الله الرحمن الرحيم طلب بعض الاخوة موضوع الوارد اولا صادر اولا (FIFO) قمنا بعمل مثال بالاكواد لحل هذه المشكلة المثال يعتمد على اعمدة مساعدة ويتم مسح البيانات منها بعد الانتهاء الكود المستخدم Sub YasserFIFO() Dim z As Byte Application.ScreenUpdating = False Range("K6:K23").ClearContents Range("D6:E23").Copy Range("R1") Range("r1:s18").SpecialCells(xlCellTypeBlanks).Delete Shift:=xlUp Range("G6:G23").Copy Range("T1") z = 1 For Each x In Range("g6:g23") If x.Value <> "" Then If x.Value <= Cells(z, 18) Then Cells(x.Row, 11) = Cells(z, 19) * x.Value Cells(z, 18) = Cells(z, 18) - x.Value ElseIf x.Value > Cells(z, 18) Then 3 Cells(x.Row, 11) = Cells(x.Row, 11) + (Cells(z, 18) * Cells(z, 19)) x.Value = x.Value - Cells(z, 18) Cells(z, 18) = 0 For z = 1 To 20 If Cells(z, 18) = 0 Then GoTo 1 If Cells(z, 18) >= x.Value Then GoTo 2 If Cells(z, 18) < x.Value Then GoTo 3 1 Next z 2 Cells(x.Row, 11) = Cells(x.Row, 11) + (Cells(z, 19) * x.Value) Cells(z, 18) = Cells(z, 18) - x.Value End If End If Next Range("T1:T18").Copy Range("G6:G23") Range("R1:T18").Clear Range("a1").Activate Application.ScreenUpdating = True End Sub ومرفق المثال تستطيعوا تكبير المدى او جعله مرن بالتعديل على النطاقات الموجودة بالكود FiFo_2.rar
    1 point
  5. أخى الكريم السلام عليكم ورحمة الله وبركاته اتفضل ملف به زر أمر بالمطلوب أتمنى أن يفى بالغرض ـــــــــــــــــــــــــــــ تقبل تحياتى امر اغلاق وحفظ التعديل .rar
    1 point
  6. 1 point
  7. السلام عليكم مثل ما اخي شفان قال ، انا لم الحظ تأخير في فتح النموذج ، ولكن ملاحظاتي هي: . النموذج به عدد مهول من الكائنات = 116 كائن + 3 اقسام (اقصى عدد لكائنات النموذج هو 754 كائن) ، والذي يجب ان تفكر في طريقة لتفكيكه الى اكثر من نموذج ، وإلا فأنت تُخاطر ان يصيب احد هذه الكائنات اي عطب ، ويوقف عمل لنموذج بالكامل ، كائن ActiveX من الكائنات البطيئة في العمل ، عند فتح النموذج ، فإنك تطلب بيانات من الجدول 16 مرة وهذا عدد كبير ، عند فتح النموذج واخذ البيانات من الجدول ، وعند طلب مربعات التحرير والسرد الـ 14 بياناتها من الجدول ، وعند استخدامك الامر Dlookup في حدث فتح النموذج ، معظم كود فتح النموذج هو للزينة (تكبير النموذج والكائنات فيه) ، ويعمل حساباته على جميع الكائنات في النموذج لتكبيرها ، وحساب مقاسات كل كائن تتطلب الخول في 4 Subs ، وانا يدويا حسبت عدد مرات الدخول في Subs والذي وصل الى 464 مرة وتوقفت عند هذا الحد (صحيح ان الكمبيوتر سريع ويحسب جميع حساباته بسرعة فائقة ، ولكنه يحتاج الى حسابها والذي يأخذ وقت) ، بالاضافة الى وجود امر Dir مرتين في فتح النموذج ، وهذا الامر معروف عنه انه بطيء نوعا ما. نصيحتي للعمل هي: تفكيك النموذج الى اكثر من نموذج ، توقيف كود تكبير كائنات النموذج ، تقليل عدد كائنات النموذج ، كائن تصفح الانترنت "Microsoft Web Browser" ActiveX ، لم تختار له مكتبه من صفحة الكود Tools>Reference ، والتي هي عادة ieFrame.dll في C:\Windows\System32 ، بينما عملت له ربط متأخر عن طريق الكود : Set web = Me.objIE.Object ، مما يجعله ابطأ في العمل والتحميل. جعفر
    1 point
  8. اتفضل اخي احذف كل الاكواد السابقة واليك هذه الاواد اللازمة للنموذج Option Compare Database Dim Sec As Integer Private Sub AddPictures_Click() On Error Resume Next Dim x As FileDialog Dim MyNam As String Dim Mesar As String Set x = Application.FileDialog(msoFileDialogFilePicker) x.AllowMultiSelect = True If x.Show = -1 Then For i = 1 To x.SelectedItems.Count MyNam = Mid$(Trim(x.SelectedItems(i)), InStrRev(Trim(x.SelectedItems(i)), "\") + 1) FileCopy Trim(x.SelectedItems(i)), CurrentProject.Path + "\fileStores\" & ("" & MyNam & "") Mesar = CurrentProject.Path + "\fileStores\" & ("" & MyNam & "") Me.PicFile = CurrentProject.Path + "\fileStores\" & ("" & MyNam & "") Me.imgPicture.Picture = CurrentProject.Path + "\fileStores\" & ("" & MyNam & "") DoCmd.GoToRecord , , acNext Next i Me.imgPicture.Requery End If Set x = Nothing End Sub Private Sub AutoChange_Click() Me.StopAndResume.Visible = True Me.StopAndResume.Caption = "Stop" Me.TimerInterval = 1000 DoCmd.GoToRecord , , acFirst End Sub Private Sub Form_Timer() Sec = Sec + 1 If Sec >= 3 And Me.CurrentRecord <> Me.RecordsetClone.RecordCount Then DoCmd.GoToRecord , , acNext Sec = 0 ElseIf Sec >= 3 And Me.CurrentRecord = Me.RecordsetClone.RecordCount Then MsgBox "æÕáäÇ Çáì ÇÎÑ ÕæÑÉ .. ÓíÊã ÇÛáÇÞ ÇáäãæÐÌ" DoCmd.Close acForm, Me.Name End If End Sub Private Sub StopAndResume_Click() If Me.StopAndResume.Caption = "Stop" Then Me.TimerInterval = 0 Me.StopAndResume.Caption = "Resume" Exit Sub ElseIf Me.StopAndResume.Caption = "Resume" Then Me.TimerInterval = 1000 Me.StopAndResume.Caption = "Stop" Exit Sub End If End Sub واليك ملفك بعد تعديل pic.rar
    1 point
  9. فقط عليك ان تحذف هذه من الكود 'If Not IsNull(PicFile) = True Then '.InitialFileName = PicFile 'Else '.InitialFileName = "" 'End If ولهذا اضفت هذه اسطر للكود Dim newa As String newa = Mid$(Trim(.SelectedItems(1)), InStrRev(Trim(.SelectedItems(1)), ".") + 1) If newa = "jpg" Or newa = "png" Or newa = "ico" Or newa = "bmp" Or newa = "gif" Or newa = "tif" Or newa = "tga" Then FileCopy Trim(.SelectedItems(1)), CurrentProject.Path + "\fileStores\" & PicName("" & xPic & "") ElseIf newa = "mp3" Or newa = "wma" Or newa = "ape" Or newa = "amr" Or newa = "wav" Or newa = "mp4" Or newa = "avi" Then FileCopy Trim(.SelectedItems(1)), CurrentProject.Path + "\fileStores\watch\" & PicName("" & xPic & "") ElseIf newa = "txt" Or newa = "docx" Or newa = "doc" Or newa = "exlx" Then FileCopy Trim(.SelectedItems(1)), CurrentProject.Path + "\fileStores\doc\" & PicName("" & xPic & "") End If وتقدر ان تضيف انواع اخرى من نوع القراءة مثلا بي دي اف و الخ الى الكود تيكست اي الى جملة الشرطية و ايضا لنوع الفيديو اليك المرفق بعد تعديل test_move.rar
    1 point
  10. لان يتغير الطلبيات من عنوان الموضوع لذلك لا تجد من يرد عليك اليك هذا الرابط وهذا ايضا
    1 point
  11. اخي الكريم وائل الشكر اولاً واخيراً لله عز وجل .. وبارك الله فيك .. انا بالحقيقة لم اشكو من توجيه لوم او تقصير بحقي من قبلك او من قبل اي حد آخر فالحمد لله بطبعي انا لا اهتم كثيراً بما يقال الا بما ينفع ويحقق الهدف المنشود في السؤال. اتفق معك في ان ابسط الحلول هو ماوصلت ايه يدوياً لكن هذا ينفع في حال تم استخدام البرنامج من ناحيتك فقط .. اما لو اردت اعطاءه لزبون او مستخدم آخر ليست له دراية في الاكسس فسيكون من الصعب عليه تطبيق الربط يدوياً .. لذلك في الغالب يلجأ المبرمجون الى جعل الربط تلقائي بمجرد فتح البرنامج وتحديد مسار قاعدة الجداول اخي وائل صدقني انا لا افرق بينك وبين اي احد آخر قد استطيع مساعدته لوجه الله فالكل سواسية هنا وانا مثلك ايضاً احتاج الى الكثير والكثير لتعلمه من اخواني واساتذتي هنا في المنتدى وان شاء الله تلاقي جميع الحلول للإشكالات التي تواجهك .. انا عن نفسي قد تكون مساعدتي محدودة لعدة اسباب من ضمنها عدم استعمالي لاوفيس 2013 لكن انا شاء الله سأكون موجود في بقية المواضيع تحياتي
    1 point
  12. الشكر وكل الشكر الى سيادتكم الاستاذ Shivan Rekany وفقكم الله
    1 point
  13. انا حملت من جديد وما فيه مشكلة يللا الي من جديد login.rar
    1 point
  14. اتفضل القي نظرتا الى استعلام كيو2017 فقط علي ان تفتح استعلام كيو2017 مرة واحدة بواسطة زر او بدون زر Database1 (1).rar
    1 point
  15. وعليكم السلام نعم ، وكما قال أخي sandanet ، فقارئ الباركود يرسل رقم الباركود وامر الانتقال الى حقل آخر (Enter او Carriage Return) ، وهذه ميزة لمعظم البرامج ، بحيث تستطيع ان تضع كود في حدث "بعد تحديث" الحقل الذي فيه الباركود فاذا اردت ارجاع المؤشر الى نفس حقل الباركود ، فاستعمل الكود التالي (انا استخدمت اسم اي كائن/حقل في النموذج باسم Next_Field) Private Sub BarCode_AfterUpdate() Me.Next_Field.SetFocus Me.BarCode.SetFocus End Sub جعفر
    1 point
  16. مرفق حل ارجو ان ينال اعجابك ‫excelExport_20072017223701 - نسخة2.rar
    1 point
  17. تم الاستعانة بعامود مساعد(يمكن اخفاءه) Salim_Sum.rar
    1 point
  18. أخي الفاضل رجاء الالتزام بقوانين المنتدى: قواعد المشاركة فى الموقع اضغط هنـــــــــامن فضلك لقراءة القواعد كاملة و بصفة خاصة نؤكدعلى ما يلي 1- يمنع منعا باتا نشر أية مواد تخالف حقوق الملكية الفكرية و يرجى الابلاغ عن المشاركات المخالفة من خلال زر تقرير اسفل المشاركة 2-يجب استخدام خاصيةالبحث قبل طرح السؤال توفيرا للوقت و الجهد. 3-ضرورة كتابة عنوان واضح للموضوع يدل على محتواه ويعطي وصفاً مختصرا للسؤال. 4-ممنوع منعا باتاً كتابة عناوين سينمائية مثل عاجل ، نداء الي فلان ، الي الخبراء ، طلب مساعدة ، أريد حلا..... 5-يمكن استعجال الرد باستخدام تعبير -للرفع- و غير مسموح بالالحاح او اللوم فجميع الاعضاء يشاركون تطوعا طبقا لسعة وقتهم. ومخالفة ذلك تعرض الموضوع للحذف جعفر
    1 point
  19. السلام عليكم ورحمة الله وبركاته اولا : اسم موضوعك مخالف للقوانين المنتدى ثانيا : ارفع نسخة مصغرة من قاعدة بياناتك لعمل عليه
    1 point
  20. تفضل 1. نفكك السنة والشهر واليوم (هذا بسبب وجود صفر في اليوم/الشهر ، والذي سنحوله الى 1) . 2. والنتيجة: . 3. الآن نضع المعادلات اعلاه في الامر DateSerial لتحويلها لصيغة تاريخ ، في استعلام تحديث: . 4. والنتيجة المطلوبة: . جعفر . 706.نموذج بيروت بيانات.accdb.zip
    1 point
  21. الف الف مليون شكر استاذي صالح اسال الله ان يكتب لك الاجر تقبل خالص تحياتي
    1 point
  22. ممكن تضع مرفق للتغيير عليه On Error GoTo err: DoCmd.RunCommand acCmdSaveRecord DoCmd.GoToRecord , , acNewRec Exit Sub err: If err.Number = 3022 Then MsgBox "الرقم الذاتي مكرر", vbCritical + vbMsgBoxRight, "خطأ" Else MsgBox err.Description End If او قد يستطيع هذا الكود لمعالجة الخطأ مساعدتك لكن يفضل وجود مرفق
    1 point
  23. أحسن الله إليكم أستاذ ياسر جوابكم عين ما أريد لا أخفيكم اني بحثت عن هذا الكود ما يقارب السنة فجزاكم الله خيرا
    1 point
  24. اتفضل انا عملت لك هذه القاعدة اولا حدد فتح نموذجك في وضع تصميم بعدين حدد كل الحقول بعدين اعمل كما في الصورة والنتيجة اليك القاعدة Database1.rar
    1 point
  25. اخي انت تعبت نفسك في كتابة الموضوع وبالأخير ..................> موضوع مخالف وقد يتم إغلاقه من قبل إدارة المنتدى بخصوص حماية البرنامج برقم الهارد: موجودi لكنها غير مستحبة لأنك لاتضمن سلامة الهارد بشكل دائمي لذلك تم التوصل الى حل افضل وهو اعتماد اكثر من مكون في حماية البرنامج ولو تعطل احدى تلك المكونات فالبرنامج يستمر بالعمل لان باقي المكونات هي نفسها .. مثال: الحماية الثلاثية التي توصلنا لها تعمل من خلال قراءة سيريلات كل من الهارد والمعالج والمذربورد ودمجهما مع بعض لاعطاء رقم سميناه "رقم نسخة البرنامج" يقوم الزبون باعطاءك رقم النسخة وانت بدورك تعطيه رقم آخر اسمه "رقم التسجيل" يضعه في البرنامج لكي يتم تسجيل النسخة على جهازه فقط ولايمكنه نقل البرنامج على اي جهاز آخر .. الفكرة هنا ان الحماية تعتمد على التأكد من وجود قطعتين على الاقل من ثلاث قطع في الجهاز والا فلن يعمل البرنامج .. طبعاً لماذا قطعتين من ثلاثة!! لاننا افترضنا احتمالية عطل احدى القطع لدى الزبون وبالتالي فان الحماية تقوم بالتأكد من باقي القطع فاذا كانت 2 من القطع لها نفس السيريال بينما القطعة الثالثة مختلفة فسيعمل البرنامج .. المثال يمكن تحميله من خلال الرابط التالي تحياتي
    1 point
×
×
  • اضف...

Important Information