اذهب الي المحتوي
أوفيسنا
بحث مخصص من جوجل فى أوفيسنا
Custom Search

jjafferr

أوفيسنا
  • Posts

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

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

  • Days Won

    406

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

  1. تفضل [Forms]![customer_account_$22]![customer_account_$]![Date_To] [customer_account_$22] النموذج الرئيسي [customer_account_$] النموذج الفرعي جعفر
  2. السلام عليكم 🙂 استعمل هذا الاستعلام كقالب ، والذي يمكن مشاهدته في وضع 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 بتصليح هذا الاستعلام في مرفقه 🙂 جعفر ** تم عمل تغيير على هذه المشاركة ، بسبب هذه المشاركة.
  3. الحمدلله 🙂 خلينا من البداية نعطي قيمة 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 جعفر
  4. سيدي الفاضل 🙂 لا يوجد الكثير من المعلومات عن 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 *********** جعفر
  5. همم انا شفت الجزء الاول ، ولم انتبه للجزء الآخر !! شكرا على الملاحظة اخي قاسم 🙂 جعفر
  6. اخي الفاضل احمد 🙂 كيف ممكن هذي الكلمتين تساعدني لمعرفة الخطأ !! لازم تعطيني معلومات اكثر ، علشان نقدر نساعدك ، وبما انك ارفقت هذه الجزئية من برنامجك ، وانا شايف انك وضعت المعيار بالطريقة الصحيحة في الاستعلام ، فرجاء تعطيني تاريخين ، وتخبرني شو النتائج الصحيحة اللي لازم يعطينا الاستعلام. جعفر
  7. اخي اباعمرو 🙂 اول مرة تستعمل البرنامج على كمبيوتر جديد : 1. اعمل تصدير ، 2. اعمل حذف (هذه الخطوة مو ضرورية ، ولكن لو لم تعملها سيكون عندك تكرار عند عمل استيراد) ، 3. اعمل توريد/استيراد الآن الاستعلامات ممكن ان تفتحها في وضع التصميم ، وتعدل فيها ، لأنها اخذت المسار الصحيح لملفات الاكسل 🙂 جعفر
  8. اما انا ، فلازلت ما قادر اوصل للزر U ، إلا في وضع التصميم ، رجاء ترفق مرفق يعمل بكل ازراره ، وبدون اخطاء 🙂 جعفر
  9. السلام عليكم 🙂 لوسمحت تعبئ بيانات في الجداول ، ثم تستخدم ازرار النموذج لعمل اللازم ، ووافنا بالنتيجة 🙂 لا تفتح الاستعلام قبل ان تستورد ، وبعد ان تستورد لأول مرة ، يمكنك فتح الاستعلام في وضع التصمي 🙂 جعفر 1506.2.Export catiopns to excel.mdb.zip
  10. وعليكم السلام 🙂 هذه طريقة اخرى جعفر
  11. نعم ، وهذه هي الطريقة الصحيحة في العمل 🙂 اذا كان اسم النموذج frm_Main واسم التاريخ من: Date_From ، والتاريخ الى: Date_To في الاستعلام ، نكتب المعيار التالي: between Forms!frm_Main!Date_From and Forms!frm_Main!Date_To جعفر
  12. الحدث الذي يقوم بعمل المطلوب هو "عند التغيير" ، ولكن ، وبما ان الحقل (aa2 مثلا) يكون في وضع "تعديل" لما تكتب فيه ، والقيمة اللي فيه لا تكون محفوظه في الحقل بعد ، فلا يمكن استعمال قيمته بعد ، لذا ، يجب الاستعانه بحقل آخر (aa22 مثلا ، كما في الصورة التالية ، باللون البرتقالي ، ومخفي) ، بحيث يأخذ قيمة Text. الحقل aa2 ، وهكذا الحال للحقل الثاني bb2 ، . . عليه تصبح المعادلات: Private Sub Form_Load() Me.aa2 = Empty Me.bb2 = Empty Me.ee2 = Empty Me.aa22 = Empty Me.bb22 = Empty End Sub Private Sub aa2_Change() Me.aa22 = Me.aa2.Text Call Calc_ee2 End Sub Private Sub bb2_Change() Me.bb22 = Me.bb2.Text Call Calc_ee2 End Sub Sub Calc_ee2() Me.ee2 = Val(Nz(Me.aa22, 0)) + Val(Nz(Me.bb22, 0)) End Sub جعفر 1512.Add fields.accdb.zip
  13. استعمل العمود اللي على اليمين او اللي في الوسط ، واخبرنا النتيجة 🙂
  14. وعليكم السلام 🙂 موجود في الاستعلام . والاستعلام جاهز للعمل 🙂 جعفر
  15. الحقول اللي تصدرها ، تريد استيرادها ، فما فرقت ، التصدير يصير من الجدول او الاستعلام ، فالخطأ سيظل نفسه !! هناك حل انك تستعمل جداول مؤقته تستورد فيها من ملف الاكسل ، ثم تلحقها بالجدول الصحيح ، ثم تحذف بيانات الجدول المؤقت: اذا كانت هذه الجداول المؤقته في نفس البرنامج ، فسيكبر حجم قاعدة البيانات ، لهذا السبب احبذ هذه الطريقة ، ولكن ممكن ان نجعل هذه الجداول المؤقته في قاعدة بيانات خارجية ، بحيث نصنعها عند الحاجة ، ثم نحذفها عند الانتهاء من عملها !! الحل الآخر هو جلب البيانات عن طريق الكود ، وفي الكود نلحق البيانات للحقول الصحيحة ، والحل الأخير ، وقد يكون الاسهل ، وهذا يعتمد على ان مجلد واسماء الملفات تظل مثل ما هي ولا تتغير (يجب عليك تعديلها لأول مرة فقط) ، وعليه نستطيع عن طريق الاستعلام ان نستورد البيانات الى الجدول الصحيح 🙂 في انتظار ردك 🙂 جعفر
  16. وعليكم السلام 🙂 يعني تريد الاستعلام "append query customer account sub dollar" يضيف ارقام الفواتير الغير موجودة في الجدول "customer account sub dollar" ؟ عندك طريقتين: 1. في الجدول "customer account sub dollar" اجعل حقل "رقم الفاتورة" مفهرس وغير قابل للتكرار ، وتشغل الاستعلام كما هو ، او 2. نخبر الاستعلام ان يأتي بقيم ارقام الفواتير من الجدول "customer account sub dollar" : Select [رقم الفاتورة] From [customer account sub dollar] . . ثم في الاستعلام ، في معيار حقل "رقم الفاتورة" ، نطلب منه فلترة ارقام فاتورة الجدول وعدم عرضها Not In : . . جعفر 1513.Not in.accdb.zip
  17. وعليكم السلام 🙂 ما يفرق اذا كان الحقل منظم او لا ، المهم القيمة 🙂 هذا الموضوع يناقش نفس الفكرة ، وبعده طازه 😁 جعفر
  18. السلام عليكم 🙂 الاكسس يخبرنا عن الكثير من الاشياء ، فقط بالنظر اليها ، مثلا: 1. محاذاة حقل الرقم : من الجانب الايمن من الحقل ، 2. محاذاة حقل النص : من الجانب الايسر من الحقل ، 3. محاذاة حقل التاريخ : من الجانب الايمن من الحقل ، انظر الى هذا الجدول الآن ، وتقدر تعرف نوع كل حقل فقط من النظر اليه ، بغض النظر عن اسمه : . خلينا نشوف الحقول التالية في نموذجك . 1. العمود الاول من اليسار : نص + نص = نص 2. العمودالثاني : نص + نص = رقم 3. العمود الاول من اليمين : رقم + رقم = نص هذه معادلاتهم: . فيجب ان يعرف الاكسس ان عليه ان يجمع ارقام (مع ان الحقول نص) ، وهذه بعض الطرق 🙂 جعفر 1512.Add fields.accdb.zip
  19. ما شاء الله اخوي حسين ، هاي برنامج كامل ، مو بحث فقط 🙂 دائما فيك الخير والبركة ، كما عودتنا بأفضالك 🙂 جعفر
  20. شكرا على المعلومة 🙂 جعفر
×
×
  • اضف...

Important Information