-
Posts
10011 -
تاريخ الانضمام
-
تاريخ اخر زياره
-
Days Won
408
نوع المحتوي
التقويم
المنتدى
مكتبة الموقع
معرض الصور
المدونات
الوسائط المتعددة
كل منشورات العضو jjafferr
-
وعليكم السلام أخي كرار رجاء ارفاق عدة نماذج من برنامجك ، وخليني اشوف الموضوع عن قرب ولكني لاحظت في الصورة اعلاة ، انه حدث "حدثت مشكلة اثناء فتح الماكرو" ، فطبيعي ما يحول الماكرو الى كود جعفر
-
هل يمكن عمل باسورد لملف pdf عن طريق النموذج
jjafferr replied to محمد سلامة's topic in قسم الأكسيس Access
وعليكم السلام أخي محمد ، وعذرا على التأخير 1. الزرين عندك بنفس الاسم ، فما عرفت ايهم يعمل ماذا 2. في كود الزرين ، انت قلت ان ملفات الـ pdf موجودة في Path1 = Application.CurrentProject.Path & "\" file1 = Path1 & Me.name_morfke بينما في الصورة التي ارفقتها ، فعندك "مسار فولدر الحفظ" ، فهل الاثنان نفس الشئ ، وإلا ، فرجاء تغيير مسار الملفات في الكود اعلاه ، جعفر -
ان شاء الله
-
السلام عليكم تذكرت اني في يوم من الايام ساعدت احد الشركات في مشكلة تختلف قليلا عن هذ المشكلة ، وقد عملت كود لهم ، فالرجاء النظر في الكود (سهل) ، ثم عمل شئ مماثل لمشكلتنا التي تنكلم عنها في هذا الموضوع ، والموضوع بإختصار ، هو إعادة محاولة حفظ السجل كل نصف ثانية (ولمدة 20 ثانية) (والمفروض ان قطع الاتصال يأخذ أقل من هذا): Private Sub Form_BeforeUpdate(cancel As Integer) On Error GoTo err_Form_BeforeUpdate Dim a, msg As String Dim mTries, nTries As Integer Dim PauseTime, Start As Double 'MsgBox "Before update" TryAgain3: DoCmd.RunCommand acCmdSaveRecord Exit Sub err_Form_BeforeUpdate: If Err.Number = 3218 Or Err.Number = 3261 Then 'Could not update; currently locked 'show the user a busy mouse cursor, which indicates the system is busy DoCmd.Hourglass True 'Maximum allowed tries (seconds) mTries = 20 'how many times did we try nTries = nTries + 1 'give up if the number of tries equals the maximum allowable tries If mTries = nTries + 1 Then msg = "The table Phone_Data seems to be busy," & vbCrLf & _ "Do you want to try again?" If MsgBox(msg, vbYesNo + vbDefaultButton1, "Process taking too long") = vbYes Then nTries = 1 Else DoCmd.Hourglass False a = SysCmd(acSysCmdSetStatus, "Ready") Exit Sub End If End If 'pause 1 second 'PauseTime = 1 ' Set duration. PauseTime = 0.5 ' Set duration. Start = Timer ' Set start time. Do While Timer < Start + PauseTime DoEvents ' Yield to other processes. Loop a = SysCmd(acSysCmdSetStatus, "Table is busy, number of tries = " & nTries & " of " & mTries) 'ignore the error this time, and start again Resume TryAgain3 ElseIf Err.Number = 2115 Then 'complaints about the SaveRecord command, ignor 'version 5: 'We have to know the error number of the error message 'commented the line below, 'added 4 lines 'commented the endif 'Resume Next Else MsgBox Err.Number & vbCrLf & Err.Description End If Resume Next 'End If End Sub جعفر
-
وعليكم السلام أخي أوس نعم هذه نقطة هامة ايضا ، لذلك ، وفي تنسيق حقل التاريخ في الجدول ، يجب ان يكون التنسيق dd/mm/yyyy او اي تنسيق رقمي آخر ، فهذا سيحل المشكلة من البداية اسمح لي أخي أبو عبدالله ان اقول ، انه لا يُفضل الكتابة باللغة العربية في اي من كائنات البرنامج ، إلا كبيانات في جدول ، لأني يوم من الايام صادفت مشكلة في هذه النقطة كذلك جعفر
-
وعليكم السلام نعم هناك خلل في الاكسس (تجربتي مع اكسس 2010) مع هذه الاعدادات ، وثقيل لما ينتقل من حقل الى آخر ، ولكن بعد تحديثات الاكسس ، كل شئ تمام الان هذا رابط حزم تحديثات الاكسس: http://pcsupport.about.com/od/keepingupwithupdates/a/office-service-pack.htm جعفر
-
السلام عليكم اذا كان هذا الذي تريد: . فالكود اصبح: Option Compare Database Dim rst As DAO.Recordset Function Get_Dates(ID) mySQL = "Select * From tbl_Loans" mySQL = mySQL & " Where [EmployeeID]=" & ID mySQL = mySQL & " And Year([Payment_Month])= " & [Forms]![FrmOtherDiscountReport]![txtYear] mySQL = mySQL & " Order by Payment_Month" Set rst = CurrentDb.OpenRecordset(mySQL) rst.MoveLast: rst.MoveFirst RC = rst.RecordCount For I = 1 To RC Get_Dates = Get_Dates & vbCrLf & rst!Remarks rst.MoveNext Next I Get_Dates = Mid(Get_Dates, 3) ' If RC = 1 Then ' ' Get_Dates = "Discount for the month " & Format(rst!Payment_Month, "m/yyyy") ' Else ' ' For I = 1 To RC ' ' If I <> RC Then ' ' Get_Dates = Get_Dates & " and " & Month(rst!Payment_Month) ' Else ' ' Get_Dates = Get_Dates & " AND " & Format(rst!Payment_Month, "m/yyyy") ' End If ' ' rst.MoveNext ' ' Next I ' ' Get_Dates = "Discount for the months " & Mid(Get_Dates, Len(" and ")) ' ' End If End Function جعفر
-
تعديل قيم بين جدولين وعدم فتح سجل مستمر قبل اتمام الحالي ؟؟
jjafferr replied to ابو عبدلله's topic in قسم الأكسيس Access
سيدي الفاضل لما تنقص رقم صغير من رقم كبير ، فلابد وان تكون النتيجة بالسالب ، وهذا ما يظهر لك بإشارة - وجربت المرفق ، ولم يحذف السجل ، ولكني لاحظت ان ترتيب الانتقال من حقل الى آخر غير صحيح ، لاحظ الصورة ، فالارقام الحمراء هي التسلسل ، والحقل m_id مثلا ، بدل ان تكون قيمته 1 ، فانها 3 !! . اذا لم افهم طلبك ، رجاء التوضيح اكثر جعفر -
البركة في سعيد :) جعفر
-
اذا فهمت قصدك صح: 1. بالنسبة الى خصم من الراتب لشهر x و yyyy/mm ، فيظل مثل ما عملته ، 2. اذا تم الدفع بطريقة اخرى ، تريدها ان تٌكتب ؟ جعفر
-
انا لا اعرف رقم الخطأ ، ولكن الطريقة صحيحة ، حيث انك تقرأ اي معلومة من اي جدول ، واذا لم تصل المعلومة الى الكود ، فتعرف ان الاتصال انقطع :) طيب واذا في انقطاع ، ماذا يجب على البرنامج عمله ؟؟ انا كان اقتراحي وجود جداول محلية ، وعند وجود الشبكة ، يتم تصدير البيانات :) جعفر
-
اذا كان قصدك الكتابة بالعربي ، فللأسف لا استطيع ، لأني على سفر واللابتوب مستعار ، والاكسس لا يكتب عربي في الكود ، ولا استطيع تغيير اعدادات الكمبيوتر :( ولكنك تستطيع عمل هذا بكل بساطة ، بتغيير الكلمات من انجليزي الى عربي :) فهل قصدك انك تريد ان يكون الجواب ، لكل شهر سطر؟ يعني اذا كانت الدفوعات لشهرين ، تريد ان يكون الجواب سطرين ، واذا كانت الدفوعات لثلاثة اشهر ، تريد الجواب ان يكون 3 اسطر؟ جعفر
-
هل يمكن عمل باسورد لملف pdf عن طريق النموذج
jjafferr replied to محمد سلامة's topic in قسم الأكسيس Access
السلام عليكم أخي محمد :) رجاء ارفاق البرنامج مرة اخرى ، فالبرنامج لا يعمل :( جعفر -
هذا الكلام صحيح ، والطريقة الاصح هي استخدام Recordset لقراءة المعلومة ، وهناك كود لربط الواجهة FE بالجداول BE ، اعتقد يمكن استعماله بتغيير بسيط للتأكد من وجود الشبكة :) انا على سفر ولا املك برامجي لوضع مثال :) جعفر وهناك طريقة سهلة وهي عمل ping للكمبيوتر الذي به الجداول ، ومعرفة اذا كان متصل :-)
-
السلام عليكم :) أخي مؤمن ، هل حصلت على الاجابة المطلوبة؟ اذا لا ، فالرجاء ارفاق برنامجك ، وتوضيح المطلوب :) جعفر
-
السلام عليكم :) لا يُنصح بإستخدام الاكسس في شبكة وايرلس ، لأن الشبكة حتى لما تعمل بالطريقة الصحيحة ، فإنها تكون متقطعة ، فعليه تكون مشكلة في تواصل البيانات :( احد الطرق اللي ممكن تستعملها هي ، ان تكون نماذجك غير مضمنه / غير مربوطه بجدول او استعلام ، ويكون عندك زر لحفظ البيانات ، وقبل حفظ البيانات في الجدول ، يجب ان تقرأ من الجدول (تقرأ اي شئ ، فقط للتأكد ان الشبكة موجودة) ، وعندها تحفظ البيانات ، الطريقة الاخرى اللي على بالي هي ، ان تكون بياناتك محلية ، وبين كل فترة ، يقوم البرنامج ، وبعد التأكد من وجود الشبكة ، بنقل البيانات الى قاعدة البيانات الاصل :) جعفر
-
ما فهمت قصدك :-(
-
تعديل قيم بين جدولين وعدم فتح سجل مستمر قبل اتمام الحالي ؟؟
jjafferr replied to ابو عبدلله's topic in قسم الأكسيس Access
وعليكم السلام :) 1. انا جربت الكود قبل ان اضعه ، وجربته مرة اخرى الان ، وهو يعمل كما يجب ، فما قصدك انه "لا يقوم بتعديل القيمة في الجدول ويعطي احياناً اشارات -" 2. حتى ولو اخفيت السجل الجديد "والذي يظهر فيه New" ، فالمستخم يستطيع ان ينتقل الى الحقل الجديد وبدون ان يملئ بيانات الحقل الذي هو عليه ، فالطريقة الصحيحة لإجبارة ، هي كما اقترحت عليك. جعفر -
السلام عليكم :) تفضل :) الاستعلام: . الوحدة النمطية: Option Compare Database Dim rst As DAO.Recordset Function Get_Dates(ID) mySQL = "Select * From tbl_Loans" mySQL = mySQL & " Where [EmployeeID]=" & ID mySQL = mySQL & " And Year([Payment_Month])= " & [Forms]![FrmOtherDiscountReport]![txtYear] mySQL = mySQL & " Order by Payment_Month" Set rst = CurrentDb.OpenRecordset(mySQL) rst.MoveLast: rst.MoveFirst RC = rst.RecordCount If RC = 1 Then Get_Dates = "Discount for the month " & Format(rst!Payment_Month, "m/yyyy") Else For I = 1 To RC If I <> RC Then Get_Dates = Get_Dates & " and " & Month(rst!Payment_Month) Else Get_Dates = Get_Dates & " AND " & Format(rst!Payment_Month, "m/yyyy") End If rst.MoveNext Next I Get_Dates = "Discount for the months " & Mid(Get_Dates, 5) End If End Function . النتيجة: . والتقرير: . جعفر Discount.zip
-
السلام عليكم انا على سفر ، وبعيد عن الكمبيوتر ، لهذا السبب انا بعيدا عن المنتدى عندي ملاحظة واحدة فقط ، وبحسب خبرتي في هذا الموضوع: الكمبيوتر يعطي أولوية تنفيذ أوامر CPU إلى برامج الوندوز ، ثم البرامج الاخرى ، مما قد يُؤخر تنفيذ أوامر برنامج الاكسس ثانية او اثنين ، إذًا ، عند تنفيذ الأمر التالي او أمر مثله: If rs!mish_time = Time() Then قد يكون CPU الكمبيوتر مشغولا ، وعند تنفيذ الامر ، الوقت لن يكون مطابقاً ، لأننا نقارن الوقت بالثواني ، وحينها ، فالمعادلة لن تُنفّذ !! لذلك ، ولتفادي هذه المشكلة ، اجعل مقارنة الوقت: إما بالساعة والدقيقة وبدون ثواني ، وإما اجعل المقارنة ">=" بدل "=" ، او شئ من هذا القبيل ، وإلا ، فقد يفوتك موعد ولن تعرف لماذا جعفر
-
حياك الله في الواقع كنت مفكر أضع كود لكل نموذج/تقرير علشان يربط الصور ، بس ما كان عندي وقت جعفر
-
وعليكم السلام برنامجي: يقوم بربط الصور من الاسكانر ، في مجلد تابع لمجلد البرنامج ، و ربط الصور بدون حقول في الجدول. جربه ، وانقله بين مجلدات الكمبيوتر وسترى انه يعمل بكفائة ولاحظ طريقة تسمية الصور ، فبالتالي تستطيع ان يكون عندك أي عدد من الصور للسجل الواحد جعفر