-
Posts
2381 -
تاريخ الانضمام
-
تاريخ اخر زياره
-
Days Won
66
kkhalifa1960 last won the day on فبراير 24
kkhalifa1960 had the most liked content!
السمعه بالموقع
1304 Excellentعن العضو kkhalifa1960

- تاريخ الميلاد 01/18/1960
البيانات الشخصية
-
Gender (Ar)
ذكر
-
Job Title
engineer
-
البلد
البحرين
-
الإهتمامات
Access Programing - Photoshop
وسائل التواصل
-
Yahoo
khalifa1960@yahoo.com
اخر الزوار
8004 زياره للملف الشخصي
-
تفضل استاذ/ة @ruan يوجد تعديل مهم بزري النموذج (frm_Main) (btnMyPC و btnScaner). حتى يمكنك تغيير الصورة بدون أخطاء . تفضل المرفق بعد التعديل .ووافني بالرد . الصادر والوارد-2.rar
-
kkhalifa1960 started following حجم خط عناصر اكسيس , برنامج ارشفة الكتروني , تعديل كود ازرار و 4 اخرين
-
تفضل استاذ @فؤاد الدلوي مرفقك حسب مافهمت . اولا الجزء المهم جدا إعداد (CaptureOnTouch V5 Pro) افتح البرنامج الآن 👇 1️⃣ ادخل إلى: 🔹 Job Mode 2️⃣ أنشئ Job جديد اضغط: New 3️⃣ اختر نوع الإخراج اختر: Save to Folder اضغط Next 4️⃣ اختر المجلد اضغط Browse واختر: D:\Archive\Temp اضغط OK 5️⃣ أهم خطوة (اسم الملف) ستجد خيار: File Name Settings اختر: Custom واكتب اسم ثابت: scan ⚠️ بدون أرقام ⚠️ بدون تاريخ ⚠️ بدون Auto numbering ثم اختر: File Format = PDF مهم جداً داخل برنامج CaptureOnTouch V5 Pro تأكد أن: الحفظ في: · D:\Archive\Temp اسم الملف دائماً: · scan.pdf لا يوجد تاريخ أو ترقيم مضاف للاسم ثانياً اليك المرفق ' مسار برنامج CaptureOnTouch (تأكد منه عندك) AppPath = """C:\Program Files\Canon Electronics\CaptureOnTouch V5 Pro\TouchDR.exe""" او عدل كما لديك . الناتج D:\Archive\2026\02\1258.pdf ووافني بالرد . Fouad_ElDolwi.rar
-
تفضل استاذ/ة @ruan طلبك حسب مافهمت . جرب المرفق جيداً . ووافني بالرد . واي استفسار أو تعديل انا حاضر . ووافني بالرد . الصادر والوارد-1.rar
-
اكيد عندك لانه يعمل عندي على كمبيوترات مختلفة .
-
تفضل استاذ . Bilal_Yamen.rar
-
-
SELECT TOP 10 S.StudentID, S.StudentName, S.ClassName, S.SETNO1, F.SemesterID, F.TotalSum, F.average, F.Grade, /* الترتيب الصحيح بدون قفزات */ (SELECT COUNT(DISTINCT F2.average) FROM TBL_Final1 AS F2 INNER JOIN TBL_Students AS S2 ON F2.StudentID = S2.StudentID WHERE F2.SemesterID = F.SemesterID AND S2.ClassName = S.ClassName AND F2.average > F.average ) + 1 AS RankOrder, /* تحويل الرقم إلى نص */ Switch( (SELECT COUNT(DISTINCT F2.average) FROM TBL_Final1 AS F2 INNER JOIN TBL_Students AS S2 ON F2.StudentID = S2.StudentID WHERE F2.SemesterID = F.SemesterID AND S2.ClassName = S.ClassName AND F2.average > F.average ) + 1 = 1, "الأول", (SELECT COUNT(DISTINCT F2.average) FROM TBL_Final1 AS F2 INNER JOIN TBL_Students AS S2 ON F2.StudentID = S2.StudentID WHERE F2.SemesterID = F.SemesterID AND S2.ClassName = S.ClassName AND F2.average > F.average ) + 1 = 2, "الثاني", (SELECT COUNT(DISTINCT F2.average) FROM TBL_Final1 AS F2 INNER JOIN TBL_Students AS S2 ON F2.StudentID = S2.StudentID WHERE F2.SemesterID = F.SemesterID AND S2.ClassName = S.ClassName AND F2.average > F.average ) + 1 = 3, "الثالث", (SELECT COUNT(DISTINCT F2.average) FROM TBL_Final1 AS F2 INNER JOIN TBL_Students AS S2 ON F2.StudentID = S2.StudentID WHERE F2.SemesterID = F.SemesterID AND S2.ClassName = S.ClassName AND F2.average > F.average ) + 1 = 4, "الرابع", (SELECT COUNT(DISTINCT F2.average) FROM TBL_Final1 AS F2 INNER JOIN TBL_Students AS S2 ON F2.StudentID = S2.StudentID WHERE F2.SemesterID = F.SemesterID AND S2.ClassName = S.ClassName AND F2.average > F.average ) + 1 = 5, "الخامس", (SELECT COUNT(DISTINCT F2.average) FROM TBL_Final1 AS F2 INNER JOIN TBL_Students AS S2 ON F2.StudentID = S2.StudentID WHERE F2.SemesterID = F.SemesterID AND S2.ClassName = S.ClassName AND F2.average > F.average ) + 1 = 6, "السادس", (SELECT COUNT(DISTINCT F2.average) FROM TBL_Final1 AS F2 INNER JOIN TBL_Students AS S2 ON F2.StudentID = S2.StudentID WHERE F2.SemesterID = F.SemesterID AND S2.ClassName = S.ClassName AND F2.average > F.average ) + 1 = 7, "السابع", (SELECT COUNT(DISTINCT F2.average) FROM TBL_Final1 AS F2 INNER JOIN TBL_Students AS S2 ON F2.StudentID = S2.StudentID WHERE F2.SemesterID = F.SemesterID AND S2.ClassName = S.ClassName AND F2.average > F.average ) + 1 = 8, "الثامن", (SELECT COUNT(DISTINCT F2.average) FROM TBL_Final1 AS F2 INNER JOIN TBL_Students AS S2 ON F2.StudentID = S2.StudentID WHERE F2.SemesterID = F.SemesterID AND S2.ClassName = S.ClassName AND F2.average > F.average ) + 1 = 9, "التاسع", (SELECT COUNT(DISTINCT F2.average) FROM TBL_Final1 AS F2 INNER JOIN TBL_Students AS S2 ON F2.StudentID = S2.StudentID WHERE F2.SemesterID = F.SemesterID AND S2.ClassName = S.ClassName AND F2.average > F.average ) + 1 = 10, "العاشر" ) AS RankText, /* إضافة كلمة "متكرر" عند وجود أكثر من طالب بنفس المعدل */ Switch( (SELECT COUNT(DISTINCT F2.average) FROM TBL_Final1 AS F2 INNER JOIN TBL_Students AS S2 ON F2.StudentID = S2.StudentID WHERE F2.SemesterID = F.SemesterID AND S2.ClassName = S.ClassName AND F2.average > F.average ) + 1 = 1, "الأول", (SELECT COUNT(DISTINCT F2.average) FROM TBL_Final1 AS F2 INNER JOIN TBL_Students AS S2 ON F2.StudentID = S2.StudentID WHERE F2.SemesterID = F.SemesterID AND S2.ClassName = S.ClassName AND F2.average > F.average ) + 1 = 2, "الثاني", (SELECT COUNT(DISTINCT F2.average) FROM TBL_Final1 AS F2 INNER JOIN TBL_Students AS S2 ON F2.StudentID = S2.StudentID WHERE F2.SemesterID = F.SemesterID AND S2.ClassName = S.ClassName AND F2.average > F.average ) + 1 = 3, "الثالث" ) & IIf( (SELECT COUNT(*) FROM TBL_Final1 AS F3 WHERE F3.SemesterID = F.SemesterID AND F3.average = F.average) > 1, " متكرر", "" ) AS RankFinal FROM TBL_Students AS S INNER JOIN TBL_Final1 AS F ON S.StudentID = F.StudentID WHERE F.SemesterID = [أدخل رقم الفصل] AND S.ClassName = [أدخل اسم الصف] ORDER BY F.average DESC, S.StudentID ASC;
-
مشكلة عدم تطابق عدد السجلات مع حقل ترقيم تلقائي
kkhalifa1960 replied to حافظ التونسي's topic in قسم الأكسيس Access
تفضل الصفحة كلها مع التعليقات بالانجليزية . 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 -
مشكلة عدم تطابق عدد السجلات مع حقل ترقيم تلقائي
kkhalifa1960 replied to حافظ التونسي's topic in قسم الأكسيس Access
للشكل الجمالي وبدون التدخل بأي شئ تفضل المرفق .ووافني بالرد. E G P_test-1.rar -
اليك الشرح مع شرح زر الحذف واليك المرفق بعد اضافة زر الحذف . ووافني بالرد . saad From Access To Exel.rar
-
-
تفضل استاذ @2saad المرفق حسب مافهمت . ووافني بالرد . saad From Access To Exel.rar
-
كلامك صح وانا حاولت يشتى الطرق حتى مع معظم منصات الذكاء الصناعي ماتوصلنا الا للحل الذي ارسلته لك .
-
انا جربيتها وجربت طرق أخرى مثل الاوتلوك للاسف كلها طرق فاشلة ... هل جربت الارسال من الجيميل للياهو جرب من الجيميل للجيميل بتوصل الرسالة صح . لكن من الجيميل للياهو الرسالة تم الارسال لكنها لم تصل للياهو .... الى ان توصلت لما ادرجته بمشاركتي السابفة . وهذا كان رد تشات جي بي تي :- 📌 لماذا Gmail يرسل إلى Gmail فقط ولا يرسل إلى Yahoo؟ لأن: Google تحظر الإرسال إلى بعض السيرفرات (مثل Yahoo / Hotmail) إذا كان الإرسال من تطبيقات قديمة (CDO / Access) بدون OAuth. Gmail يعتبرها Less Secure Relay ويقوم بـ رفض التسليم أو إسقاط الرسالة بدون رجوع خطأ واضح. ✅ لماذا نجح إلى Gmail؟ لأن Gmail ↔ Gmail داخل نفس الشبكة ولا يحتاج تحقق إضافي من الطرف الآخر.