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

jjafferr

أوفيسنا
  • Posts

    9903
  • تاريخ الانضمام

  • تاريخ اخر زياره

  • Days Won

    404

كل منشورات العضو jjafferr

  1. تفضل أخي الكريم رجاء متابعة الكود ، للزر "ترحيل الايام" : رسالة التاكد على انك بالفعل تريد المواصلة ، إضافة اليوم الى الجدول tbl_Available_Days (هذا شئ مؤقت ، الى ان تستخدم انت اسم جدولك) ، تغيير "تم التعويض" الى صح ، عمل سجل جديد وادخال الساعات والدقائق المتبقية اليه ، وسيكون آخر سجل في القائمة Private Sub cmd_Append_Click() '1 'التأكيد على مواصلة العمل Dim Msg, Style, Title, Response Msg = "هل انت متأكد من المواصلة" & vbCrLf & _ "Are you sure you want to continue ?" ' Define message. Style = vbYesNo + vbCritical + vbDefaultButton2 ' Define buttons. Title = "رجاء التأكيد" ' Define title. Response = MsgBox(Msg, Style, Title) If Response = vbNo Then ' User chose Yes. Exit Sub End If 'Ok, lets start Dim rst As DAO.Recordset '2 'add the Days to tbl_Available_Days 'only append if we have days If Val(Me.d) > 0 Then Set rst = CurrentDb.OpenRecordset("Select * From tbl_Available_Days") rst.AddNew rst!Available_Days = Val(d) rst!Pcdigit = Me.Pcdigit rst!iDate = Now rst.Update End If '3 h1 = Me.h m1 = Me.m 'set off to -1 Set rst = Me.tlb_taq_Sub.Form.RecordsetClone rst.MoveLast: rst.MoveFirst RC = rst.RecordCount For i = 1 To RC If rst!off = 0 Then rst.Edit rst!off = -1 rst.Update End If rst.MoveNext Next i '4 'make a new Record, and copy h:m to it 'only append if h or m are not Zero If Val(h1) > 0 Or Val(m1) > 0 Then rst.AddNew rst!Pcdigit = Me.Pcdigit rst!Tdate = Date rst!off = 0 rst!timeadd2 = h1 & ":" & m1 rst.Update End If 'refresh the totals Form_tlb_taq_Sub.off_AfterUpdate Exit Sub err_off_AfterUpdate: If Err.Number = 3021 Then 'ignor, no records 'Resume Next Exit Sub Else MsgBox Err.Number & vbCrLf & Err.Description End If End Sub جعفر 226.Edf.mdb.zip
  2. وعليكم السلام أخي محمد اعمل صورة من البرنامج ، واخبرني كيف تريده يصير آسف ما فهمت المصطلحات جعفر
  3. وعليكم السلام طيب ، اللي فهمته هو: عمل زر على النموذج الرئيسي ، يأشر "تم التعويض" للسجلات اللي مافيها "تم التعويض" ، عمل سجل جديد بتاريخ اليوم ، فيه المتبقى من الساعات والدقائق. سؤالي: هل تريد تطبع تقرير عن عدد الايام قبل ان نؤشر على "تم التعويض"؟ لانه اذا لم نحتفظ او نطبع هذه الايام ، فلن تستطيع معرفة الايام مرة اخرى ، لأن كل السجلات ستكون "تم تعويضها"!! جعفر
  4. وعليكم السلام . هل مخترفى الاكسس على وزن المخرفين الاجابة بالصور من التقرير: لا يوجد عندك تذييل لقسم sit: . فعملنا التذييل ، وغيرنا في اعداداته: . والنتيجة: جعفر 227.Human Resources DataBase.mdb.zip
  5. وعليكم السلام الاجمالي كان يتغير اول من تُدخل العدد في خانة العدد او تغير العدد ، وبما اني لا اعرف برنامجك ، فلم الاحظ اشارة الزيادة والنقصان (واعتقد بانك جربتها ولم يتغير الاجمالي) ، لذا ، غيرت في الكود ليشمل هذين الزرين كذلك رجاء تجربة المرفق الان ، واذا في مشكلة ، رجاء تخبرني بالضبط ماذا فعلت وماهي المشكلة جعفر 222.KFC.mdb.zip
  6. وعليكم السلام أخي الكريم وحيا الله أخوي رمهان . وانت وجميع المسلمين المتمسكين بحبل الله بخير إن شاء الله انا لم انتبه لهذه الملاحظة هناك عدة طرق لحل هذه الاشكالية ، ولكني أرتأيت ان احل الموضوع من اصله ، من نوع الحقل في الجدول. نوع الحقل في الجدول هو تاريخ ، لذلك 00:25 معناه 25 دقيقة بعد منتصف الليل ، اي 12:25 ، لذلك ، قمت بتغيير نوع الحقل في الجدول الى نص ، حيث انه يحتفظ بالمطلوب ، وبدون ان يضيف على البيانات اية معلومات اخرى (مثل12 ، و AM ، والثواني) ، ولعمل هذا ، قمت بعمل حقل اضافي اسميته timeadd2 ، وضبطت كل شئ على اساسه (الان يمكنك ان تحذف الحقل timeadd من الجدول). والان عندما تغير من اسم/سجل الى آخر ، ستجد المجاميع محسوبة وجاهزة وحياك الله جعفر 226.Edf.mdb.zip
  7. تفضل يا سيدي الكريم وضعت الكود على الحدث "بعد التحديث" الحقل "تم التعويض" ، وهذا هو الكود: Private Sub off_AfterUpdate() On Error GoTo err_off_AfterUpdate Dim rst As DAO.Recordset Dim x() As String Set rst = Me.RecordsetClone rst.MoveLast: rst.MoveFirst RC = rst.RecordCount 'save the last edited record DoCmd.RunCommand acCmdSaveRecord For i = 1 To RC If rst!off = 0 Then 'split the time into hours and minutes x = Split(rst!timeadd, ":") h = h + Val(x(0)) 'add the hours m = m + Val(x(1)) 'add the minutes End If rst.MoveNext Next i '1day = 7 hours = ? minutes d1 = 7 * 60 'convert everything to minutes m = m + (h * 60) 'Debug.Print "m=" & m d = Int(m / d1) h = Int((m - (d * 7 * 60)) / 60) m = m - (d * 7 * 60) - (h * 60) 'Debug.Print d & vbTab & h & vbTab & m Me.Parent.d = d Me.Parent.h = h Me.Parent.m = m Exit Sub err_off_AfterUpdate: If Err.Number = 3021 Then 'ignor, no records 'Resume Next Exit Sub Else MsgBox Err.Number & vbCrLf & Err.Description End If End Sub جعفر 226.Edf.mdb.zip
  8. هل ممكن ان ترفق التقرير لوسمحت!! جعفر
  9. موجودة وانت الصادق ، ولكن استعمل acViewPreview بدل عن acPreview جعفر
  10. انا اعطيتك طريقتين ، فهل جربت كل طريقة على حدة ؟
  11. بس لوسمحت النقر في حقل النص ، لكنا نستطيع ان نعرف اين النقر عن طريق SelStart ، وبعدها نواصل المسير جعفر
  12. وعليكم السلام الظاهر ان نموذج تسجيل الدخول او النموذج الذي المفروض يفتح بعده ، معطوب حاول استخدام الضغط والاصلاح ، واذا لم ينفع ، فاعمل النموذجين من الصفر (لا تنسخ اي كائن ، فلا نعرف اي منهم المعطوب) جعفر
  13. حيا الله أخوي رمهان ، ومحاولة حلوة وحياك الله أخوي led بس حاولت ان اغيّر/اكتب حرف بين الكلمات ، فلم استطع!! هذا معناه ، ان طريقة الاستاذ رمهان جيدة فقط للكتابة المستمرة جعفر
  14. تفضل مثالك المعدّل 222.KFC.mdb.zip
  15. وعليكم السلام أخي حسين استخدم هذا الكود في الحدث "بعد التحديث": Private Sub cmb_Items_AfterUpdate() 'method ONE: 'to use this moethod, you have to select: 'Tools > References > Microsoft Excel xx.x Object Library ' Dim objXL As New Excel.Application ' objXL.Application.Speech.Speak Me.cmb_Items ' Set objXL = Nothing 'methos TWO: 'SAPI commands: https://msdn.microsoft.com/en-us/library/ms723627(v=vs.85) Dim objSpeech As Object Dim intPitch As Integer Set objSpeech = CreateObject("SAPI.SpVoice") intPitch = 2 objSpeech.Speak "<pitch middle = '" & intPitch & "'/>" & Me.cmb_Items Set objSpeech = Nothing End Sub جعفر 223.textTOspeech.mdb.zip
  16. السلام عليكم أخي وائل انت ما محتاج حدث التوقيت ، فرجاء عمل التالي لحل مشكلتك: اطفئ حدث التوقيت ، استعمل الكود التالي ، والذي يحفظ السجل بمجرد انك تٌدخل قيمة في حقل الصنف والكمية (للعلم ، Me.Refresh يعمل نفس الشئ) ، وعليه ، سترى ان المجاميع تغيرت على طول: Private Sub itemcode_AfterUpdate() price = item_sale If Len(Me.Qty & "") <> 0 Then DoCmd.RunCommand acCmdSaveRecord End Sub Private Sub Qty_AfterUpdate() If Len(Me.itemcode & "") <> 0 Then DoCmd.RunCommand acCmdSaveRecord End Sub جعفر
  17. السلام عليكم استاذ علي اعتذر عن التأخير ، ولكن العمل اخذ كل هذا الوقت استخدم هذا النموذج: ثم استخدم التقرير التالي (لم اقم بربط التقرير برمجيا مع اي زر): وعليك ان تعمل التنسيق الشرطي لبقية حقول الشهر (انسخ التنسيق الشرطي من الحقل 1 الى بقية الحقول 8 الى 31 ، مع مراعاة تغيير اسم الحقل). الشئ المهم هو ان المرفق 221.Folow up V.2.accdb.zip يجب تغيير صيغة الملف الى 7z (الموقع لا يقبل ارفاق هذه الصيغة) ، وذلك لأن هذه الصغيه هي الوحيدة التي استطعت من خلالها ضغط قاعدة البيانات لرفعها على الموقع ، واذا لم تملك البرنامج لفك هذه الصيغة ، فيمكنك انزاله مجانا من الموقع www.7-zip.org . العمل اعتمد على الاستعلامات: Absents ، Absents_Crosstab_1-2 ، وتم عمل التقرير على اساس الاستعلام Absents_Crosstab_2-2 جعفر 221.Folow up V.2.accdb.zip واستعمل الطريقة في الرابط التالي ، لتستبدل علامة الصح (لأيام الغياب) بدلا عن الرقم 1: http://allenbrowne.com/ser-52.html
  18. وعليكم السلام أخي حسين تفضل الرابط http://www.officena.net/ib/topic/59612-سؤال-عن-اخفاء-الجداول/?do=findComment&comment=382261 جعفر
  19. اذا كان قصدك المؤشر الذي يومض في الحقل والذي بمعرفته يمكنك معرفة اين يمكنك الكتابة او مسح ما قبله او ما بعده ، فالجواب ، وحسب علمي ، لا. اذا كان عندك سبب او قصد معين ، فقد نستطيع مساعدتك بطريقة ما !! جعفر
  20. وعليكم السلام عفوا ، شو قصدك من مؤشر النص؟ جعفر
  21. تم عمل هذه الجزئية ولكن ، وللرجوع للسؤال الاصلي ، ما اجبت على سؤالي: . ولوسمحت ن تخبرني كيف اوصل الى التقرير الذي تريده ، فبرنامجك ماشاءالله بحر جعفر
  22. وعليكم السلام ملاحظاتي السابقة ، والتعديلات التي عملتها في النموذج الفرعي ، تنطبق على كون النموذج ورقة بيانات او نموذج مستمر اما اذا كان قصدك انك تريد تغيير النموذج frm_INV100_Unite الى ورقة بيانات ، فنعرف انك لا تستطيع ان تعمل ازرار فيها ، فيمكنك عمل التالي: انسخ كود حدث الزر ok ، عمل حدث "النقر المزدوج" او النقرة الواحدة لأي حقل من الحقول ، ثم الصاق الكود فيها (انا افضل ان تخفي بقية الحقول التي لا تحتاجها في النموذج ، وتعمل حدث النقر المزدوج على الحقول الظاهرة). اما اذا لم افهم قصدك ، فرجاء ان تشرح بإسهاب حتى افهم جعفر
  23. وعليكم السلام كما قال الاخ نور الدين: DoCmd.RunCommand acCmdSaveRecord For i = 1 To 2 اذا كان حقل التعريف ، مثلا ID ، اذا كان رقم: DoCmd.OpenReport "Report Name", , , "myID=" & Me.id اما اذا كان حقل التعريق نص : DoCmd.OpenReport "Report Name", , , "myID='" & Me.id & "'" Next i او اذا كان حقل التعريف ، مثلا ID ، اذا كان رقم: DoCmd.OpenReport "Report Name", acViewPreview, , "myID=" & Me.id, acHidden اما اذا كان حقل التعريق نص : DoCmd.OpenReport "Report Name", acViewPreview, , "myID='" & Me.id & "'", acHidden DoCmd.PrintOut , , , , 2 DoCmd.close acReport, "Report Name" جعفر
  24. وعليكم السلام أخي للأسف ، هذه مشكلة في الاكسس ، في النموذج المستمر ، عندما يأخذ مربع السرد والتحرير قيمته استنادا على حقل آخر الحل هو: اعمل نسخة من SQL استعلام مربع سرد وتحرير حقل الوحدة ، اعمل استعلام جديد ، انا اسميته qry_INV100_Unite ، اعمل النموذج المستمر frm_INV100_Unite ، اللي يأخذ بياناته من الاستعلام qry_INV100_Unite ، في النموذج الفرعي INV100 ، احذف المعيار من حقل الوحدة ، في الحدث "بعد التحديث" للحقل "رمز المادة" ، افتح النموذج frm_INV100_Unite (والذي سيكون مصفى حسب "رمز المادة" ، اضغط على زر Ok للمادة التي تريدها ، وسترى ان القيمة انتقلت لحقل الوحدة في النموذج الفرعي INV100 ، وسيغلق النموذج frm_INV100_Unite سهله هه جعفر 220.البرنامج.accdb.zip
×
×
  • اضف...

Important Information