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

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

  1. سليم حاصبيا

    سليم حاصبيا

    أوفيسنا


    • نقاط

      5

    • Posts

      8,723


  2. د.كاف يار

    د.كاف يار

    الخبراء


    • نقاط

      4

    • Posts

      1,681


  3. Ali Mohamed Ali

    Ali Mohamed Ali

    المشرفين السابقين


    • نقاط

      2

    • Posts

      11,621


  4. أبو عبدالله الحلوانى

Popular Content

Showing content with the highest reputation on 13 ماي, 2021 in all areas

  1. السلام عليكم ورحمة الله كل عام وأنتم إلى الله أقرب، وعلى الطاعة أدوم وعن النار أبعد. العيد فرحة ما تكمل إلا بوجودكم العيد بهجة ما تحلى إلا بقربكم كل عام وأنتم بخير . مع أطيب نفحات العطور وأروع ألوان الزهور حبيت بس أقول كل عام وأنتم بخير . شعبان شهر وراح ورمضان بالعطر فواح يجعل عيدك أفراح وهمومك تنزاح تقبل الله طاعتكم، وأتم بالعيد فرحتكم، وأقر عينيكم بنصر أمتكم. هلّت الأعياد، وبينهم أفضل عيد، عيد الفطر السعيد، مبارك عليكم
    2 points
  2. عيدكم مبارك أسأل الله أن يجعلنا ممن أعتق رقابهم من النار في شهر رمضان وقبل منهم اعمالهم ومن عليهم بمغفرته ورضوانه آمين وكل عام وانتم بخير
    2 points
  3. جرب هذا الملف 1- اكتب ما تريد في الــ TextBox1 واضغط Enter 2 -لحذف صنف قم بتضليله في الــ ListBox1 واضغط الزر المناسب الكود Private Sub DeL_It_Click() Dim FND As Range Dim lr%, Ro1%, Ro2%, i% Dim t% Dim my_rg As Range Dim Sh As Worksheet t = Me.ListBox1.ListIndex If t <= 0 Then Exit Sub Set Sh = Sheets("ارشيف العمليات") lr = Sh.Cells(Rows.Count, 1).End(3).Row With Me.ListBox1 Set FND = Sh.Range("D1:D" & lr).Find(Me.ListBox1.List(t, 3), lookat:=1) If FND Is Nothing Then Exit Sub Ro1 = FND.Row: Ro2 = Ro1 End With Do If my_rg Is Nothing Then Set my_rg = Sh.Range("A" & Ro2).Resize(, 7) Else Set my_rg = Union(my_rg, Sh.Range("A" & Ro2).Resize(, 7)) End If Set FND = Sh.Range("D1:D" & lr).FindNext(FND) Ro2 = FND.Row If Ro1 = Ro2 Then Exit Do Loop my_rg.Delete xlUp lr = Sh.Cells(Rows.Count, 1).End(3).Row Me.ListBox1.Clear Me.ListBox1.RowSource = Range("A2:G" & lr).Address End Sub '+++++++++++++++++++++++++++++++++++++++ Private Sub TextBox1_AfterUpdate() Dim FND As Range Dim lr%, Ro1%, Ro2%, i% Dim Sh As Worksheet Set Sh = Sheets("ارشيف العمليات") lr = Sh.Cells(Rows.Count, 1).End(3).Row Me.ListBox1.Clear Set FND = Sh.Range("A1:A" & lr).Find(Me.TextBox1, lookat:=1) If FND Is Nothing Then Exit Sub Ro1 = FND.Row: Ro2 = Ro1 Do With Me.ListBox1 .AddItem For i = 0 To .ColumnCount - 1 .List(.ListCount - 1, i) = _ Sh.Cells(Ro2, 1).Offset(, i).Text Next End With Set FND = Sh.Range("A1:A" & lr).FindNext(FND) Ro2 = FND.Row If Ro1 = Ro2 Then Exit Do Loop End Sub الملف مرفق Hisham_Jamal.xlsm
    2 points
  4. لا حاجة للكود في هذا الملف تكفي المعادلات Badawi.xlsx
    2 points
  5. هل تعاني من كثرة التقارير في برنامجك هل تعاني من كثرة الاستعلامات في برنامجك هل تعاني من كثرة التقارير التي يطلبها العميل كل آن وآخر ربما تجد ضالتك المنشوده في هذا النموذج البسيط الذي يقوم بعمل التقارير بناءاً على معايير تحددها بنفسك وبمجرد إغلاق التقرير لا يكون له وجود وتخيل كم التقارير التي تستطيع الحصول عليها من هذا النموذج بدون إنشاء استعلامات مسبقه وبدون إنشاء تقارير لهذه الاستعلامات وبدون عمل أزرار زيادة لتشغيل هذه التقارير . هذا النموذج يعمل على أكسس 97 وقد وجدته ضمن مجموعة قواعد أهداها لي أستاذنا العزيز أشرف خليل مع خالص التحية والشكر لشخصه المحترم فقط قم باختيار الجدول المناسب ثم اختيار الحقول التي ستضعها في التقرير ثم اختر الحقل الذي سيتم التصفيه عليه ثم اختر معلمات التصفيه واعرض التقرير ستجد ما يسرك بإذن الله ملاحظات : هذا النموذج أعيب عليه بعض العيوب 1- النموذج باللغة الإنجليزية 2- أنه يتيح فقط الجدوال التي تبدأ بـ tbl أي الملتزمه بقواعد تسمية مايكروسوفت فما حالنا نحن الذين نسمى الجداول باللغة العربية 3- أنه لا ياخذ الاستعلامات في الاعتبار وهذا هام لأننا أحياناً بل غالباً نريد بناء تقارير من جداول مرتبطه بعلاقات ولو أنه أخذ الاستعلامات في الاعتبار لاستطعنا الحصول على نتائج جيده جداً . 4- لا يأخذ في الاعتبار الجداول المرتبطه وكثير منا يصنع برامجه على قاعدتين واحده للواجه والأخرى للجداول حتى يسهل التحديث وتعدد المستخدمين علىالشبكات. 5- أنه يصنع تقرير يحتوي على 6 حقول فقط لا غير ولا يزيد عليهم . وبحمد الله وتوفيقه استطعت حل هذه المشكلات وقمت بتعريب واجهة النموذج سأرفقه بعد التعديل في المشاركة التالية الملف مرفق قاعدة أجنبيه تعمل على أكسس 97
    1 point
  6. وعليكم السلام 🙂 طريقة الاخ خالد هي الصحيحة ، ولكن وبما انك طلبت هذه الطريقة الاخرى ، فاليك الطريقة: 1. اعمل استعلام لجدول الذكور ، وأخر لجدول الاناث ، ثم استعلام لجدول الطلبة ، 2. في الاستعلام ، نطلب منه ان يستخرج لنا الاسم الاول من الاسم الكامل ، كما نراه في الحقل F ، 3. نعمل حقل اضافي لتعريف نوع الجنس ، واسمه G : . وهذه النتيجة: . 4. نعمل استعلام لتحديث اسماء الذكور ، وآخر لتحديث اسماء الاناث ، 5. الرابط بين الاستعلامات هو الاسم الاول : . والنتيجة: . تم تحديث جميع الاسماء الموجودة في جدولي الذكور والاناث ، اما الاسماء الغير موجودة ، فيكون الحقل فيها فارغ ، لذلك ارجع واقول: طريقة الاخ خالد هي الصحيحة 🙂 جعفر 1368.if-name-set-gendre.mdb.zip
    1 point
  7. وأنتم طيبين وبخير وسعادة
    1 point
  8. كل عام وانتم بخير وصحه وسلامه
    1 point
  9. تم عمل اللازم و كلنا مكملين لبعض و كل عام و انتم و الاحبة بكل خير اضافة الصنف الي عملية البيع (1).accdb
    1 point
  10. اعتذر من الجميع و كل عام و انتم بكل خير تفضل اخي ابو الحسن التعديل و اذا احتجت اي تعديلات اخرى انشئ موضوع جديد حتى تعم الفائدة و يكون المجال مفتوح للجميع بالمشاركة في الحل شكرا لكم DATA2000.mdb.zip
    1 point
  11. اظن انه ليس هناك حاجة لاستعمال البوزرفورم (فقط اضغط الزر GO في الصفحة Target ) الكود Option Explicit Sub AL_in_One() Dim T As Worksheet Dim Sh As Worksheet Dim arr(), itm Dim Max_ro%, k% Dim Adr1%, Adr2% Dim F_rg As Range arr = Array("First", "Second", "Third") Set T = Sheets("Target") T.Range("A1").CurrentRegion.Offset(1).Clear k = 2 For Each itm In arr Set Sh = Sheets(itm) Max_ro = Sh.Cells(Rows.Count, 2).End(3).Row Set F_rg = Sh.Range("o2").Resize(Max_ro).Find("*", lookat:=1) If Not F_rg Is Nothing Then Adr1 = F_rg.Row: Adr2 = Adr1 Do T.Range("B" & k).Resize(, 21).Value = _ Sh.Range("B" & Adr2).Resize(, 21).Value T.Range("W" & k) = Sh.Name & ": (" & Adr2 & ")" T.Range("A" & k) = k - 1 k = k + 1 Set F_rg = Sh.Range("o2").Resize(Max_ro).FindNext(F_rg) Adr2 = F_rg.Row If Adr2 = Adr1 Then Exit Do Loop End If Next itm If k > 2 Then With T.Range("A2").Resize(k - 2, 23) With .Font .Size = 14: .Bold = True End With .InsertIndent 1 .Borders.LineStyle = 1 .Interior.ColorIndex = 20 End With End If End Sub Fares_hasan.xlsm
    1 point
  12. لإضافة عمود جديد استخدم الأمر التالي ALTER TABLE table_name ADD column_name datatype; و لحذف عمود ALTER TABLE table_name DROP COLUMN column_name;
    1 point
  13. لإضافة عمود جديد استخدم اضافة عمود جديد ALTER TABLE table_name ADD column_name varchar(255);
    1 point
  14. السلام عليكم و رحمة الله تعالى و بركاته دكتورنا كيف حالك. إن شاء الله تكون بخير هذا مثال لإظهار رسالة في شريط المهام دون الحاجة لأي برنامج آخر بالأكسس فقط عرض رسالة على شريط المهام.accdb
    1 point
  15. عملت برنامج بصلاحيات واريد ان اعرف في من المستخدم الذي عدل والذي اضاف طبعا عملت بأشياء على نصائح الشباب ولم تفلح طبعا أريد ان يطلع الاسم توماتيك في مربع نص مع الف شكر
    1 point
  16. السلام عليكم ورحمة الله وبركاته عندي سؤال أيها الأخوة وهو أنه عندي جدول رئيسي به جميع البيانات الخاصة بالعمليات المالية والمعتمدة أصلا على سعر العملة وبه عمود خاص باسم العملة، فأنشأت جدول آخر باسم جدول العملة به اسم العملة ومبلغ العملة مربوط بالجدول الرئيس، ومن المعروف أن سعر العملة يتغير يوميا، وبالتالي هناك مشكلة وهي أنه عندما أغير سعر العملة في جدول العملة اليوم سوف يؤثر ذلك على سعر العملة للأيام الماضية ، السؤال كيف أستطيع أن أثبت سعر العملة في الجدول الرئيس دون تأثير عند التغير في جدول العملة، أعلم أن طريق الربط بين جدولين غير مجدية ، فهل هناك طريقة أخرى ؟؟؟ وجزاكم الله خيرا
    1 point
  17. السلام عليكم ورحمة الله وبركاته ، وبعد قمت بعمل قاعدة بيانات بسيطة لإدخال ( جدول الحصص الأسبوعي للمدرسة ) وتتكون من ( جدول ) به : اسم المعلم التخصص اليوم الحصة1 المادة2 ... إلى ... الحصة7 المادة7 ... اليوم1 المادة8 الحصة8 وهكذا حتى نهاية حصص ومواد يوم الأربعاء .... ثم قمت عن طريق ( التقارير ) باستخراج : جدول عام لجميع المعلمين ... وجداول حسب التخصص ... وجدول لكل معلم... لكن !!!! لم أتمكن من استخراج جدول (( لكل فصل )) على حدى ... مثل جدول فصل 4/ أ ( فيه مواد هذا الفصل فقط ) وهكذا بقية الفصول . فأرجو من الجميع - فضلاً لا أمرًا - مساعدتي في الطريقة التي أتمكن بها من تنفيذ هذا ( الجدول ) وجزاكم الله خيرًا .
    1 point
  18. الاخوة الاعزاء اناعندى سؤال للاخوه الاعزاء اللذين لهم باع فى الاكواد وجمل ال SQL يشمل الحاق سجلات الى جدول اخر ومن ثم حذفها من الجدول الحالي ولكن حسب شروط معينه ولان الترحيل يلحق فى معظم الاحيان بالحذف فانا رايت عرض سؤالي هنا بدلا من موضوع منفصل حتى نستفيد جميعا عندي 3 جداول جدول اسمه STUDENT يحتوى على بيانات خاصة بالطلاب يتكون من الحقول رقم الطالب و اسم الطالب و التخصص و المعدل الرغبه الاولى و الرغه الثانية و الرغبة الثالثة وجدول اخر اسمه COMPANIES يحتوى على رقم الشركة و اسم الشركة والتليفون وباقي بيانات الشركات وجدول ثالث اسمه CHANCES يحتوى على رقم الشركة و اسم المادة و عدد الفرص المتاحة بحيث ان الجدول الثانى والثالث بينهما علاقة راس باطراف وعملت نموذج للشركات وبه نموذج فرعي للفرص التى تتيحها كل شركة من المواد المختلفة (التخصصات) وعملت نموذج اخر للطلاب ورغباتهم حيث يختار كل طالب ثلاث شركات ليتدرب فيها فى الصيف وبناء على البيانات المسجلة يكون عندى الطلاب ورغباتهم فى جدول STUDENT وبيانات الشركات فى جدول COMPANIES وعدد الفرص التى تطلبها كل شركة من كل مادة او تخصص فى جدول CHANCES والمطلوب ترحيل الطلاب الى جدول جديد يكون فيه بيانات الطلب كاملة مع اسم الشركة التى اختارها ليتدرب فيها بشروط 1- ان يكون الترحيل حسب اعلى معدل للطالب 2- ان يكون الترحيل حسب الرغبة الاولى للطالب ومن ثم حسب الرغبة الثانية ثم الثالثة 3- ان لا يزيد عدد الطلاب المرحلين عن عدد الفرص المتاحة من هذه المادة لكل الشركات 4- ان يرحل الطلاب بحيث لا يزيد عدد الطلاب المرحلين عن المطلوب لكل شركة بمعنى (خاصة برقم 4) اذا كان الطلاب الراغبين للتدريب فى شركة الاتصالات مثلا 10 فى تخصص الحاسب الالى وهى تعرض فرص قدرها 8 فيتم الترحيل حسب الشروط السابقة ولكن يقف عند 8 طلاب لهذه الشركة ومن ثم يوذع الباقى للشركات الاخرى حيث لا يمكن ان تحتوى الشركة على عدد من الطلاب المتدربين فى تخصص ما ويكون زيادة عن الفرص التى اتاحتها لهذا التخصص على فكرة الاخ المزينى كان عمل كود رائع شبيه بهذا الطلب ولكن حاولت اعمله لوحدى ولكننى لم استطع ارجو ان يكون طلبى واضع ولكم منى كل الشكر
    1 point
  19. الاخوة الاعزاء المشرفين و جميع الاعضاء المحترمين السلام عليكم و رحمة الله و بركاته نظرا لحاجتي الماسه لحل هذا الموضوع و عدم توفر الوقت الكافي للبحث في مواضيع الاكسس في المنتدى عن مشكلتي اضطررت لكتابة السؤال مباشرة ارجوا ممن يستطع المساعده ان لا يبخل علينا بها يوجد لدي برنامج معمول على الاكسس يخص دائره حكوميه و وظيفته ادخال اسماء الموظفين و معلومات عنهم و حيث انني اعمل في مركز رئيسي لعدة فروع فانا مضطر لدمج جميع البيانات مع بعضها البعض عندما تاتي من جميع الفروع لتبقى على ديسك واحد فمثلا عندي 10 اسماء من فرع معين و 5 من فرع اخر فبدلا من اعادة كتابة الخمسة اسماء الاخيره على نفس قاعدة البيانات التي توجد عليها العشرة اسماء اريد ان اسحب البيانات بطريقه معينه لاضافتها يعني من قاعدة بيانات الى قاعدة بيانات اخرى هل هناك طريقه وانا متاكد انا الاكسس يوجد به مثل هذه الميزه و لكن لا اعلم كيف ارجو ا مساعدتي قدر الامكان وشكرا
    1 point
  20. مرفق بسيط لضرب الفئة فى القيمة و الحصول علي المجموع الاجمالي Product.rar
    1 point
  21. أعزائي الاخوة اساتذة الاكسس بارك الله فيكم عندي جدولين ربطت بينهم عن طريق الجدول الاول ترقيم تلقائي وكذلك الجدول الثاني بعلاقة وعندما اضع البيانات ثم أريد أن احذفها جميعاً واضع بيانات أخرى أجد أن الترقيم التلقائي يعطي أو السجلات الجديدة أرقام ليس من 1 ، 2 ، 3 ، وإنما من أخر سجل محذوف فهو يكمل فلو كان عدد السجلات المحذوفة كلها عشرة فإن أول سجل في البيانات الجديدة بعد حذف كل البيانات القديمة هو رقم 11 وكذلك ..... امل المساعدة بارك الله فيكم أخوكم مفيد
    1 point
  22. متلا يوجد في البرنامج 200 نموزج كل نموزج يوجد اجراء مثلا تكبير اجرا مثلا اخر_سجل اجراء تصغير --------- بنا نستعمل هزه الطريقه في اي مشكله في البرمجه مستقبلا وحده نمطيه لا كل البرنامج Public Function تكبير() DoCmd.Maximize End Function Public Function اخر_سجل() DoCmd.GoToRecord , , acNewRec End Function Public Function تصغير() DoCmd.Minimize End Function ========= الاجراء بهازا الشكل Private Sub أمر0_Click() تكبير End Sub
    1 point
  23. في الوحدة النمطية العامة اكتب : Declare Function SetTimer Lib "user32" (ByVal hWnd _ As Long, ByVal nIDEvent As Long, ByVal uElapse _ As Long, ByVal lpTimerFunc As Long) As Long Declare Function KillTimer Lib "user32" _ (ByVal hWnd As Long, ByVal nIDEvent As Long) _ As Long Declare Function FindWindowEx Lib "user32" _ Alias "FindWindowExA" (ByVal hWndParent As _ Long, ByVal hWndChildAfter As Long, ByVal _ lpClassName As String, ByVal lpWindowName _ As String) As Long Declare Function Sendmessagebynum _ Lib "user32" Alias "SendMessageA" (ByVal _ hWnd As Long, ByVal wMsg As Long, ByVal _ wParam As Long, ByVal lParam As Long) _ As Long Const EM_SETPASSWORDCHAR = &HCC Public str_Title$, TimerId& Sub TimerProc(ByVal hWnd As Long, ByVal uMsg As Long, _ ByVal uElapse As Long, ByVal lpTimerFunc As Long) KillTimer 0, TimerId Dim lng_Hwnd& lng_Hwnd = FindWindowEx(0, 0, "#32770", _ Trim(str_Title)) lng_Hwnd = FindWindowEx(lng_Hwnd, 0, _ "Edit", vbNullString) If lng_Hwnd Then Sendmessagebynum lng_Hwnd, EM_SETPASSWORDCHAR, 42, 0 End If End Sub وفي حدث عند نقر زر أمر اكتب : TimerId = SetTimer(0, 0, 1, AddressOf TimerProc) str_Title = "كلمة المرور مطلوبة" str_Prompt = "ادخل كلمة المرور" MsgBox InputBox(str_Prompt, str_Title) الكود السابق تظهر الكلمة بعد كتابتها في رسالة Msgbox وهذا فقط للاختبار ، أما إذا أردت وضع قيمة شرطية لعمل إجراء ما حسب الكلمة المدخلة فكالتالي : TimerId = SetTimer(0, 0, 1, AddressOf TimerProc) str_Title = "كلمة المرور مطلوبة" str_Prompt = "ادخل كلمة المرور" If InputBox(str_Prompt, str_Title) = "كلمة" Then ' اكتب هنا الإجراءات إذا كانت الكلمة صحيحة Else ' اكتب هنا الإجراءات إذا كانت الكلمة غير صحيحة End If غير "كلمة" بكلمة السر لديك . ************************ مع تحيات صفحة ابو حمود
    1 point
×
×
  • اضف...

Important Information