بحث مخصص من جوجل فى أوفيسنا
![]()
Custom Search
|
نجوم المشاركات
Popular Content
Showing content with the highest reputation on 08/24/22 in مشاركات
-
5 points
-
تفضل هذا كود تكرار السجل : 🙂 Private Sub DublicateRecBtn_Click() On Error GoTo Err_DublicateRecBtn_Click DoCmd.RunCommand acCmdSelectRecord DoCmd.RunCommand acCmdCopy DoCmd.RunCommand acCmdRecordsGoToNew DoCmd.RunCommand acCmdSelectRecord DoCmd.RunCommand acCmdPaste Exit_DublicateRecBtn_Click: Exit Sub Err_DublicateRecBtn_Click: MsgBox Err.Description Resume Exit_DublicateRecBtn_Click End Sub4 points
-
3 points
-
طريقة اخرى على قد حالي طبعا حسب طلب الاستاذ يونس نسخ الحقول ماعدا حقل التفاصيل وانا استثنيت حقل id لانه ترقيم تلقائي وحقل التاريخ يكون تاريخ تكرار السجل ويمكن اعادته للمصفوفة ليكون a(5) ممكن نعمل مصفوفة نحمل فيها فقط الحقول المطلوب تكرارها If Me.NewRecord Then Exit Sub Dim x As Variant Dim a As Variant x = ([NSSA] & "|" & [NSSB] & "|" & [NSSC] & "|" & [RQMA] & "|" & [NSSE]) DoCmd.GoToRecord , , acNewRec a = Split(x, "|") [NSSA] = a(0) [NSSB] = a(1) [NSSC] = a(2) [RQMA] = a(3) [NSSE] = a(4) [TAREKA] = Date DoCmd.GoToControl "RQMB" وممكن نستغني عن المصفوفة باستخدام حلقة تكرارية تمر على الحقول وتستثني حقل الملاحظات والترقيم التلقائي ثم تكرر الحقول غير المستثناه وهنا لا داعي لكتابة اسماء الحقول ولكني ساكتفي بهذه المشاركة --------------------------------------------------- رجاء خاص من لم تعجبه المشاركة فليقل خيرا او يصمت لا تكرهونا في موقع اصبح متنفسنا الوحيد ملاحظة انا مبرمج متقاعد من عدة سنوات وتعاملي مع اكسس قليل جدا واغلب معلوماتي قديمة منذ نظام التشغيل dos واعترف بان اغلب المشاركين يفوقوني علما ومعرفة فخذ ما يعجبك او اترك2 points
-
اخي الكريم الاجابة غير موفقة ، ومما تعلمنا ان فهم السؤال نصف الإجابة السائل يريد نسخ سجل كامل بجميع حقوله ولصقه في سجل جديد وقد اجاب الاخ موسى قبلك واجاد القائمن على المنتدى يهمهم ان تكون المشاركات مفيدة تعالج الفكرة نفسها ... ويطبقون المثل : ما قل ودل2 points
-
السلام عليكم مشاركه مع اخى @عمر ضاحى فى حدث فالحالى للنموذج الفرعى Private Sub Form_Current() If Not Me.NewRecord Then Me.AllowEdits = False End Sub بالتوفيق try1.accdb2 points
-
2 points
-
2 points
-
السلام عليكم 🙂 اي شيء يُكتب بعد الامر DoCmd.Quit مثل (acQuitPrompt او acQuitSaveAll او acQuitSaveNone) هو لحفظ التغيير في تصميم النموذج/قاعدة البيانات ، وليس لحفظ السجل 🙂 فالامر DoCmd.Quit يكون كافيا 🙂 ولكن هناك ملاحظة في مساعد الاكسس: فإذن الامر الاصح للخروج من البرنامج هو : Application.Quit جعفر2 points
-
2 points
-
السلام عليكم ورحمة الله من تبويب Formula اختر Calculation Option ثم Automatic و ينتهى الامر1 point
-
وعليكم السلام ورحمة الله تعالى وبركاته تفضل اخي بعد تحميل الملف المضغوط سوف تجد مجلد باسم DATA C قم بنسخه الى القرص ثم افتح ملف سجل القيد وقم باستدعاء البيانات عادي الكود المستخدم Sub MH_data() Application.ScreenUpdating = False Set currentworkbook = ThisWorkbook Set sourceworkbook = Workbooks.Open("C:\DATA\Sheet1.xlsx") sourceworkbook.Worksheets("Sheet1").Range("a2:d500").Copy currentworkbook.Activate currentworkbook.Worksheets("Sheet1").Activate lastcell = Cells(Rows.Count, 2).End(xlUp).Row + 1 currentworkbook.Worksheets("Sheet1").Cells(lastcell, 2).Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Application.CutCopyMode = False sourceworkbook.Close Set sourceworkbook = Nothing Set currentworkbook = Nothing ThisWorkbook.Activate Worksheets("Sheet1").Activate Worksheets("Sheet1").Range("A4").Select Application.ScreenUpdating = True End Sub ملاحظة: يمكنك تغيير مسار الملف من هنا في حالة عدم توفر جهازك على قرص باسم C Set sourceworkbook = Workbooks.Open("C:\DATA\Sheet1.xlsx") سجل القيد_MH.rar1 point
-
السؤال واضح وضوح الشمس في النهار اسمح لي اخوي لوكان ردي يزعلك : ردك اعلاه ما فهمت منه شي ، هل انت عربي ؟؟ اذا انت لست عربيا عذرناك1 point
-
1 point
-
انتبه من فضلك فعليك استخدام خاصية البحث بالمنتدى ,فطلبك تكرر كثير جداً وشوف بنفسك https://www.officena.net/ib/search/?q=متفرقة&quick=1&type=forums_topic&nodes=1351 point
-
1 point
-
أكثر ما أكرهه في البرمجة هو تكديس الأكواد للوصول إلى أقصر كود. من الحالات التي مرت علي أذكر منها حالتين: الأولى صاحبها يستخدم الفاصلة بين الأسطر ":" ولا يستخدم أسطر فارغة بين الدوال ليخرج ويعلن أن كوده هو الأفضل لأنه الأقصر!! والأخرى صاحبها يستخدم نتائج بعد تحضيرها منفصلة خارج الكود الأصل ، ثم يستخدمها كثوابت ويستخدم أسطر بيانات تصل طول السطر فيها إلى ما يقارب الألف حرف ليعلن أن كوده هو الأقصر والأسرع. ملاحظة أخرى عملية السرعة ليست مطلوبة في كل الأوقات ، نحتاجها أكثر في العمل الذي به حسابات كثيرة ومتكررة وهذا نادر جدا ، أما لو كانت عملية تحويلات لملف بيانات قديمة ولمرة واحدة مثلا فلا داعي للإنشغال بالسرعة والإختصار فالكود سوف يستخدم مرة أو مرتين ثم يهمل/يترك/يرمى لانتهاء الحاجة له. حركتوا مشاعري المدفونة.1 point
-
وعليكم السلام 🙂 1. خلينا نشوف اللي يشوفه الكمبيوتر ، استعمل هذا الكود ، خليه يشتغل ، وشوف النتائج في النافذة اسفل شاشة الكود (ثم الصقها في المنتدى علشان نشوف اذا في شيء منها غلط) : Private Sub Command_Click() Dim FileName As String Dim FilePath As String Dim FilePath1 As String FileName = Me.[bankcode] & Right(Year(Date), 2) & "0" & Month(Date) & Day(Date) & "100000" FilePath = Me.[FPath] & FileName & ".txt" FilePath1 = Me.[FPath] & FileName & ".PDF" debug.print Me.[bankcode] debug.print Right(Year(Date), 2) debug.print Month(Date) debug.print Day(Date) debug.print Me.[FPath] debug.print FilePath debug.print FilePath1 DoCmd.OutputTo acOutputReport, "word", acFormatPDF, FilePath1 DoCmd.OutputTo acOutputReport, "empdataa", acFormatTXT, FilePath MsgBox "Done" & " " & Me.FPath, vbInformation, "alert massege" End Sub . كذلك مو على العادة تسمية الزر باسم command ، عادة يكون command1 او command2 او ... ، فالظاهر اسم الزر خطأ في الكود ، لذا فالافضل عمل زر جديد ، ولصق الكود فيه ، ثم التجربة 🙂 جعفر1 point
-
استخدم الكود الاتى Private Sub Form_Close() On Error GoTo QuitApp_Err DoCmd.Quit acSave QuitApp_Exit: Exit Sub QuitApp_Err: MsgBox Error$ Resume QuitApp_Exit End Sub1 point
-
جرب هذا الكود Private Sub Form_Close() DoCmd.Quit End Sub1 point
-
طيب .. هناك بعض الأمور غير موضحة لا في السؤال ولا في المرفق .. 1- لمن سترسل الرسالة ؟ ( أين ستضع إيميل من سترسل له ؟) 2- أين يوجد المرفق ؟ هل سينشئه البرنامج ثم يرسله ؟ أم أنه مرفق ثابت فقط ستضع مسار الملف في الكود ؟ 3 - هل تريد البرنامج أن يرسل تقارير جميع الطلاب ؟ أم الطالب الحالي فقط ؟ ( لأنك وضعت حلقة تمر على جميع الطلاب في الكود ) 4 - تريد أن يفتح الآوتلوك ويقف وأنت ستضغط زر الإرسال ؟ أم يرسلها تلقائيا نيابة عنك ؟ هذه البيانات مهمة لكتابة الكود 🙂1 point
-
بما أن الأستاذ خالد قام بإحياء هذا الموضوع من جديد أحببت أن أدلو بدلوي 😁 هذه طريقتي لفصل الأرقام من النص .. والعكس نزع الحروف من بين الأرقام .. أولا : استخراج الأرقام من النص وحذف الحروف : Public Function ExtractNumbersFromText(strText As String) Dim x As Long Dim L As String Dim r As String For x = 1 To Len(strText) L = Mid(strText, x, 1) If IsNumeric(L) Then r = r & L End If Next x ExtractNumbersFromText = r End Function ثانيا : اسخراج الحروف وحذف الأرقام : Public Function RemoveNumbersFromText(strText As String) Dim x As Long Dim L As String Dim r As String For x = 1 To Len(strText) L = Mid(strText, x, 1) If Not IsNumeric(L) Then r = r & L End If Next x RemoveNumbersFromText = r End Function abc.rar1 point
-
1 point
-
لاحظت شي 🙂 DoCmd.RunSQL "DELETE sanduk.yat , sanduk.DAT , sanduk.SAH FROM sanduk WHERE " & myCriteria & ";"1 point
-
وعليكم السلام 🙂 هذا مثال: وهذا محاولة للتطبيق على مثالك (يجب مراعاة نوع الحقل: نص ، رقم ، او تاريخ) : dim myCriteria as string 'امثلة ' myCriteria = "[detach]='Male'" 'نص ' myCriteria = myCriteria & " [ID]=12" 'رقم ' myCriteria = myCriteria & " [iDate]=#29-05-2015#" 'تاريخ myCriteria = "sanduk.yat= " & FORMS!edaa1![ser] myCriteria = myCriteria & " AND" myCriteria = myCriteria & " sanduk.daf= " & forms!edaa1![daf] myCriteria = myCriteria & " AND" myCriteria = myCriteria & " sanduk.dat= #" & forms!edaa1![dat] & "#" DoCmd.RunSQL "DELETE sanduk.yat , sanduk.DAT , sanduk.SAH FROM sanduk WHERE " & myCriteria . جعفر1 point
-
1 point
-
1 point
-
جرب المرفق هناك معادلة في العمود m من m3:m انسخها الى الاسفل حسب عدد البيانات ولا تعدل في الخلية m2 اتركها بون معادلة الرجاء المساعده (1).xlsm1 point
-
1 point
-
1 point
-
1 point
-
وعليكم السلام -يمكنك ذلك بجعل التنسيق هكذا [$-,2000000]0.00_);[Red](0.00) TEST1.xlsx1 point
-
اتفضل اسف كنت مستعجل ولم انتبه لتلك النقطة جدول البرامج-v3.accdb1 point
-
و جرب هذي الطريقة منع الحاق سجل تم الحاقه سابقة له نفس التاريخ.zip1 point
-
1 point
-
1 point
-
1 point
-
تغضل اخى هذا من أعمال وإبداعات أستاذنا الكبير زيزو العجوز له منا كل المحبة والفخر والإعتزاز والإحترام جزاه الله كل خير وجعله فى ميزان حسناته وجعله الله دائما وابدا زخرا وعطاء لنا المطلوب اظافة شرط , عدم تجاوز درجة الطالب للدرجة الكبرى للمادة-فى الفورم.xls1 point
-
1 point
-
أنا بصراحة عندى الإكسيل 2007 وهى تعمل عندى بكل بساطة -فلا يوجد عندى 2010 كى اجربها لك ولكن لا أعتقد أنها لا تعمل عليه فانها معادلة بسيطة من if ممكن تحاول تستخدم معادلة الأستاذ سليم1 point
-
تفضل هذا الملف ولكن لابد أن تقوم يتغيير أسماء الصفحات الى أسماء الموظفين لديك بشكل مساوى لما هو وارد بجهاز البصمة فبناءاً عليه يكون الترحيل من الصفحة الرئيسية الى كل موظف على حده كود ترحيل بدون تكرار من صفحة إلى عدة صفحات.xlsm1 point
-
1 point
-
وعليكم السلام أخى مرحبا بك فى منتدانا الكريم لو إفترضنا ان الرقم المستخدم فى المعادلة موجود فى الخلية B1 فالمعادلة كالتالى : IF((B1*28/100)>100,100,(B1*28/100))= بارك الله فيك1 point
-
1 point
-
مع فائق تقديري لهذا الجهد المبارك أتمنى من الأستاذ آدم أن يضع عناوين لهذه الكشاكيل في المشاركة الأولى ويربطها بمواضعها حتى تساعدنا في الوصول إلى المعلومة دون الحاجة إلى قراءة كافة المشاركات1 point
-
اجعل الأسطر المتكررة في وظيفة إذا رأيت أن هناك أسطرا مكررة في الأكواد التي تكتبها فقم بتحويلها إلى وظيفة وذلك لأن الكود الذي يتكرر مرة واحدة أسهل في صيانته واختباره واستخدامه والتعديل عليه ، بخلاف الكود الذي يتكرر مرات عديدة. ولتوضيح هذا نفرض أن لديك أسطر خمسة من كود تكررت في برنامجك عشرين مرة ، ثم رغبت في التعديل عليها أو اكتشفت أن فيها خطأ ، حينئذ يلزمك أن تقوم بالتعديل عليها في 20 موضعا ، وربما تنسى بعض المواضع أو تخطئ فيها فينتج عن هذا عدد من الأخطاء الأخرى. أما إذا كنت استخدمت وظيفة كتبت فيها هذه الأسطر الخمسة وقمت باستدعائها في العشرين موضعا ، فسيكون كل ما عليك هو التعديل في هذه الوظيفة1 point
-
إخوتي الفضلاء طبعاً يتعذر في مثل هذه المواضيع قبول المشاركات ... لا تقليلاً لاسمح الله من أهميتها ولكن منعاً لتضخم الموضوع ومشاركاته ، وما يتبع ذلك من جهد تنقيح المشاركات للقادمين من بعدنا. ولكنني التمس من اخوتي المساهمة بالتعبير عن إستفادتهم من الموضوع ومشاركاته وأجزائه المتلاحقة بإذن الله . وذلك بالضغط على زر التقدير في أسفل يسار المشاركة التي يكون قد استفاد منها أو أعجبته أو إستخدم ما تحوى وشكرا للجميع تقديركم وتشجيعكم لي للمتابعة ....1 point
-
نطاق السنوات ... Year Loop نحتاج قائمة تحرير وسرد توفر لنا في صفوفها لإختيار السنوات عشرٌ مرت وعشرٌ قادمات ، بحيث لا يكون مصدر الصف جدول أو قائمة قيم ، بحيث تكون متغيرة عبر السنوات بدون أن نضطر لتغييرها وتعديلها ، مستندة للسنة الحالية !! كل ما عليك فعله : إنشاء وحدة نمطية جديدة ولصق الكود التالي بها ، ومن ثم حفظها ... Function YearLoop() As String Dim YearHold As Date Dim strSQL As String Dim i As Integer Dim n As Integer n = 10 strSQL = "" For i = -10 To n YearHold = DateSerial(Year(Date) + i, 1, 1) strSQL = strSQL & Format(YearHold, "yyyy") & "; " Next i YearLoop = strSQL End Function وفي حدث عند الفتح للنموذج نضع الكود لتكون نتائج الوحدة النمطية مصدر الصف لقائمة التحرير والسرد Text7 Private Sub Form_Load() Me.Text7.RowSource = YearLoop() End Sub وحين نفتح النموذج يكون أمامك عشر سنوات سابقة بالاضافة للسنة الحالية وعشر سنوات قادمات ......... للإختيار منها1 point
-
بناء الجمل ومحددات الصيغ ......... The syntax & delimiters عند كتابة معايير لقيمة منطقية (صواب/خطأ)، أرقام، السلاسل، والتواريخ، يتطلب بناء الجملة محددات للسلاسل (الجمل) والتواريخ. ويكون بناء الجملة في حالاتها كما يلي : للقيم المنطقية والارقام لا نستخدم شيئا مميزا >> Boolean & numbers x = DLookUp("[MyField]", "MyTable", "[OtherField] = " & Me.txtTextbox سلاسل استخدام صيغ (أو "علامات الاقتباس المفردة"). >> Strings x = DLookUp("[MyField]", "MyTable", "[OtherField] = '" & Me.txtTextbox & "'" وللتاريخ تستخدم الصيغة الخاصة بها مع علامة المربع المشهورة. >> Dates x = DLookUp("[MyField]", "MyTable", "[OtherField] = #" & Me.txtTextbox & "#"1 point
-
حذف السجلات Deleting Records ويروق لي أن اسمي هذا الموضوع بالحذف الحقيقي و الحذف الافتراضي. في غالب التطبيقات نجد من الضرورة ، أن نضيف في مكان ما من نماذجنا وحسب الحاجة زر أمر نقوم من خلاله بحذف السجلات التي نظن أنها لا تلزمنا أو لسبب ما لا بد من حذفها من قاعدة بياناتنا. ولسبب ما ( مرتبط بالتجربة الطويلة ولأسباب علمية وعملية) ينصح أهل الخبرة في قواعد البيانات ومن يعتبرون من المطورين المعول على كلامهم وتجربتهم ، أن عملية الحذف الحقيقي عملية مؤلمة ومكلفة في آن واحد ، فحين تقرر حذف سجل معين فإنك تقرر الاستغناء عن جزء من المنظومة المعلوماتية التي مرت على هذه القاعدة ، وبالتالي خسارتها للأبد ، ويزيد الامر تعقيدا حين نتعامل مع عملية الحذف المقترن بجداول مرتبطة ، نخسر فيها أطرافا متعددة من العناصر المعلوماتية. وهنا سأورد الرأي بتصرف مضيفا بعضا من خبرتي المتواضعة، فينتهي القول الى: بديل مناسب لعملية الحذف الحقيقي ، وتتمثل ببساطة بإضافة الحقول التالية للجداول الرئيسية التي ستتعرض لعمليات الحذف (الافتراضي ) وهي حقل نعم/لا ، وحقل تاريخ وحقل نصي ، وتتلخص العملية بأن تكون هذه الحقول الثلاثة هي محور الحذف الافتراضي ، فحين نقرر عدم حاجتنا للسجل ، ما علينا الا ان نغير قيمة (لا) الافتراضية في الحقل الاول الى (نعم) ، ونضيف عبر الكود التاريخ الى الحقل الثاني Now و اسم المستخدم للحقل الثالث. هنا طبعا يفترض اننا سنقوم بالاجمال باسناد مصادر السجلات في جميع نماذجنا ونبني استعلاماتنا على اساس افتراضي تكون فيه القيمة للحقل الاول هي (لا) حتى نتجنب السجلات المحذوفة افتراضيا. هذه العملية البسيطة قد لا تجدها مجدية او ذات اهمية وتتحمس للحذف الحقيقي ، ولكن : حين تتعرض لخسارة سجلات مهمة حذفت من قبلك عن طريق الخطأ او عن طريق اي مستخدم حين تمر السنوات على تطبيقك وياتي يوم تحتاج فيه لاحصاءات ومقارنات وتحليلات وتقارير تتعلق بتاريخ قاعدة البيانات ، سواء لحاجاتك انت او بطلب من ادارتك او عميلك ستتعرف لأهمية هذا الروتين البسيط. فحين تتعرض لطلبات لا يقوى عليها صاحب الحذف الحقيقي ، ستكون اجابتك (ممكن ... فكل شيئ متاح) اما البديل الخاص بالحذف الحقيقي ان صممت عليه فهو الكود: If Msgbox ("You are about to delete data, do you want to continue?", vbYesNo + vbCritical,"Confirm Delete") = vbYes Then CurrentDb.Execute "DELETE MyID FROM MyTable WHERE MyID = " & Me.MyIDControl, dbFailOnError End If مع ضرورة التنبيه قبل اجراء عملية الحذف لأنه .... حقيقي....!!! ..............1 point