حافظ التونسي قام بنشر الجمعة at 08:38 قام بنشر الجمعة at 08:38 السلام عليكم و رحمة الله و بركاته تقبل الله صيامكم و جعله الله في ميزان حسناتكم طرحت هذا الموضوع و لقد اجابني السيد فوكش و له جزيل الشكر لما بدات بالاستعمال ظهرت مشكلة وهي كالاتي المشكلة لما افتح صفحة المبيعات و لن اتم العملية و اغلقها و احاول الفتح من جديد الاحظ ان العداد يتقدم كما هوفي الصورة رقم 2 ارجوا من حضراتكم ان تجدوا لي حلا لجعل العداد يبقى مطابقا للعداد الذي في الاسفل و شكرا على تعاونكم E G P_test.zip
Foksh قام بنشر الجمعة at 10:36 قام بنشر الجمعة at 10:36 1 ساعه مضت, حافظ التونسي said: و لما اغلقها و احاول الفتح من جديد الاحظ ان العداد يتقدم كما هوفي الصورة رقم 2 وعليكم السلام ورحمة الله وبركاته .. نوع الحقل BL n° في جدول BL هو AutoNumber . أي ترقيم تلقائي . وهذا من الطبيعي يا صديقي لأنه عندما تدخل أي قيمة في أي حقل داخل الجدول ، فإن آكسيس يعتبره سجل جديد ويقوم بحجزه حتى عند حذفه أو إلغاء الإدخال والتراجع . يعني انت لو حذفت السجل رقم 2 من أصل السجلات الـ 6 التي لديك لتصبح 5 ، فإن السجل الجديد لن يكون رقمه 6 بل سيصبح 7 وهذا كله شأن الترقيم التلقائي . لذا استخدم للترقيم حقل رقمي باستعمال DMAX مثلاً . أما المشكلة الأولى التي ذكرتها لم تظهر عندي للأسف بعد فتح سجلات جديدة كثيرة
حافظ التونسي قام بنشر الجمعة at 10:41 الكاتب قام بنشر الجمعة at 10:41 شكرا على تفسيرك المشكلة الاولى سحبتها لاني اصلا لم ادخل في سجل الحرفاء رقم جديد مثلا رقم 6 لذا طبيعي لماادخل رقم 6 سوف لن يجده اما DMAX هل من الممكن ان تشرح لي كيف و اين اضعها حتى يبقى الرقم مطابقا و لكم جزيل الشكر
Foksh قام بنشر الجمعة at 10:49 قام بنشر الجمعة at 10:49 3 دقائق مضت, حافظ التونسي said: اما DMAX هل من الممكن ان تشرح لي كيف و اين اضعها حتى يبقى الرقم مطابقا و لكم جزيل الشكر سؤالي الذي أريد منك إجابة مقنعة له حتى نصل إلى جوهر المشكلة لنجد لها حلاً .. لماذا تشترط أن يكون الترقيم مرهوناً ومقروناً ومساوياً بعدد السجلات التي لديك .. يعني لو حذفت السجل رقم 4 من أصل السجلات 1500 والتي هي فعلاً تطابق الترقيم ، فهل تريد أن يكون الترقيم للسجل الجديد = 1500 أما لاستخدام الدالة DMAX مثلاً ، فعليك أولاً تغيير نوع الحقل من ترقيم تلقائي الى حقل رقمي ، ثم في مربع النص داخل النموذج تستعمل الجملة = Nz(DMax("[BL n°]", "BL"), 0) + 1 في القيمة الإفتراضية لمربع النص داخل النموذج .
حافظ التونسي قام بنشر الجمعة at 11:16 الكاتب قام بنشر الجمعة at 11:16 ليس مهما ان يكون مطابقا و لكن هناك سببين اولهما ان اعلم ان العامل قد اخطء او ان هناك شي ما و السبب الثاني جمالي لا اكثر لانني عندما اريد ان اطبع فسادخل رقن الصفحة و ليس الرقم الذي في اسفل الصفحة و بالنسبة لحساب الحريف فساحاول اعادة ما قمت به حتى اتمكن من التعلم و ان لم استطع فساطلب منكم ان تفسري لي خطوة بخطوة او فيديو توضيحي كل المراحل و هذا حتى اتعلم منكم و لكم جزيل الشكر 1
kkhalifa1960 قام بنشر الجمعة at 16:50 قام بنشر الجمعة at 16:50 للشكل الجمالي وبدون التدخل بأي شئ تفضل المرفق .ووافني بالرد. E G P_test-1.rar
حافظ التونسي قام بنشر السبت at 06:25 الكاتب قام بنشر السبت at 06:25 السلام عليكم من جديد شكرا اخي ابو خليفة على مرورك و اجتهادك فتحت صفحة module و لكن للاسف وجدت ما كتب بالعربية يظهر كما في الصورة فهل من الممكن ان تكتبها لي بالفرنسية او الانجليزية حتى استطيع ان افهم اكثر و لكم جزيل الشكر
kkhalifa1960 قام بنشر السبت at 16:07 قام بنشر السبت at 16:07 تفضل الصفحة كلها مع التعليقات بالانجليزية . Option Compare Database Option Explicit Public Enum NavAction navFirst = 1 navPrevious = 2 navNext = 3 navLast = 4 navNew = 5 End Enum '============================= ' Safe navigation with messages '============================= Public Sub NavigateRecord(frm As Form, action As NavAction) Dim rs As DAO.Recordset Set rs = frm.RecordsetClone If rs.RecordCount = 0 Then Exit Sub rs.MoveLast Select Case action Case navFirst If frm.CurrentRecord = 1 Then MsgBox "This is the first record", vbInformation Else DoCmd.GoToRecord , , acFirst End If Case navPrevious If frm.CurrentRecord = 1 Then MsgBox "This is the first record", vbInformation Else DoCmd.GoToRecord , , acPrevious End If Case navNext If frm.CurrentRecord >= rs.RecordCount Then MsgBox "This is the last record", vbInformation Else DoCmd.GoToRecord , , acNext End If Case navLast If frm.CurrentRecord >= rs.RecordCount Then MsgBox "This is the last record", vbInformation Else DoCmd.GoToRecord , , acLast End If Case navNew DoCmd.GoToRecord , , acNewRec End Select rs.Close Set rs = Nothing UpdateNavUI frm End Sub '============================= ' Update counter + buttons '============================= Public Sub UpdateNavUI(frm As Form) Dim rs As DAO.Recordset Set rs = frm.RecordsetClone If rs.RecordCount = 0 Then frm!TxtCount = "No records found" Exit Sub End If rs.MoveLast '===== Record counter ===== If frm.NewRecord Then frm!TxtCount = "New record" Else frm!TxtCount = "Record " & frm.CurrentRecord & " of " & rs.RecordCount End If '===== Disable / Enable buttons ===== frm!CmdFirst.Enabled = (frm.CurrentRecord > 1) frm!CmdPrevius.Enabled = (frm.CurrentRecord > 1) frm!CmdNext.Enabled = (frm.CurrentRecord < rs.RecordCount) frm!CmdLast.Enabled = (frm.CurrentRecord < rs.RecordCount) rs.Close Set rs = Nothing End Sub تفضل الصفحة كلها مع التعليقات بالفرنسية . Option Compare Database Option Explicit Public Enum NavAction navFirst = 1 navPrevious = 2 navNext = 3 navLast = 4 navNew = 5 End Enum '============================= ' Navigation sécurisée avec messages '============================= Public Sub NavigateRecord(frm As Form, action As NavAction) Dim rs As DAO.Recordset Set rs = frm.RecordsetClone If rs.RecordCount = 0 Then Exit Sub rs.MoveLast Select Case action Case navFirst If frm.CurrentRecord = 1 Then MsgBox "C'est le premier enregistrement", vbInformation Else DoCmd.GoToRecord , , acFirst End If Case navPrevious If frm.CurrentRecord = 1 Then MsgBox "C'est le premier enregistrement", vbInformation Else DoCmd.GoToRecord , , acPrevious End If Case navNext If frm.CurrentRecord >= rs.RecordCount Then MsgBox "C'est le dernier enregistrement", vbInformation Else DoCmd.GoToRecord , , acNext End If Case navLast If frm.CurrentRecord >= rs.RecordCount Then MsgBox "C'est le dernier enregistrement", vbInformation Else DoCmd.GoToRecord , , acLast End If Case navNew DoCmd.GoToRecord , , acNewRec End Select rs.Close Set rs = Nothing UpdateNavUI frm End Sub '============================= ' Mise à jour du compteur + boutons '============================= Public Sub UpdateNavUI(frm As Form) Dim rs As DAO.Recordset Set rs = frm.RecordsetClone If rs.RecordCount = 0 Then frm!TxtCount = "Aucun enregistrement" Exit Sub End If rs.MoveLast '===== Compteur d'enregistrements ===== If frm.NewRecord Then frm!TxtCount = "Nouvel enregistrement" Else frm!TxtCount = "Enregistrement " & frm.CurrentRecord & " sur " & rs.RecordCount End If '===== Désactiver / Activer les boutons ===== frm!CmdFirst.Enabled = (frm.CurrentRecord > 1) frm!CmdPrevius.Enabled = (frm.CurrentRecord > 1) frm!CmdNext.Enabled = (frm.CurrentRecord < rs.RecordCount) frm!CmdLast.Enabled = (frm.CurrentRecord < rs.RecordCount) rs.Close Set rs = Nothing End Sub
الردود الموصى بها
انشئ حساب جديد او قم بتسجيل دخولك لتتمكن من اضافه تعليق جديد
يجب ان تكون عضوا لدينا لتتمكن من التعليق
انشئ حساب جديد
سجل حسابك الجديد لدينا في الموقع بمنتهي السهوله .
سجل حساب جديدتسجيل دخول
هل تمتلك حساب بالفعل ؟ سجل دخولك من هنا.
سجل دخولك الان