-
Posts
9915 -
تاريخ الانضمام
-
تاريخ اخر زياره
-
Days Won
404
نوع المحتوي
المنتدى
مكتبة الموقع
معرض الصور
المدونات
الوسائط المتعددة
كل منشورات العضو jjafferr
-
العودة الى الفورم الذي استدعى الفورم عند الاغلاق
jjafferr replied to alsihran's topic in قسم الأكسيس Access
ارجع لموضوع امس (انا تركت لك الرابط في مشاركتي السابقة) ، فيه تفاصيل اكثر 🙂 جعفر -
وجود تغيير فى تنسيق التقرير بعد تصديره لصيغة TXT
jjafferr replied to ahmed289's topic in قسم الأكسيس Access
نعم اخوي موسى ، هذه هي الفكرة ، استعلام بمعاييره ، وبحقل يضم جميع الحقول مثل ما تفضلت ، ثم تصدير الاستعلام الى ملف نص 🙂 جعفر -
العودة الى الفورم الذي استدعى الفورم عند الاغلاق
jjafferr replied to alsihran's topic in قسم الأكسيس Access
اولا: اذا كان LisetViewData اسم النموذج الذي انت عليه الآن ، فتقدر تكتب السطر كالتالي (حيث me.name معناه اسم النموذج الذي انت فيه الآن) : DoCmd.OpenForm "frm_QualityEvaluation", , , , , acDialog, me.name ثانيا: بالنسبة للتصفية ، فاثناء كتابتك للامر ، سترى ان الاكسس يخبرك المتغير الذ يجب ان تكتبه ، ومنها Filter و Where ، ولاحظ آخر امر هو OpenArgs الذي تكلمت عنه . فإذا اردت تصفت النموذج frm بحقل الرقم ID مثلا واسم مربع القائمة lst_1 ، فيصبح الامر docmd.OpenForm "frm",,,"[ID]=" & me.lst_1,,acDialog, me.name واذا كان الحقل نص docmd.OpenForm "frm",,,"[ID]='" & me.lst_1 & "'",,acDialog, me.name . جعفر سترى معلومات اكثر عن هذا المتغير هنا . جعفر -
وجود تغيير فى تنسيق التقرير بعد تصديره لصيغة TXT
jjafferr replied to ahmed289's topic in قسم الأكسيس Access
نفس الامر الذي ترسل فيه قيم التقرير ، عادة يكون فيه امر لإرسال قيم استعلام 🙂 اما استبدال العمود بعلامة فاصلة ، فلازم تخبرنا كيف عملتها في التقرير ، علشان نعملها في الاستعلام 🙂 وفي طريقة اخيرة ، وهي نعمل عملية للملف الذي تم تصديره ، نقرأ السطر الفارغ ونحذفة ، ولكن آخر الدواء الكي 🙂 جعفر -
العودة الى الفورم الذي استدعى الفورم عند الاغلاق
jjafferr replied to alsihran's topic in قسم الأكسيس Access
وعليكم السلام 🙂 مثل ما يقول المثل: اش لك في البحر واهواله ، و رزق الله على السيف 🙂 فيه طريقة اسهل من طريقة اخوي موسى السهلة 🙂 في امر فتح النموذج ، في آخر متغير في هذا الامر ، هناك متغير اسمه OpenArgs ، استعمله في ارسال اسم النموذج الذي تريد تفتحه ، هكذا (لا تغير في السطر شيء ، إلا اذا اردت ان تضيف امر تصفية ، او ارسال معلومات اخرى في المتغير OpenArgs) : DoCmd.OpenForm "frm", , , , , , me.name . وعند اغلاق النموذج frm1 او frm2 ، اكتب : Forms(me.openargs).Visible = True جعفر -
على طاري الحجة ، مدمن حج و اريد تصريح ، كيف احصل عليه (بس الردود على الخاص لوسمحتم 🙂 ) جعفر
-
بعد قراءة الباركود انتقال مؤشر الكتابه للمكان المخصص
jjafferr replied to ramynassif's topic in قسم الأكسيس Access
انا رديت على استفسارك من البداية 🙂 -
لأن كل الكمبيوترات اللي عندي قدام ولكن ماشين الحال ، والآن صارت حجة في حاجة 🙂
-
وفي انتظار نسمع منك النتيجة 🙂 اما انا ، فلازم اشتري كمبيوتر جديد ، علشان انصب عليه الاوفيس 2021 🙂 جعفر
-
أفكار سريعة: تمرير البيانات من التقرير الي النموذج
jjafferr replied to أبو عبدالله الحلوانى's topic in قسم الأكسيس Access
طبعا هذا مجرد فاصل (ممكن يكون علامة/علامات او رقم/ارقام او حرف/حروف) بين بيانات الحقول ، وممكن استعمال اي فاصل ولكن بشرط هذا الفاصل لا يكون في بيانات الحقول ، لأن هذه الحقول يتم تجميعها كجمله واحدة ، مثلا: اذا كانت بيانات : الحقل1: /ذهبت الى السوق، ومنها الى المتجر./ الحقل 2: /قيمة المادة: 75/ الحقل 3: /الاحد - 22/05/2022 // 11:32ص/ فإذا جمعنا الحقول الثلاث اعلاه ، فتكون الجملة: /ذهبت الى السوق، ومنها الى المتجر.//قيمة المادة: 75//الاحد - 22/05/2022 // 11:32ص/ فيجب ان نختار فاصل غير موجود في هذه الجملة (او اي جمل في المستقبل) ، فبإختيار مبرمج سابق العلامة | تصبح الجملة اعلاه: /ذهبت الى السوق، ومنها الى المتجر./|/قيمة المادة: 75/|/الاحد - 22/05/2022 // 11:32ص/ ونلاحظ من السهل فصل الجملة الى 3 جُمل 🙂 نعم ممكن استعمال اي فاصل آخر (نلاحظ بأن العلامات التالية موجودة في الحقول الثلاث اعلاه هي: ، . : - / _ فلا يمكن استعمالها) ، فممكن نستعمل (لاحظ اني استعملت عدد كبير من الارقام او الاشارات ، فأكون متأكد انه من المستحيل ان يكون هذا الفاصل جزء من بيانات الحقول) : 11111 فتصبح الجملة: /ذهبت الى السوق، ومنها الى المتجر./11111/قيمة المادة: 75/11111/الاحد - 22/05/2022 // 11:32ص/ جججججج فتصبح الجملة: /ذهبت الى السوق، ومنها الى المتجر./جججججج/قيمة المادة: 75/جججججج/الاحد - 22/05/2022 // 11:32ص/ /\/\ فتصبح الجملة: /ذهبت الى السوق، ومنها الى المتجر.//\/\/قيمة المادة: 75//\/\/الاحد - 22/05/2022 // 11:32ص/ ******** فتصبح الجملة: /ذهبت الى السوق، ومنها الى المتجر./********/قيمة المادة: 75/********/الاحد - 22/05/2022 // 11:32ص/ ولكن حذار من استخدام // كفاصل ، وإلا ستكون الجملة اعلاه من 4 حقول وليس من 3 !! امثله اخرى من الفواصل اعلاه وانها تعمل بطريقة صحيحة ، وسأترك لكم طريقة تفكيك الحقول الثلاث : 11111 : عدد الطلبة 11111111معدل الدرجات1111111وهذه نسبة ضئيلة جججججج : تأجججججججججمال القمرججججججيوم اصبح بدرا شكرا اخوي ابو عبدالله ، واخوي مبرمج سابق ، خليتونا نعصر افكارنا 🙂 جعفر -
وجود تغيير فى تنسيق التقرير بعد تصديره لصيغة TXT
jjafferr replied to ahmed289's topic in قسم الأكسيس Access
وعليكم السلام اخي احمد 🙂 واهلا وسهلا بك في المنتدى 🙂 للاستفادة القصوى من المنتدى ، رجاء قراءة قوانين المنتدى: اضغط هنـــــــــامن فضلك لقراءة القواعد كاملة ليش ما تصدر الاستعلام مصدر بيانات التقرير مباشرة الى ملف نص txt ، فالاستعلام لا يوجد به تنسيق ، والتقرير يكون فيه تنسيق ، والذي قد يكون سبب مشكلتك !! جعفر -
1. الحمدلله 🙂 4. بين التاريخين ، وعدم تكرار [رقم الفاتورة] من الجدول [customer account sub dollar] ، هذه مجرد معايير تصفية لبيانات السجلات التي تريد عرضها ، ويمكنك استعمال هذه المعايير لجميع انواع الاستعلامات ، 2. لعرض البيانات فقط ، اعمل نسخة من استعلام الالحاق اللي عندك ، وحوله الى استعلام Select ، واحفظه بإسم آخر ، 3. تقدر تعمل نموذج (انظر الخيارين في الاسفل) ، طريقة الاختيار تختلف لكل من الطريقتين ، والطريقة الثانية مشهورة واسهل 🙂 : ويكون استعلام #2 اعلاه مصدر بيانات النموذج ، ومن البيانات اللي في النموذج تختار السجلات اللي تريد تلحقها بالجدول ، ويكون بدون مصدر ، وبه تعمل ListBox مصدر بياناته #2 ، وتختار السجلات اللي تريد تلحقها بالجدول ، جعفر
-
بعد قراءة الباركود انتقال مؤشر الكتابه للمكان المخصص
jjafferr replied to ramynassif's topic in قسم الأكسيس Access
تفضل 🙂 Barcode.accdb -
وعليكم السلام 🙂 هذا الرابط فيه مجموعة من المواضيع تخص طلبك جعفر
- 1 reply
-
- 1
-
-
بعد قراءة الباركود انتقال مؤشر الكتابه للمكان المخصص
jjafferr replied to ramynassif's topic in قسم الأكسيس Access
وعليكم السلام 🙂 في احد برامجي ، نقرأ من الباركود الاحادي ، و QR ، و الجوازات والهويات MRZ ، كلها من حقل واحد ، وكما ترى فعدد الحقول كثيرة في النموذج ، وكلما يكون التركيز على حقل ، يصبح لونه اخضر (حتى يعرف المستخدم المؤشر موجود على اي حقل) ، ولكن ، على حدث "عند فقد التركيز" لكل حقل و زر في في النموذج ، يكون الكود لإعادة التركيز على الحقل الاول ، حقل ادخال الباركود . ولا توجد طريقة خاصة لمعرفة اذا كان ادخال المعلومة كان باليد او بالباركود ، إلا بحساب الوقت الذي اخذه ادخال المعلومة ، لذا أنصحك اتباع الطريقة اعلاه 🙂 جعفر -
( برنامج الإحصاء والتوثيق ) إهداء لرؤية المملكة 2030
jjafferr replied to AboSaad17's topic in قسم الأكسيس Access
السلام عليكم 🙂 اوفيس 2010 32بت ، وندوز 10 64بت 🙂 قدرت انتقل من الاسم الى كلمة السر بدون مشاكل ، سواء بالضغط على الزر TAB او Enter 🙂 جعفر -
وعليكم السلام 🙂 هذا اسم النموذج الفرعي: . فتصبح الجملة: Between [Forms]![customer_account_$22]![customer_account_main $]![Date_from] And [Forms]![customer_account_$22]![customer_account_main $]![Date_To] جعفر
-
الله ان شاء الله يطول عمرك اخوي احمد ، من الصورة اعلاه ارى ان اسم النموذج مو نفسه اللي اخبرتنا عنه !!
-
التصدير الى الاكسل بتسمية الحقل وليس اسمه
jjafferr replied to ابا عمرو's topic in قسم الأكسيس Access
نعم ، وبجميع الاشياء اللي قلتها ، ولكن عن طريق الاستعلام جدا جدا اسهل , ويستطيع الجميع الاستفادة منها 🙂 اليك بعض روابط استيراد ملفات الاكسل الى الاكسس عن طريق SQL الكود : . . . . . . جعفر -
تفضل [Forms]![customer_account_$22]![customer_account_$]![Date_To] [customer_account_$22] النموذج الرئيسي [customer_account_$] النموذج الفرعي جعفر
-
التصدير الى الاكسل بتسمية الحقل وليس اسمه
jjafferr replied to ابا عمرو's topic in قسم الأكسيس Access
السلام عليكم 🙂 استعمل هذا الاستعلام كقالب ، والذي يمكن مشاهدته في وضع SQL فقط : SELECT T1.* FROM [Excel 8.0;HDR=YES;IMEX=1;Database=C:\temp\ABC.xls].[Sheet1$A1:DA65536] AS T1; . اذهب الى مجلد ملف الاكسل ، وانسخ المسار مع اسم الملف ، ثم ضع المسار مكان المسار في الاستعلام السابق ، فيصبح الاستعلام السابق هكذا : SELECT T1.* FROM [Excel 8.0;HDR=YES;IMEX=1;Database=D:\Documents\Downloads\MyBackup\تخصصات المدرسين.xls].[Sheet1$A1:DA65536] AS T1; . الآن شاهد الاستعلام في وضع تصميم : . فيصبح . احذف الحقل الموجود *.T1 ، وانزل الحقلين ، فيصبح الاستعلام . ثم قم بتبديل الاستعلام ، الى استعلام الحاقي . فتختار الجدول الذي تريد ان تلحق البيانات فيه . ثم تختار اسماء الحقول التي تريد ان تلحق بيانات حقول الاكسل بها . . والآن لى مشكلتك ، وهي ، انت اضفت اسماء حقول ملف اكسل ، ولكنها لا توجد في ملف الاكسل !! لما يعطيك الاستعلام اسم الحقل مثل: Expr1 ، فهذا معناه ان اسم الحقل ، مثلا [حالة الكتاب] و السلسلة غير موجودين في قائمة ملف الاكسل اعلاه !! لذا يجب عليك ان تحذف جميع هذه الحقول ، تتأكد ان القائمة تضم اسماء الحقول : . وقد قام اخي @rockjone33 بتصليح هذا الاستعلام في مرفقه 🙂 جعفر ** تم عمل تغيير على هذه المشاركة ، بسبب هذه المشاركة. -
الحمدلله 🙂 خلينا من البداية نعطي قيمة ID الى متغير : dim myID as long myID= me.ID DoCmd.BrowseTo acBrowseToForm, "General", , , "PA", acFormEdit Forms!General!PA.SetFocus SendKeys "~", True DoEvents Forms!General!JO.SetFocus Dim rst As DAO.Recordset Set rst = Forms!General!JO.Form.RecordsetClone rst.FindFirst "[PCode]=" & myID Forms!General!JO.Form.Bookmark = rst.Bookmark rst.close: Set rst = Nothing 'TurnOnNumLock جعفر
-
سيدي الفاضل 🙂 لا يوجد الكثير من المعلومات عن Navigation Control ، ولا Navigation Buttons !! هذه النتائج توصلت اليها بعد عدة تجارب 🙂 رجاء وضع هذا الكود على حدث "عند النقر" على الزر U ، وبدل الرقم 117 ، استعمل اسم الحقل الصحيح : DoCmd.BrowseTo acBrowseToForm, "General", , , "PA", acFormEdit Forms!General!PA.SetFocus SendKeys "~", True DoEvents Forms!General!JO.SetFocus Dim rst As DAO.Recordset Set rst = Forms!General!JO.Form.RecordsetClone rst.FindFirst "[PCode]=" & 117 Forms!General!JO.Form.Bookmark = rst.Bookmark rst.close: Set rst = Nothing 'TurnOnNumLock . الامر SendKeys يطفئ Key Pads لوحة المفاتيح ، فقد تحتاج الى امر يعيد فتحه ، فيمكنك استعمال الدالة التالية: Option Compare Database Option Explicit Public Declare PtrSafe Function GetKeyState Lib "user32" (ByVal nVirtKey As Long) As Integer Public Const VK_NUMLOCK = &H90 Public Sub TurnOnNumLock() If GetKeyState(VK_NUMLOCK) <> 1 Then SendKeys "{Numlock}", True End If End Sub . ويمكنك مناداة الدالة هكذا (لاحظ سطر في اول كود اعطيتك) : TurnOnNumLock . او بدل استعمال الامر SendKeys ، يمكنك استعمال الامر MySendkeys مع الدالة التالية: '******** Code Start *********** 'http://access.mvps.org/access/api/api0046.htm ' Declare Type for API call: Private Type OSVERSIONINFO dwOSVersionInfoSize As Long dwMajorVersion As Long dwMinorVersion As Long dwBuildNumber As Long dwPlatformId As Long szCSDVersion As String * 128 ' Maintenance string for PSS usage End Type ' API declarations: Private Declare PtrSafe Function GetVersionEx Lib "Kernel32" _ Alias "GetVersionExA" _ (lpVersionInformation As OSVERSIONINFO) As Long Private Declare ptrsafe Sub keybd_event Lib "user32" _ (ByVal bVk As Byte, _ ByVal bScan As Byte, _ ByVal dwflags As Long, ByVal dwExtraInfo As Long) Private Declare ptrsafe Function GetKeyboardState Lib "user32" _ (pbKeyState As Byte) As Long Private Declare ptrsafe Function SetKeyboardState Lib "user32" _ (lppbKeyState As Byte) As Long ' Constant declarations: Const VK_NUMLOCK = &H90 Const VK_SCROLL = &H91 Const VK_CAPITAL = &H14 Const KEYEVENTF_EXTENDEDKEY = &H1 Const KEYEVENTF_KEYUP = &H2 Const VER_PLATFORM_WIN32_NT = 2 Const VER_PLATFORM_WIN32_WINDOWS = 1 Function IsCapsLockOn() As Boolean Dim o As OSVERSIONINFO o.dwOSVersionInfoSize = Len(o) GetVersionEx o Dim keys(0 To 255) As Byte GetKeyboardState keys(0) IsCapsLockOn = keys(VK_CAPITAL) End Function Sub ToggleCapsLock() Dim o As OSVERSIONINFO o.dwOSVersionInfoSize = Len(o) GetVersionEx o Dim keys(0 To 255) As Byte GetKeyboardState keys(0) If o.dwPlatformId = VER_PLATFORM_WIN32_WINDOWS Then '=====Win95 'Toggle capslock keys(VK_CAPITAL) = Abs(Not keys(VK_CAPITAL)) SetKeyboardState keys(0) ElseIf o.dwPlatformId = VER_PLATFORM_WIN32_NT Then '=====WinNT 'Simulate Key Press> keybd_event VK_CAPITAL, &H45, KEYEVENTF_EXTENDEDKEY Or 0, 0 'Simulate Key Release keybd_event VK_CAPITAL, &H45, KEYEVENTF_EXTENDEDKEY _ Or KEYEVENTF_KEYUP, 0 End If End Sub Function IsNumLockOn() As Boolean Dim o As OSVERSIONINFO o.dwOSVersionInfoSize = Len(o) GetVersionEx o Dim keys(0 To 255) As Byte GetKeyboardState keys(0) IsNumLockOn = keys(VK_NUMLOCK) End Function Sub ToggleNumLock() Dim o As OSVERSIONINFO o.dwOSVersionInfoSize = Len(o) GetVersionEx o Dim keys(0 To 255) As Byte GetKeyboardState keys(0) If o.dwPlatformId = VER_PLATFORM_WIN32_WINDOWS Then '=====Win95 keys(VK_NUMLOCK) = Abs(Not keys(VK_NUMLOCK)) SetKeyboardState keys(0) ElseIf o.dwPlatformId = VER_PLATFORM_WIN32_NT Then '=====WinNT 'Simulate Key Press keybd_event VK_NUMLOCK, &H45, KEYEVENTF_EXTENDEDKEY Or 0, 0 'Simulate Key Release keybd_event VK_NUMLOCK, &H45, KEYEVENTF_EXTENDEDKEY _ Or KEYEVENTF_KEYUP, 0 End If End Sub Function IsScrollLockOn() Dim o As OSVERSIONINFO o.dwOSVersionInfoSize = Len(o) GetVersionEx o Dim keys(0 To 255) As Byte GetKeyboardState keys(0) IsScrollLockOn = keys(VK_SCROLL) End Function Sub ToggleScrollLock() Dim o As OSVERSIONINFO o.dwOSVersionInfoSize = Len(o) GetVersionEx o Dim keys(0 To 255) As Byte GetKeyboardState keys(0) If o.dwPlatformId = VER_PLATFORM_WIN32_WINDOWS Then '=====Win95 keys(VK_SCROLL) = Abs(Not keys(VK_SCROLL)) SetKeyboardState keys(0) ElseIf o.dwPlatformId = VER_PLATFORM_WIN32_NT Then '=====WinNT 'Simulate Key Press keybd_event VK_SCROLL, &H45, KEYEVENTF_EXTENDEDKEY Or 0, 0 'Simulate Key Release keybd_event VK_SCROLL, &H45, KEYEVENTF_EXTENDEDKEY Or KEYEVENTF_KEYUP, 0 End If End Sub Sub mySendKeys(sKeys As String, Optional bWait As Boolean = False) Dim bNumLockState As Boolean Dim bCapsLockState As Boolean Dim bScrollLockState As Boolean bNumLockState = IsNumLockOn() bCapsLockState = IsCapsLockOn() bScrollLockState = IsScrollLockOn() SendKeys sKeys, bWait If IsNumLockOn() <> bNumLockState Then ToggleNumLock End If If IsCapsLockOn() <> bCapsLockState Then ToggleCapsLock End If If IsScrollLockOn() <> bScrollLockState Then ToggleScrollLock End If End Sub Function fSendKeys(sKeys As String, Optional bWait As Boolean = False) ' Function to make it callable from macros mySendKeys sKeys, bWait End Function '******** Code End *********** جعفر