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

jjafferr

أوفيسنا
  • Posts

    9,756
  • تاريخ الانضمام

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

  • Days Won

    396

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

  1. وعليكم السلام 1. اريد تغيير خلفية مربع النص Forms!form1!text1.BackColor = RGB(2550, 0) 2. والزر الامر حسب علمي ، صيغة mdb لا تسمح بهذا جعفر
  2. تفضل يا أستاذ عبدالعزيز 14.6.برنامج المعلم اليمني.mdb.zip
  3. الله ان شاء الله يطول عمرك واشكرك على جميل كلماتك
  4. عندك طريقتين لعمله: 1. تعمل نموذج صغير بحقل واحد لإدخال كلمة السر ، والحقل يكون له "قناع ادخال" "input mask" وهو password ، والمرفق فيه هذا النموذج جاهزا 2. والطريقة الثانية انك تضع هذا الكود في وحدة النمطية: Option Explicit '//////////////////////////////////////////////////////////////////// 'Password masked inputbox 'Allows you to hide characters entered in a VBA Inputbox. ' 'Code written by Daniel Klann 'http://www.danielklann.com/ 'March 2003 '// Kindly permitted to be amended '// Amended by Ivan F Moala '// http://www.xcelfiles.com '// April 2003 '// Works for Xl2000+ due the AddressOf Operator '//////////////////////////////////////////////////////////////////// '******************** CALL FROM FORM ********************************* ' Dim pwd As String ' ' pwd = InputBoxDK("Please Enter Password Below!", "Database Administration Security Form.") ' ' 'If no password was entered. ' If pwd = "" Then ' MsgBox "You didn't enter a password! You must enter password to 'enter the Administration Screen!" _ ' , vbInformation, "Security Warning" ' End If '************************************** 'API functions to be used Private Declare Function CallNextHookEx _ Lib "user32" ( _ ByVal hHook As Long, _ ByVal ncode As Long, _ ByVal wParam As Long, _ lParam As Any) _ As Long Private Declare Function GetModuleHandle _ Lib "kernel32" _ Alias "GetModuleHandleA" ( _ ByVal lpModuleName As String) _ As Long Private Declare Function SetWindowsHookEx _ Lib "user32" _ Alias "SetWindowsHookExA" ( _ ByVal idHook As Long, _ ByVal lpfn As Long, _ ByVal hmod As Long, _ ByVal dwThreadId As Long) _ As Long Private Declare Function UnhookWindowsHookEx _ Lib "user32" ( _ ByVal hHook As Long) _ As Long Private Declare Function SendDlgItemMessage _ Lib "user32" Alias "SendDlgItemMessageA" ( _ ByVal hDlg As Long, _ ByVal nIDDlgItem As Long, _ ByVal wMsg As Long, _ ByVal wParam As Long, _ ByVal lParam As Long) _ As Long Private Declare Function GetClassName _ Lib "user32" _ Alias "GetClassNameA" ( _ ByVal hWnd As Long, _ ByVal lpClassName As String, _ ByVal nMaxCount As Long) _ As Long Private Declare Function GetCurrentThreadId _ Lib "kernel32" () _ As Long 'Constants to be used in our API functions Private Const EM_SETPASSWORDCHAR = &HCC Private Const WH_CBT = 5 Private Const HCBT_ACTIVATE = 5 Private Const HC_ACTION = 0 Private hHook As Long Public Function NewProc(ByVal lngCode As Long, _ ByVal wParam As Long, _ ByVal lParam As Long) As Long Dim RetVal Dim strClassName As String, lngBuffer As Long If lngCode < HC_ACTION Then NewProc = CallNextHookEx(hHook, lngCode, wParam, lParam) Exit Function End If strClassName = String$(256, " ") lngBuffer = 255 If lngCode = HCBT_ACTIVATE Then 'A window has been activated RetVal = GetClassName(wParam, strClassName, lngBuffer) If Left$(strClassName, RetVal) = "#32770" Then 'Class name of the Inputbox 'This changes the edit control so that it display the password character *. 'You can change the Asc("*") as you please. SendDlgItemMessage wParam, &H1324, EM_SETPASSWORDCHAR, Asc("*"), &H0 End If End If 'This line will ensure that any other hooks that may be in place are 'called correctly. CallNextHookEx hHook, lngCode, wParam, lParam End Function '// Make it public = avail to ALL Modules '// Lets simulate the VBA Input Function Public Function InputBoxDK(Prompt As String, Optional Title As String, _ Optional Default As String, _ Optional Xpos As Long, _ Optional Ypos As Long, _ Optional Helpfile As String, _ Optional Context As Long) As String Dim lngModHwnd As Long, lngThreadID As Long '// Lets handle any Errors JIC! due to HookProc> App hang! On Error GoTo ExitProperly lngThreadID = GetCurrentThreadId lngModHwnd = GetModuleHandle(vbNullString) hHook = SetWindowsHookEx(WH_CBT, AddressOf NewProc, lngModHwnd, lngThreadID) If Xpos Then InputBoxDK = InputBox(Prompt, Title, Default, Xpos, Ypos, Helpfile, Context) Else InputBoxDK = InputBox(Prompt, Title, Default, , , Helpfile, Context) End If ExitProperly: UnhookWindowsHookEx hHook End Function Sub TestDKInputBox() Dim x x = InputBoxDK("Type your password here.", "Password Required") If x = "" Then End If x <> "yourpassword" Then MsgBox "You didn't enter a correct password." End End If MsgBox "Welcome Creator!", vbExclamation End Sub وتنادي الكود هكذا Dim pwd As String pwd = InputBoxDK("Please Enter Password Below!", "Database Administration Security Form.") 'If no password was entered. If pwd = "" Then MsgBox "You didn't enter a password! You must enter password to 'enter the Administration Screen!" _ , vbInformation, "Security Warning" End If جعفر 23.PassWordBox.mdb.zip
  5. حيا الله الشباب ايش رايك في كلمة سر متغيرة يعني مافي داعي تخاف احد يشوفها ، لأنها تتغير دائماً كل دقيقة استعمل هذا الكود مثلاً: p1 = InputBox("insert Password", Format(Now(), "dddd dd-mm-yyyy hh:mm:ss am/pm")) p2 = Format(Hour(Now()) + Minute(Now()), "0000")' & "," & Format(Day(Now()) + Month(Now()), "0000") 'MsgBox Format(Now(), "dddd dd-mm-yyyy hh:mm:ss am/pm") & vbCrLf & _ Format(Hour(Now()) + Minute(Now()), "0000") & "," & Format(Day(Now()) + Month(Now()), "0000") If p1 = p2 Then MsgBox "OK" Else MsgBox "NG" End If كلمة السر هي: تجمع الساعة في الوقت الحالي (الساعة نظام 24 ساعة) + الدقيقة ، والجواب يكون بصيغة 4 ارقام ، مثلا الساعة الآن 5 العصر و26 دقيقة ، اولا نحول الساعة الى نظام 24 ساعة: 5+12 = 17 17 + 26 = 43 اذاً كلمة السر هي 0043 وطبعا تقدر انك تغير الكود وتدخل اول حروف اليوم مثلا و ..... جعفر
  6. انا قلت لك: وبدل ما تساعدنا وتسهل علينا بقاعدة بياناتك ، اضطررت ان اعمل قاعدة بيانات خاصة لك ، فقط لأوضح ، بعد التجربة ، اتضح ان هذا هو الكود الصحيح: call Form_Mfrm.Btn2_Click لاحظ في الصورة التالية: عندي نموذج رئيسي اسمه frm_1 والزر الذي عليه يعطي الرسالة الموضحة ، يوجد نموذج فرعي sfrm_1 داخل هذا النموذج ، ولما نضغط على الزر فيه ، فانه يطلق رسالة زر frm_1. الى هنا والكود حقك يشتغل ويتوقف ، ولن يشتغل على الخطوات التالية اما الان ، فخلي النموذج frm_1 مفتوحا او مغلقا ، افتح frm_2 ، واضغط على الزر ، فانه سيطلق رسالة زر frm_1 كذلك والكود في sfrm_1 و frm_2 هو نفسه بدون اي تغيير ، وهو الذي وضحته لك في اعلى هذه المشاركة. Private sub معناه ان الكود بداخل هذا الـ sub خاص بهذا النموذج فقط ، ولا يستطيع اي نموذج آخر ان يرى محتواه ، Public sub معناه انه يسمح لجميع النماذج ان ترى الكود داخل هذا الـ sub ، واستعماله ، سواء كان النموذج مفتوحا او مغلقا جعفر 22.Click_Main_from_Sub.mdb.zip
  7. وعليكم السلام شباب ، ممكن ادلو بدلوي 1. يجب ان تحول SUB الزر من Private الى Public: من Private Sub Btn2_Click() الى Public Sub Btn2_Click() بعدين تقدر تناديه هكذا: call Forms!Mfrm!Form_Btn2_Click وطبعا الكود غير مجرب بالدقة ، لأنه ما عندنا شئ نقدر نجربه عليه جعفر
  8. تفضل طريقتين لعرض الصور: في النموذج نادي التقرير هكذا: DoCmd.OpenReport "rpt_Image2", acViewPreview وفي التقرير ، على حدث الطباعة ، عندك الاختيارين: Private Sub Detail_Print(Cancel As Integer, PrintCount As Integer) 'but why do this, when we can read the info directly from the Form, 'this is a much faster way Me.ImageFrame.PictureData = Forms!frm_1!ImageFrame.PictureData End Sub او Private Sub Detail_Print(Cancel As Integer, PrintCount As Integer) 'we can read the picture from the File again, this way Me.ImageFrame.Picture = Application.CurrentProject.path & "\Photos\" & Forms!frm_1!no & ".jpg" End Sub وانا افضل الطريقة الاولى ، لأننا نقرأ الصورة من النموذج مباشرة ، بينما في الطريقة الثانية ، فاننا نطلب الصورة من مجلد الكمبيوتر (يعني انت طلبتها مرة للنموذج ، والان تطلبها للتقرير ) جعفر 21.طباعة.zip
  9. وعليكم السلام أخي جرب المرفق في الرابط التالي ، وهو يصدر البيانات للاكسل كما تريد: http://www.officena.net/ib/index.php?showtopic=58001 جعفر
  10. حياك الله أخي عبدالفتاح ما تغلى عليكم بس للأسف أخينا abenjalo ما قدر يستفيد منها سأعمل محاولة جديدة ، لعله يفي جعفر
  11. وعليكم السلام أخي حاولت اساعدك ، ولكن مرفقك ما كان فيه بيانات ولا كان فيه مثال اقدر اطبقه عليه كود حساب الفرق بين تاريخين (موجود في الاكسس ، اذا ضغطت على F1 وانت في VBA): Function YMDDif(sDate1, sDate2) 'sdate1 earliest date sdate2 later Dim iYear As Integer Dim iMonth As Integer Dim iDay As Integer Dim dInterim1 As Date iMonth = DateDiff("m", sDate1, sDate2) If Day(sDate1) > Day(sDate2) Then iMonth = iMonth - 1 End If dInterim1 = DateAdd("m", iMonth, sDate1) iDay = DateDiff("d", dInterim1, sDate2) D = iDay M = iMonth Mod 12 y = iMonth \ 12 YMDDif = CStr(y) & " Years " & CStr(M) & " months " & CStr(D) & " days" End Function جعفر
  12. يعني المرفق اللي وضعته لك في مشاركتي السابقة ما افادك؟ جعفر
  13. وعليكم السلام ورحمة الله وبركاته اعرض عليك عمل أخي علاء ابوالعلا (الله يعطيه الصحة والعافية ، ورحم الله والديه دنيا وآخرة ان شاء الله ) ، من منتدى الفريق العربي للبرمجة ، بإضافات مني والعمل هو عبارة عن التنقل بين السجلات بعدد معين من السجلات في كل ضغطة زر: المربع رقم 1 هو من عمل أخي علاء ، والمربع رقم 2 من عملي ، مقتبسا فكرة أخي علاء: عملت نموذج مستمر ، واردت السجلات تنزل او تصعد صفحة كاملة (مثل Scroll up down) بطول النموذج ، وهذه النتيجة: إضغط على الصورة للحركة: ولفهم الكود ، رجاء ملاحظة الارقام: ومقارنتها بهذه الاسطر من الكود: وهذا هو الكود: Private Sub cmd_Next_Click() Form_Title_Bar_Height = 405 Form_Navegation_Bar_Height = 405 Call MoveScroll((Me.WindowHeight - Me.FormHeader.Height - (Form_Title_Bar_Height + Form_Navegation_Bar_Height))) End Sub Private Sub cmd_Pre_Click() Form_Title_Bar_Height = 405 Form_Navegation_Bar_Height = 405 Call MoveScroll(-(Me.WindowHeight - Me.FormHeader.Height - (Form_Title_Bar_Height + Form_Navegation_Bar_Height))) End Sub Public Sub MoveScroll(Distance As Long) Me.GoToPage 1, , Distance End Sub جعفر 267.move 10 rec up down.mdb.zip
  14. وعليكم السلام جرب ، غير نوع النموذج ، من متواصل الى ورقة بيانات جعفر
  15. وعليكم السلام أخي ابا عمرو احسن الله عزاكم ان شاء الله ، واحسن الله اليه ولا اراكم مكروه بعده ان شاء الله انا لله وانا اليه راجعون جعفر
  16. تفضل بطريقتين وهذا الكود للطريقتين: Option Compare Database Private Sub Form_Load() '1 '-- Dim rst As DAO.Recordset Set rst = CurrentDb.OpenRecordset("student_count") Me.counter1 = rst!Count_name_ rst.Close: Set rst = Nothing '2 '-- Me.counter2 = DLookup("[Count_name_]", "student_count") End Sub جعفر 18.count student.accdb.zip
  17. السلام عليكم 1. لماذا الاوفيس 2013 أفضل؟ انا لازلت استخدم الاوفيس 2010 ، جربت الاكسس 2013 ، وبعد تضييع وقت طويل ، حذفته ورجعت للاكسس 2010 ، كفاية في الاكسس 2013 انك في VBA لما تضغط F1 ، ما يعطيك المساعدة المعهودة و.... ولا في شئ جديد اللي نقدر نستفيد منه كمبرمجين ، ولا الوان النماذج وبقية الكائنات فيه اللي تقدر تميز بينهم لما مفتوحين ، ولا ولا .... ولا تزال القائمة طويله. 2. مايكروسوفت تنصح بتنصيب الاوفيس 32 بت على جميع الكمبيوترات ، سواء الوندوز 32 بت او 64 بت ، والوقت الوحيد الذي تنصح فيه بتنصيب الاوفيس 64 بت هو عندما يكون عندك كمية كبيرة من المعلومات ، والتي يتباطأ فيها الاوفيس 32 بت. جعفر
  18. السلام عليكم عموما ، نعم ممكن استيراد ملف اكسل إلى الجداول مباشرة ، بعد تنظيم الأعمدة في الاكسل لتكون مطابقة لأعمدة الجدول ، ولكن بعض الأوقات العلاقات بين الجداول في برنامجك لا تسمح ، حيث يكون حقل في هذا الجدول معتمدا على حقل آخر في جدول آخر!! على العموم ، جرب وشوف :-) جعفر
  19. أخي ابا عمرو هل تم حل مشكلتك؟ حياك الله أخي انت الله هداك دخلت في تعليقك كأنك صاحب الموضوع ، فدوختني على العموم ، تفضل ، اشرح اللي تريده (لا شرحك اللي كتبته غير واضح وغير كافي) ، اشرح باسماء النماذج والحقول اللي عندك ، وكيف اقدر اشوف الرسالة اللي تقول عنها ، وارفق قاعدة بياناتك جعفر
×
×
  • اضف...

Important Information