بحث مخصص من جوجل فى أوفيسنا
![]()
Custom Search
|
-
Posts
7120 -
تاريخ الانضمام
-
Days Won
208
نوع المحتوي
المنتدى
مكتبة الموقع
معرض الصور
المدونات
الوسائط المتعددة
كل منشورات العضو ابو جودي
-
ارجع القيم الخالية الى 0 من خلال دالة NZ يعنى مثلا NZ([FieldNameA],0)*NZ([FieldNameB],0) وان تعذر عليكم التطبيق ضع مثالكم الذى يحتوى على تلك المشكلة
-
جعل كل جهاز يتحكم فى الطابعات المثبته عليه فقط
ابو جودي replied to UserUser2's topic in قسم الأكسيس Access
تم الرد فى هذا الموضوع -
فتح نموذج الفاتورة اكثر من مرة واحدة في نفس الوقت
ابو جودي replied to عبد الله قدور's topic in قسم الأكسيس Access
على سبيل المثال حاولت تمرير اسم النموذج من خلال متغير Dim x 'As Object x = Form_frmInvoice Set frm = New x ولن فشلت التجربة -
فتح نموذج الفاتورة اكثر من مرة واحدة في نفس الوقت
ابو جودي replied to عبد الله قدور's topic in قسم الأكسيس Access
السلام عليكم مشاركة مع اساتذتى العظماء هذه افكارى المتواضعة هذه الاكواد داخل موديول Public clnfrmName As New Collection Public frm As Form Public intCounterOpenForm As Integer Dim xPos As Integer Dim yPos As Integer Dim lngCount As Long Dim lngI As Long Function OpenAForm() Set frm = New Form_frmInvoice frm.Visible = True intCounterOpenForm = intCounterOpenForm + 1 frm.Caption = frm.Name & "(" & intCounterOpenForm & ")" clnfrmName.Add Item:=frm, Key:=CStr(frm.Name & "(" & intCounterOpenForm & ")") xPos = xPos + 300 yPos = yPos + 300 frm.Move xPos, yPos Set frm = Nothing End Function Function CloseAllForm() lngCount = clnfrmName.Count For lngI = 1 To lngCount clnfrmName.Remove 1 Next intCounterOpenForm = 0 xPos = 0 yPos = 0 End Function كنت اتمنى تطوير اخراج الفكرة بشكل عملى اكثر حتى لا يرتبط الكود باسم النموذج على ان يكون كود مرن ويتم استدعاءه بالشكل التالى OpenAForm("اسم النموذج المراد فتحه اكثر من مرة") ولكن عجزت بصراحة فى هذا السطر Set frm = New Form_frmInvoice Open Form more than once.accdb -
وفى هذا الموضوع تجد اجابة هذا السؤال باستفاضة
-
التقيد بالقيم وعدم اضافة بيانات داخل مربع تحرير وسرد
ابو جودي replied to بلال اليامين's topic in قسم الأكسيس Access
-
استفسار عن: اغلاق قاعدة بيانات مع اغلاق النموذج
ابو جودي replied to Mohammed Alsakka's topic in قسم الأكسيس Access
استخدم الكود الاتى Private Sub Form_Close() On Error GoTo QuitApp_Err DoCmd.Quit acSave QuitApp_Exit: Exit Sub QuitApp_Err: MsgBox Error$ Resume QuitApp_Exit End Sub -
اتفضل 1437.موسسة1 V2.accdb
-
اختفاء التقارير بعد تحزيم البرنامج بaccess run time
ابو جودي replied to أبو امين's topic in قسم الأكسيس Access
جرب عمل الاتى فى خصائص التقارير pop up=yes , modal=yes -
اين المرفق
-
السلام عليكم ورحمة الله وبركاته مشاركة مع اساتذتى الافاضل كنا قد تطرقنا الى موضو ع شبيه لذلك وهذا >---->> رابط الموضوع واليكم المرفق بتطبيق الكود من الموضوع الذى تم التنويه عنه بعاليه والشرح تفصيلا موضوح بالموضوع مدة عمل الموظف.accdb
-
سبحان الله اولا : فى هذا الصرح الشامخ تقدم المعلومات مجانا ثانيا : فى هذا المنتدى اهل الجود والكرم سواء كانوا اساتذة علماء واجلاء او خبراء او هواة او طلاب علم ثالثا : انت لا تعلم شئ عن ظروف الناس التى قد تسطيع تقديم المساعدة لك او لغيرك منهم الطاعن فى السن ومنهم المريض الذى قد يمنعه المرض احيانا من التواصل وتقديم يد العون ومنهم المشغول بعمله والذى هو اساس لقمة العيش بالنسبة له ولاولاده واهل بيته و و و و و................... الخ رابعا : معظم المواضيع التي لا يكون فيها رد معناه إما الموضوع صعب وإما ان الشرح مافيه تفصيل وامثلة فأنا مثلا اذا وجدت ان السؤال غير واضح اذهب الى موضوع آخر لكي استفيد من وقتي للأسف ارى بعض الاسئلة وكأن السائل يتمنن علينا بالمعلومة او يتهمنا بالتجاهل له بينما يجب ان يساعدنا بالتفاصيل حتى نساعده بالجواب وخذها قاعده اذا لم يتم الرد على سؤالك خلال يومين ووجدت اكثر من 10 قراءات فيجب عليك اعادة عرض السؤال بطريقة مختلفه وبشرح افضل وبمثال وهذا ما اقعله اذا وضعت سؤال فى المنتدى كما اننى على سبيل المثال والحمد لله تعالى اولا واخيرا على كل حال فى تلك الفترة اعانى من مشكلة عضوية لا تسمح لى بالتواجد والمشاركة كما كنت من قبل واذا دخلت الى المنتدى قد ادخل لاننى اريد شيئا معينا يخدم عملى والذى هو مصدر دخلى الاول والاخير و الوحيد واكون مضطرا للدخول وللعلم علمى لا علافة له بالبرمجة واحاول جاهدا فى تلك الدقائق القليلة تقديم المساعدة بقدر الامكان بالقاء نظرة سريعة على التساؤلات والتى احسها بسيطة ولن تستغرق منى وقت وجهد تظرا لحالتى الصحية اولا ولضيق وقتى ثانيا لا ابخل فى المشاركة وتقديم العون وعلى العموم جزاكم الله خيرا على وصفكم ونعتكم لرواد المنتدى والعرب جميعا بتلك الصفات الغير حميده ولكن بالاصالة عن نفسي وبالنيابة عن اخوانى رواد المنتدى العرب نسامح لوجه الله ونتصدق بأعراضنا لله تعالى لان اخلاقنا لا تسمح بغير ذلك وان وجدنا لك مسألة نسطيع المساعدة وتقديم يد العون فيها لن نبخل ولن نتردد ولن نقابل اسائتكم بمثلها لاننا لا نريد منكم او من غيركم جزاء او شكرا الكل هنا وانا اقلهم نبتغى وجه الله تعالى فقط ان اردتم التواجد بيننا اهلا بكم وان لم يكن لكم ما شئتم ملاحظة راجع ردود الاساتذة والخبراء تجد ان الاجابات لا تقتصر على قدر السؤال ولكن تقدم باستفاضة وبكرم وسخاء تم اغلاق الموضوع منعا لكثرة الكلام والقيل والقال .... ولكن رجاء لا تسئ الى اناس لا يستحقون ذلك
- 1 reply
-
- 9
-
-
الله يسلمك اعتذر عن طول الغياب ظروف عملى تحتم على ذلك فى الفترة الراهنة لم اضع الرد بوضع الرابط من أجل تأكيد انها فكرة قديمة او مكررة ولكن محور الفكرة فى اسنخدام اليونيكود هو الهدف اعرف ولكن فى الموضوع القديم تم وضع روابط لافكار اخرى وتم التطرق لموضوع الفرز والتصفية واستخدام افكار اخرى فكان الهدف اثراء الموضوع بصراحة كنت مستعجل وعاوز اقفل وكسلت اكتب كل الكلام اللى فات كل ده 😁 بس خوفت حد يفهمنى غلط ويزعل لان زعل اخوانى غالى جدا جدا جدا على ولذلك قررت البقاء والتوضيح رغم ضيق وقتى
-
ضبط وقت وتاريخ الجهاز من اكسيس عند الفتح
ابو جودي replied to محمد احمد لطفى's topic in قسم الأكسيس Access
اولا ضع الكود الاتى فى وحدة نمطية Public Function ChnageDateFormat(Optional dtDateFormat As String = "dd/MM/yyyy") Shell "cmd.exe /c REG ADD ""HKEY_CURRENT_USER\Control Panel\International"" /v sShortDate /d """ & dtDateFormat & """ /F", vbHide End Function ثانيا طبق الكود الاتى بعد اسنخدام الاداة فى قاعدتك التى اشرت اليها بذلك تتخطى عقبة تنسيق التاريخ ChnageDateFormat() --------------------------------- فى حالة اردتم تغيير التنسيق الى تنسيق أخر مثلا yyyy/MM/dd ChnageDateFormat("yyyy/MM/dd") ملاحظة الحرف M الدال على تسيق الشهر لابد ان يكون Capital Letter اى يكتب كبير M وليس صغير مثل m -
رفع نسخة احتياطية الى كوكل درايف - رفع ملف الى Google Drive
ابو جودي replied to SEMO.Pa3x's topic in قسم الأكسيس Access
تم تعديل المرفق ليسهل الاحتفاظ ببيانات جوجل داخل جدول وذلك لاضفاء المرونة فى حالة اردتم تغيير بيانات جوجل ببريد اخر او تغيير اسم النسخة التى نريد رفعها او كلمة المرور بسهولة كذلك تم حمل الملفات المقدمة من قبل دكتور حسانين @SEMO.Pa3x داخل قاعدة البيانات لعدم فقدها ممكن عمل تشفير لبيانات جوجل داخل الجدول لمن يريد GoogleDriveUploader.zip -
السلام عليكم ورحمة الله تعالى وبركاته الاكواد تعتمد على احد دوال ال API للويندوز وتم مراعاة العمل على كلا من النسختين 32 , 64 بيت الكود الاول فى راس الموديول وذلك لاحضار تنسيق تاريخ الجهاز Private Const LOCALE_USER_DEFAULT = &H400 Private Const LOCALE_SSHORTDATE = &H1F ' short date format string Private Const LOCALE_SLONGDATE = &H20 ' long date format string Private Const strTblFormatDate = "tblDateFormatWindows" #If VBA7 And Win64 Then Private Declare PtrSafe Function _ GetLocaleInfo Lib "kernel32" Alias "GetLocaleInfoA" _ (ByVal Locale As Long, ByVal LCType As Long, ByVal lpLCData As String, ByVal cchData As Long) As Long #Else Private Declare Function _ GetLocaleInfo Lib "kernel32" Alias "GetLocaleInfoA" _ (ByVal Locale As Long, ByVal LCType As Long, ByVal lpLCData As String, ByVal cchData As Long) As Long #End If Public Function GetDateFormatMyWin() Dim strLocale As String Dim lngRet As Long Dim strMsg As String strLocale = Space(255) lngRet = GetLocaleInfo(LOCALE_USER_DEFAULT, LOCALE_SSHORTDATE, strLocale, Len(strLocale)) strLocale = Left(strLocale, lngRet - 1) GetDateFormatMyWin = strLocale End Function الكود الثانى التأكد من وجود جدول لحفظ تنسيق تاريخ الجهاز Function ifTableExists(tblName As String) As Boolean If DCount("[Name]", "MSysObjects", "[Name] = '" & tblName & "'") = 1 Then ifTableExists = True End Function الكود الثالث جلب البيانات لتسيق تاريخ الجهاز الذى تم حفظه بالجدول Public Function DateFormatwinSaved() As String DateFormatwinSaved = Nz(DLookup("DateFormatWindows", strTblFormatDate), "") End Function الكود الرابع تغيير تسيق التاريح لجهاز الحاسوب ولكن اولا تخزين القيم الاصلية لتنسيق تاريخ الحاسوب داخل جدول لمن يريد استرجاع التسيق الاصلى مرة اخرى Public Function ChnageDateFormat(Optional dtDateFormat As String = "dd/MM/yyyy") If GetDateFormatMyWin() = dtDateFormat Then Exit Function Else Dim mySQL As String If ifTableExists(strTblFormatDate) = False Then DoCmd.SetWarnings False mySQL = "CREATE TABLE " & strTblFormatDate mySQL = mySQL & "([ID] counter," & "[DateFormatWindows] text," & "CONSTRAINT [Index1] PRIMARY KEY ([ID]));" DoCmd.SetWarnings False: DoCmd.RunSQL mySQL: DoCmd.SetWarnings True mySQL = "INSERT INTO " & strTblFormatDate mySQL = mySQL & "( DateFormatWindows )" mySQL = mySQL & " SELECT " mySQL = mySQL & " ('" & GetDateFormatMyWin() & "') " DoCmd.SetWarnings False: DoCmd.RunSQL mySQL: DoCmd.SetWarnings True ElseIf ifTableExists(strTblFormatDate) = True Then If DCount("*", strTblFormatDate) = 0 Then mySQL = "INSERT INTO " & strTblFormatDate mySQL = mySQL & "( DateFormatWindows )" mySQL = mySQL & " SELECT " mySQL = mySQL & " ('" & GetDateFormatMyWin() & "') " DoCmd.SetWarnings False: DoCmd.RunSQL mySQL: DoCmd.SetWarnings True ElseIf DCount("*", strTblFormatDate) > 0 Then mySQL = "UPDATE " & strTblFormatDate mySQL = mySQL & " SET " & strTblFormatDate mySQL = mySQL & ".DateFormatWindows = " & Chr(34) & GetDateFormatMyWin() & Chr(34) & ";" DoCmd.SetWarnings False: DoCmd.RunSQL mySQL: DoCmd.SetWarnings True End If End If Shell "cmd.exe /c REG ADD ""HKEY_CURRENT_USER\Control Panel\International"" /v sShortDate /d """ & dtDateFormat & """ /F", vbHide End If End Function الكود الاخير ارجاع التنسيق مرة اخرى للحاسوب والذى تم الاحتفاظ به داخل الجدول Public Function ReturnOldDateFormatWin() If GetDateFormatMyWin() = DateFormatwinSaved() Then Exit Function Else Shell "cmd.exe /c REG ADD ""HKEY_CURRENT_USER\Control Panel\International"" /v sShortDate /d """ & DateFormatwinSaved & """ /F", vbHide End If End Function طيب فى النهاية يفضل استخدام ماكرو AutoExec والذى وظيفته تنفيذ إجراء او اجراءات معينة في كل مرة تبدأ فيها تشغيل قاعدة بيانات Access وفى الماكرو من خلال RunCode نكتب اسم الوظيفة التى نريد استدعاؤها وهى ChnageDateFormat() الان عند تشغيل القاعدة يتم فحص تنسيق تاريخ الجهاز وان كان مساويا للتنسيق الموجود فى الفانكشن ChnageDateFormat والذى وضعته افتراضيا من خلال Optional dtDateFormat As String = "dd/MM/yyyy" يتم تجاهل الامر وفى حالة الاختلاف يتم تغيير تنسيق تاريخ الجهاز الى هذا النسيق الذى تم الاعلان عنه فى رأس الوظيفة dd/MM/yyyy ولاضفاء المرونة قمت بتعريف متغير التنسيق على انه اختيار ووضعت الاختيار المفضل dd/MM/yyyy فى حالة اردتم تغيير التنسيق الى تنسيق أخر مثلا yyyy/MM/dd كل ما عليكم هو استدعاء الوظيفة فى الماكرو بالشكل الاتى ChnageDateFormat("yyyy/MM/dd") ان شاء الله بهذا الكود لن تواجهوا مستقبلا مشاكل اختلاف تنسيق التاريخ فى دوال المجال ولا اخطاء فى تسجيل التواريخ .. بلا ..بلا ..بلا.................... الخ الخ طيب لو اردتم ارجاع التنسيق الافتراضى الذى كان قبل ذلك والذى احتفظنا به فى الجدول كل ما عليكم هو استدعاء الوظيفة الاتية عند الاغلاق لقاعدة البيانات ReturnOldDateFormatWin() انتهى الشرح ارجوا لكم تجربة الاستمتاع بتلك الافكار وهذه التجربة الافكار والاكواد وطرح التصور حصرى من بنات افكارى وانا مجهد جدا جدا جدا قد يمكن اختصار الاكواد واختزالها ولم انتبه لذلك مثلا من شدة الارهاق فلا تؤاخذونى فى ذلك .. و ليدلوا كل بدلوه فى ذلك الامر ... تم التجربة على ويندوز 10 - 64 بيت ولا ادرى هل يعمل على باقى واختلاف نسخ الويندور ام لا انتظر الرد من حضراتكم بنتائج تجاربكم ووضع اقتراحاتكم
-
بالمناسبة فى الحل التانى انت اشرت الى IDmvmnt Mvmnt 1 انقطاع 2 مباشر يعنى سوف تقوم باستخدام حقول رقمية واخرى نصية مما يستوجب مستقبلا الربط بينهما بالاستعلامات او العلاقات او مجال الدوال ليش تصعب السهل وفى مرفق نوع الحقل رقم Long وليه تحجز 4 Byte بحالهم علشان الارقان 1 , 2 , 3 لما ممكن تستخدم 2 Byte بس لو كان الحقل Integer , Boolean انصحك راجع هذا الدرس
-
اسال عن التعقيدات تجد الشرح ومنه تتعلم بمرور الوقت وهذه كانت اولى خطواتى هنا ولازلت ان تعثرت فقط نصيحة لا تضع اسالة نظرية ارفق قاعدة بعدد قليل من البيانات ودع عالم الرياضيات فى مخيلتك دائما عند التصميم والتفكير الجواب يأتى بناء على معطى , مجهول , ثابت وتذكر جيدا هذه كلمات من ذهب ضعها نصب عينيك دائما وابدا
-
طيب وليه كل ده اضف الحقول الاتية فى الجدول الرئيسي منقطع - مفصول - موقوف على ان تكون من النوع Yes/No منقطع = yes مفصول = yes موقوف = yes وسوى استعلام ومرر اليه القيمى المعلمه ليقوم بعمل الفلتر تبعا للحالة الممرة او الابسط سوى عدد استعلامات تبعا لعدد الحالات وفى المعيار اختر حقل الفتر yes تبعا لكل حالة الموضوع ابسط من البساطة
-
الأسس العلمية لقواعد البيانات ( للخبير : InternetMaster )
ابو جودي replied to أبو امين's topic in قسم الأكسيس Access
وبخصوص العام الماضى والذى لا ادرى عنه ولا اعلم طلما تعامل الله فى اخوانك وفى نفسك أعرض عمن اساء اليك ولا تعر لكلماته اى اهتمام وانا دائما اذكر نفسي بتلك الكلمات عندما احس بإساءة حتى الجم نفسي واهدئ اعصابى و حتى لا يتغلب على الشيطان او هوى نفسى وهواناها لأقابل اى اساءة بمثلها 👇 كن في الحياة كشآرب القهوة !.. يستمتع بهــا رغم سوآدها ومرآرتهآ وتذكر قول الخشب للمسمار: لقد كسرتني وألمتني فرد المسمار قائلاً : لو كنت رأيت الدق فوق رآسي لكنت عذرتني فليعذر النآس بعضهم البعض فكل شخص لآيعرف ظروف الآخر إذآ إستمريت بـ هذه الحسآسية الزآئدة . . والحزن علي كل تصرف , فـ إنك ستحوّل حيآتك إلي جحيم ! تذكَر .. أن النآس تختلف في تفكيرهآ وطبآعهآ فما ترآه أنت جآرحاً .... قد يرآه غيرك أمراً تآفهاً هنآك موآقف مؤلمة قد تتعرض لهآ ولكن , إلي متي تجتر الموقف وتقف عليه ! إن أصآبك الألم ! عشه في لحظته .. ثم تجآوزه وكآفح من أجل تجاهله أشغل نفسك .. تنآسآه حتي يغيب عن ذآكرتك ! إحفظ لسانك أيها الإنسان لا يلدغـنـّك .. إنه ثعبان فكم في المقابرمن قتيل لسانه كانت تهاب لقاءه الشجعان وإذا حار أمرك في معنيين ولم تدرِ أين الخطا والصواب فخالف هواك فإن الهوى يقود النفوس إلى ما يعاب ولا تحاسب النآس عندما يخطئوآ ولا تذهب لغيرهم لتشكوا منهم .. لسانك لا تذكر به عورة امرئ فكلك عـورات وللــناس ألـســــــن وعينك إن أبدت إليك من الناس مساوءً فقل يا عيني للنـاس كذلك أعين واقضى حاجة المحتاج حتى لو كان اليك مسيئاً فأفضل الناس مابين الورى رجل تقضى على يده للناس حاجات لا تمنعن يد المعروف عن أحد ما دمت مقتدرا فالسعد تارات واشكر فضائل صنع الله إذ جعلت إليك لا لك عند الناس حاجات مهما إختفت من حياتك أمور ظننت أنها سبب سعادتك ! تأكد أن اللـه صرفها عنك قبل ان تكون سبباً في تعاستك عليك بتقوي الله ان كنت غافلاً أنظر لحالك كيف تعصاه ويأتيك بالارزاق من حيث لا تدري فكيف تخاف الفقر والله رازقاً فقد رزق الطير و الحوت في البحر و من ظن ان الرزق يأتي بقوة ما اكل العصفور شيئاً مع النسر تزول عن الدنيا فانك لا تدري اذا جنّ عليك الليل هل تعيش الي الفجر فكم من صحيح مات من غير علة و كم من سقيم عاش حيناً من الدهر وكم من فتي امسي و اصبح ضاحكاً وأكفانه في الغيب تنسج وهو لا يدري فمن عاش الفاً و الفيـــــــــــــن فلا بد من يوم يسير الـــــي القبـــــــــــر صافح وسامح .. ودع الخلق للخالق .. {فأنت****** .. وهم****** ..ونحن****** .. كلنا راحلوون إفعل الخير مهما استصغرته .. فلآ تدري أي حسنة تدخلك الجنة