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

Foksh

الخبراء
  • Posts

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

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

  • Days Won

    117

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

  1. تم التنفيذ سابقاً ، وهذا المرفق مصور لما تم تطبيقه control2025.accdb
  2. وعليكم السلام ورحمة الله وبركاته .. تفضل أخي الكريم ، هذا مثال ، ولكن في المرات القادمة حاول ارفاق ملف من واقع مشروعك ، حتى لا ندخل في متاهة اختلاف الجداول بتصميمها وفكرة انني لم اعرف تطبيق الفكرة على مشروعي ...... الخ Tost.accdb
  3. يا اخي والله ما فهمت عليك .. انت تريد اضافتها كسجلات جديدة ؟؟؟؟؟ ام تريد تحديث للسجلات الموجودة ؟؟؟؟؟؟؟؟؟؟؟؟
  4. وعليكم السلام ورحمة الله وبركاته .. اجعل هذا الاستعلام مصدر سجلات النموذج SELECT tbnum.id, tbnum.numx, IIF(tbnum.numx - INT(tbnum.numx) > 0, 'A', 'B') AS resultx FROM tbnum;
  5. يعني اقتربنا من تحقيق الهدف ،،
  6. على حسب ما فهمت , وإن شاء الله يكون قريب من اللي محتاجه .. جرب الاستعلام التالي مصدر سجلات التقرير SELECT tbl_note_administrative.*, IIf([annet]=[Forms]![frm_imprimer_note_administratif]![annet1],1,2) AS RecordType FROM tbl_note_administrative WHERE (((tbl_note_administrative.annet)=[Forms]![frm_imprimer_note_administratif]![annet1] Or (tbl_note_administrative.annet) In (SELECT TOP 3 t.annet FROM tbl_note_administrative t WHERE t.annet < [Forms]![frm_imprimer_note_administratif]![annet1] AND t.situation_special="القيام بالخدمة" AND t.situation_poste_travail="موظف" ORDER BY t.annet DESC )) AND ((tbl_note_administrative.situation_special)="القيام بالخدمة") AND ((tbl_note_administrative.situation_poste_travail)="موظف")) ORDER BY tbl_note_administrative.annet DESC;
  7. لم تظهر عندي المشاكل التي ذكرتها ,, قمت بالتعديل على قيمة بعد الفلترة وتم الحفظ والخروجمن النموذج دون اي رسائل خطأ !!!!!!!!!
  8. بما أن الموضوع حماسي ، وتبارك الله مشاركات وأفكار عظيمة ,, أشارك معكم فكرة على الهامش Private isProcessing As Boolean Private Sub y_n_BeforeUpdate(Cancel As Integer) If isProcessing Then Exit Sub isProcessing = True With Me.RecordsetClone .FindFirst "[y_n]=-1" .Edit !y_n = 0 .Update End With isProcessing = False End Sub
  9. جرب تعديل زر الحفظ كالتالي :- Private Sub cmdSave_Click() On Error GoTo ErrorHandler If WrkSpace Is Nothing Then Set WrkSpace = DBEngine.Workspaces(0) End If If WrkSpace Is Nothing Then MsgBox "حدث خطأ", , "" Exit Sub End If With WrkSpace .CommitTrans Me.Recordset.Requery .BeginTrans End With m_dirty = False Exit Sub ErrorHandler: MsgBox "حدث خطأ", , "" End Sub
  10. عند الحفظ ما الذي سيتم حفظه
  11. زر الفلترة من المفترض حسب ما فهمت هو باختيار الاسم واللقب . تريد الفلترة بالاسم الأول أو الثاني ؟؟؟؟ ولا كلاهما كشرط للفلترة !!!! جرب هذا التعديل BASER.accdb
  12. على العموم ، هل هذا ما تريده ؟؟ control2025.zip
  13. ما لم ينجح معك ، لم تقم أصلاً بشرحه وتوضيحه أخي الكريم .. برأيك هل هذا السطر كافي لشرح مشكلتك وما تحتاجه
  14. ما اصدار الأوفيس عندك ؟؟ 32 ولا 64 ؟؟؟؟ اعتقد أنك لن تقم بإضافة المكتبة التي تم ذكرها ،،
  15. راجع هذا الموضوع ..
  16. انت عارف انه المشكلة في الاستعلام الحالي انه بيعتمد على وظائف مخصصة زي funMyCiretria() funMyCiretria1() funMyCiretria2() علشان تعمل تصفية على السجلات ، وبنفس الوقت انت عايز إضافة فلترة إضافية عند الضغط على الزر Cm2 بحيث يتم جلب السجلات التي يتطابق فيها nom_arabe مع tx3 و prenom_arabe مع tx4 !!!!! الحل هنا وباعتقادي انه يجب أولاً تعديل مصدر السجلات النموذج ليصبح الاستعلام كالتالي :- SELECT tbl_note_administrative.classement_liste, tbl_note_administrative.situation_special, tbl_note_administrative.annet, tbl_note_administrative.nom_arabe, tbl_note_administrative.prenom_arabe, tbl_note_administrative.note_adminstative, tbl_note_administrative.note_directeur, tbl_note_administrative.note_fonctionnaire, tbl_note_administrative.situation_poste_travail, tbl_note_administrative.mm FROM tbl_note_administrative WHERE (((tbl_note_administrative.situation_special)=funMyCiretria1()) AND ((tbl_note_administrative.annet)=funMyCiretria()) AND ((tbl_note_administrative.situation_poste_travail)=funMyCiretria2())) OR (((tbl_note_administrative.nom_arabe)=[Forms]![frm_note_administratif]![tx3]) AND ((tbl_note_administrative.prenom_arabe)=[Forms]![frm_note_administratif]![tx4])) ORDER BY tbl_note_administrative.classement_liste; ثانياً في الزر الخاص بالفلترة = الكود التالي :- Private Sub Cm2_Click() Dim filterCondition As String If Not IsNull(Me.tx3) And Not IsNull(Me.tx4) Then filterCondition = "nom_arabe = '" & Me.tx3 & "' AND prenom_arabe = '" & Me.tx4 & "'" Me.Filter = filterCondition Me.FilterOn = True Else Me.FilterOn = False End If End Sub وزر إنهاء الفلترة = الكود التالي :- Private Sub Cm1_Click() Me.tx3 = "" Me.tx4 = "" Me.FilterOn = False Me.Requery End Sub وأما بخصوص الحدث عند التحميل ، فقد تم تعديله بحيث تم استخدام Me.Filter بدلاً من RecordSource Private Sub Form_Load() Dim filterCondition As String filterCondition = "situation_special = '" & funMyCiretria1() & "' " & _ "AND annet = '" & funMyCiretria() & "' " & _ "AND situation_poste_travail = '" & funMyCiretria2() & "'" Me.Filter = filterCondition Me.FilterOn = True Dim WrkSpace As Workspace Set WrkSpace = DBEngine.Workspaces(0) WrkSpace.BeginTrans End Sub هذا من وجهة نظري ، والله أعلم ما لم يكن هناك حل أفضل من أحد الأخوة BASER.accdb
  17. المشكلة يا صديقي انه عند اختيار "All Rooms" من الكومبوبوكس cboRoomNumber ، فإن الشرط في جملة WHERE يصبح : WHERE Transactions.RoomNumber = "All Rooms" ولا اعتقد انه عندك غرفة بهذا الاسم أو الرقم ، صحيح ؟؟ لازم تعديل الشرط بحيث إذا كان قيمة الكومبوبوكس cboRoomNumber تساوي "All Rooms" يتم تجاهل شرط رقم الغرفة، أي يتم عرض جميع الغرف بحيث يصبح الاستعلام هكذا :- SELECT Transactions.RoomNumber, [FirstName] & " " & [LastName] AS Name, [DateIn] & " - " & [DateOut] AS [Date], Transactions.Days, Transactions.AmountPaid, Transactions.DateIn, Transactions.DateOut FROM Transactions INNER JOIN Customers ON Transactions.CustomerID = Customers.CustomerID WHERE (([Forms]![frmRPTRoomHistory]![cboRoomNumber] = 'All Rooms') OR (Transactions.RoomNumber = [Forms]![frmRPTRoomHistory]![cboRoomNumber])) AND ((Transactions.DateIn) Between [Forms]![frmRPTRoomHistory]![dtpCheckIn] And [Forms]![frmRPTRoomHistory]![dtpCheckout]); في المرفق التالي ، تم انشاء استعلام جديد وجعله مصدر سجلات التقرير للتجربة .. Microsoft Access قاعدة بيانات جديد ‫(2)‬.accdb
  18. جرب التعديل التالي :- DoCmd.RunSQL "INSERT INTO tbl_note_administrative (num,nom_arabe,prenom_arabe, date_naissance, lieu_naissance, wilaya_naissance, situation_familiale,nombre_enfant,grade_poste_actuel,sifa,grade,date_effet_grade_actuel,loi_fondamontale,situation_poste_travail,classement_liste, annet, nom_poste, situation_special )" & vbCrLf & _ "SELECT tbl_info_fonctionnaire.num, tbl_info_fonctionnaire.nom_arabe, tbl_info_fonctionnaire.prenom_arabe, tbl_info_fonctionnaire.date_naissance, tbl_info_fonctionnaire.lieu_naissance, tbl_info_fonctionnaire.wilaya_naissance, tbl_info_fonctionnaire.situation_familiale,tbl_info_fonctionnaire.nombre_enfant,tbl_info_fonctionnaire.grade_poste_actuel,tbl_info_fonctionnaire.sifa,tbl_info_fonctionnaire.grade,tbl_info_fonctionnaire.date_effet_grade_actuel,tbl_info_fonctionnaire.loi_fondamontale,tbl_info_fonctionnaire.situation_poste_travail,tbl_info_fonctionnaire.classement_liste, [forms]![frm_AddMonth]![annet1] AS Expr4, tbl_poste_superieur.nom_poste, tbl_situation_juridique_mouv.situation_special " & vbCrLf & _ "FROM (tbl_info_fonctionnaire LEFT JOIN tbl_poste_superieur ON tbl_info_fonctionnaire.num = tbl_poste_superieur.code_fonct) " & vbCrLf & _ "INNER JOIN tbl_situation_juridique_mouv ON tbl_info_fonctionnaire.num = tbl_situation_juridique_mouv.code_fonct " & vbCrLf & _ "WHERE tbl_info_fonctionnaire.situation_poste_travail = 'موظف';"
  19. ما الجديد في مرفقك ؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟ الجزء الذي يظهر فيه الخطأ If Not IsLoaded("frmReports") Then MsgBox "frmReports غير مفتوح!", vbExclamation, "تحذير" Exit Sub End If ناتج عن عدم وجود الدالة IsLoaded التي تتحقق من ان النموذج مفتوح أم لا . وما زال في مرفقك التقرير غير موجود يا صديقي ، فأكيد سيظهر لك أخطاء ( على افتراض أن الملف المرفق هو جزء من مشروعك )
  20. وعليكم السلام ورحمة الله وبركاته .. هل النموذج Room History موجود أولاً في المرفق ؟؟؟؟؟؟؟؟؟؟؟؟؟ هل يوجد أمر في آكسيس Me.Close هل تحاول استخدام أوامر ودوال تخص VB.NET وليست لـ VBA آكسيس !!!!!!!!!!!! طريقة الإتصال بقاعدة البيانات غير صحيحة ( New OleDbConnection ) ، لأن VBA آكسيس على ما اعتقد لا يدعم OleDbConnection بشكل مباشر محاولة لفهم الموضوع بالتصحيح :- ✅ استخدم CreateObject("ADODB.Connection") بدلاً من New OleDbConnection لأن VBA لا يدعم OleDbConnection مباشرة كما أخبرتك سابقاً . ✅ استخدام cboRoomNumber.AddItem لإضافة القيم إلى ComboBox في VBA آكسيس . ✅ تأكد من إغلاق rs و conn بعد الانتهاء لتجنب أي أخطاء أو تسرب للذاكرة . ✅ تعيين ListIndex = 0 فقط إذا كان هناك بيانات في ComboBox . ✅ استخدام Date بدلاً من Today لأن Today غير موجود في VBA ، و Date هو الصحيح . 💡 ملاحظة ، تم التعديل برمجياً ولم يتم تجربة نتيجة التعديل لعدم وجود التقرير .... وخلافه قاعدة بيانات جديد ‫(2)‬.zip
  21. حتى تعرف كيف تحل مثل هذه المشالكل البسيطة .. 1. عليك فهم وترتيب تسلسل الأحداث بشكل بسيط ، فمثلاً :- في زر "موافق" لتسجيل الدخول ، أولاً سيتم فتح النموذج "m" اذا كانت معلومات التسجيل صحيحة ، ثم سنقوم بنقل قيمة اسم المستخدم من مربع النص "UserNm" الى مربع النص "نص11" في النموذج "m" .. إلى الآن هل هذا واضح 2. في نموذج "m" سنجعل القيمة الإفتراضية لمربع النص الخاص بتاريخ اليوم "نص13" = Date وهذا الإختصار يعني تاريخ اليوم . 3. أيضاً في نفس النموذج سنجعل قيمة مربع النص "نص15" = Time وهذا الاختصار يعني الوقت الحالي ( وتستطيع تغيير تنسيق الوقت كما في تريد ) ملفك بعد التعديل نظام الصلاحيات.accdb
  22. مساهمة طيلة منك اخي الكريم.. سؤالي البسيط ، هل يحتاج انترنت ؟؟ لنجرب مثلاً ، عندي مربع تحرير وسرد اسمه "Drive_Nat" ويضم جنسيات مختلفة 😇 .
  23. وعليكم السلام ورحمة الله وبركاته .. السبب أخي انك عند نسخك للكود من زر فتح النموذج 3 لباقي ازرار النماذج ( 4 - 9 ) قمت فقط بتغيير اسم النموذج الذي من المفترض ان يفتحه الزر ، لكنك لم تغير الشرط في الجملة التالية :- Set Q1 = CurrentDb.OpenRecordset("SELECT* FROM Permissions WHERE FrmID = 3 AND UserID = " & CUserID) لاحظ هذا الجزء FrmID = 3 لذا وجب عليك تغييره لرقم النموج الذي سيتم فتحه .. لن ارفق لك الملف على أمل تصحيح المشكلة من طرفك لتعرف اين الخطأ
  24. في الموضوع السابق قم باغلاقة بعبارة "تم ايجاد الحل في مشاركة أخرى" واشر الى هذا الموضوع ، وقم باختيار اجابتك كأفضل إجابة وليس إجابة أخرى .
  25. في هذا التحديث تم إضافة ميزات جديدة وتحكم أكثر مرونة وسلاسة ؛ بحيث :- تم إضافة فكرة إضافة مجلد على جوجل درايف بشكل مباشر . وعلى عكس الفكرة الأولى ، فقد تم إضافة ميزة حذف مجلد من جوجل درايف بشكل مباشر أيضاً . للأشخاص الذين يرغبون في إعادة تصفير إعدادات الأداة وحذف القيم كاملة ةاستخدام الأداة كإنها جديدة ، تم إضافة ميزة مخفية تقوم بتصفير اعدادات الأداة عند النقر المستمر مدة 6 ثواني على زر النسخ ، ثم ستظهر رسالة تخبرك بأنه تم إعادة ضبط الإعدادات وسيتم إعادة تشغيل الأداة من جديد . 🔴 وجب التنبيه أن هذه الخطوة ستقوم بحذف رمزي ( CLIENT ID و CLIENT SECRET ) اللذين من المفترض أنك حصلت عليهما باتباعك الخطوات السابقة عند إنشائك المشروع . ولإعادة الحصول عليهما ، فقط توجه للرابط ، ثم اختر اسم مشروعك ، ثم تفعيل خدمات API ثم انتقل الى التبويب credentials واختر اسم مشروعك وستجدهما في الصفحة كما في الصورة الأخيرة في رأس الموضوع . النسخة الجديدة متاحة للتحميل للنسختين 32 و 64 . نسخة 32 | نسخة 64 ــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ Uploader 32.zip | Uploader 64.zip ــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ صورة للواجهة الجديدة مع الإضافات .
×
×
  • اضف...

Important Information