-
Posts
2166 -
تاريخ الانضمام
-
تاريخ اخر زياره
-
Days Won
55
نوع المحتوي
المنتدى
مكتبة الموقع
معرض الصور
المدونات
الوسائط المتعددة
كل منشورات العضو Moosak
-
ما وجدت الرابط بين رقم العقد والتواريخ المذكورة ورقم الشقة والمستأجر .. !! كيف أخرجتها ؟
-
ربط فولدر معين بقاعدة بيانات مقسمة جداول ونماذج
Moosak replied to figo82eg's topic in قسم الأكسيس Access
حياك الله أخي @figo82eg 🙂 الحل هو في دالة تحضر لك رابط قاعدة البيانات سواء كانت مقسمة أو غير مقسمة .. وهذه هي الدالة : Public Function BECurrentPath() On Error GoTo ErrHandler Dim FullLinkedPath As String Dim LinkedDBPath As String FullLinkedPath = Nz(DLookup("Database", "MSysObjects", "Type=6"), "") If FullLinkedPath <> "" Then LinkedDBPath = Left(FullLinkedPath, InStrRev(FullLinkedPath, "\") - 1) BECurrentPath = LinkedDBPath & "\" Else BECurrentPath = CurrentProject.Path & "\" End If ErrHandler: If Err.Number = 0 Then Exit Function Else MsgBox "Error Number : " & Err.Number & " :::: " & Err.Description End Function وسيتغير الكود الذي استخدمته أنت للوصول إلى الملف هكذا : File_Path = BECurrentPath & "CONTACT\" حسابات.rar -
إعرف مواصفات جهازك دعوة للتجربة دعوة للتطوير
Moosak replied to محمد احمد لطفى's topic in قسم الأكسيس Access
ما شاء الله تبارك الرحمن 🙂 شكرا جزيلا أخي @محمد احمد لطفى .. جمعت كل أصحابنا المطلوبين في فورم واحد 😄 بس يارت لو تعمل حساب الأجهزة ذات النواة 64 بت .. لأن كثير من الدوال تشتغل على ال 32 بت فقط 🙂 -
طريقة لاستخدام دالة Select Case مع CurrentProject.AllForms
Moosak replied to عمر ضاحى's topic in قسم الأكسيس Access
جرب هذا عمر 🙂 On Error GoTo HandleError Dim ObjName As String Select Case ObjName Case Is = "FrmAddNewPOTally" If CurrentProject.AllForms(ObjName).IsLoaded Then txtLPOID = Forms![FrmAddNewPOTally]![cbIDPO] If DLookup("[LPOID]", "[TblChicPO]", "[LPOID] =" & [Forms]![FrmAddNewPOTally]![cbIDPO] & "") = txtLPOID Then Call LodInfo cmdEdit.Enabled = True Else MsgBox "DataBase Not Have Any Information For List Document For PO ID# " & txtLPOID, vbCritical, "Worning" cmdSave.Enabled = True End If End If Case Is = "FromPoTallySearch" If CurrentProject.AllForms(ObjName).IsLoaded Then txtLPOID = Forms![FromPoTallySearch]![SubFromPoTally].Form![txtIDPO] If DLookup("[LPOID]", "[TblChicPO]", "[LPOID] =" & [Forms]![FrmAddNewPOTally]![cbIDPO] & "") = txtLPOID Then Call LodInfo cmdEdit.Enabled = True Else MsgBox "DataBase Not Have Any Information For List Document For PO ID# " & txtLPOID, vbCritical, "Worning" cmdSave.Enabled = True End If End If End Select HandleExit: Exit Sub HandleError: If Err.Number = 0 Then Exit Sub ElseIf Err.Number = 2467 Then Exit Sub ' ElseIf Err.Number = 2478 Then ' Exit Sub Else MsgBox Err.Number & vbNewLine & vbNewLine & Err.Description End If Resume HandleExit -
كيفه يتم تثبيت البرنامج المصم علي اكسس علي الكمبيوتر بدون اكسس
Moosak replied to Abdullah Aly's topic in قسم الأكسيس Access
طبع البرنامج الذي ذكره والدنا العزيز المهندس قاسم @Eng.Qassim هو عبارة عن أداة أو إضافة مجانية مقدمة من شركة مايكروسوفت وظيفتها تشغل ملفات الأكسس بدون الحاجة لشراء البرنامج الأصلي .. وطريقة عملها هو تنصيبها في الجهاز كما تنصب أي برنامج آخر .. ومن ثم تشغل ملفات الأكسس عندك عن طريقها .. ومهمتها تقتصر على تشغيل البرنامج فقط دون القدرة على التحكم في تصميم البرنامج وتعديله .. أما بخصوص النسخ الاحتياطي فهذا حكاية ثانية تماما .. يمكنك أن تبحث بعبارة (النسخ الاحتياطي) في المنتدى وستجد عشرات المواضيع التي تتكلم عنه 🙂 أنظر هنا مثلا : https://www.officena.net/ib/search/?&q=النسخ الاحتياطي&type=forums_topic&quick=1&nodes=89&search_and_or=and&sortby=relevancy -
طريقة لاستخدام دالة Select Case مع CurrentProject.AllForms
Moosak replied to عمر ضاحى's topic in قسم الأكسيس Access
وعليكم السلام ورحمة الله وبركاته أستاذ عمر 🙂 دعني أسألك أولا : ماذا تريد من الكود أن يفعل بالضبط ؟ ثانيا : هذا السطر تحديدا يرجع لك قيمة من نوع True / False .. لذلك ينبغي من خيارات دالة الـ Select Case أن تكون إما True أو False .. يعني لو كانت True تفعل كذا ......... ولو كانت False تفعل كذا ......... وليس هناك خيار ثالث إلا أن كانت Null مثلا .. لذلك يمكنك التعويض عنها بدالة IF إن شئت 🙂 -
بما أنك لن تحتاج لإجراء أية عمليات حسابية على أرقام العقود فليس هناك حرج من جعلها بصيغة نصوص .. مثلها مثل أرقام الهواتف وغيرها .. أما إن احتجت إلى التعامل معها كأرقام فهناك دوال وطرق مختلفة لإعادتها لصيغة أرقام .. وتعتمد الإجابة على مدى حاجتك لذلك وكيف ستتعامل معها ...🙂
-
أجمل البرامج وأروعها هي اللي مصممها من عمق التخصص لطبيعة عملها وتفرعاتها 🙂
-
أعتقد أن سبب هذه المشكلة هو أن بعض العمليات الحسابية ينبغي عملها في الاستعلام وليس النموذج .. خصوصا المجاميع
-
وعليك السلام أخي @سك بابك 🙂 أنت بحاجة لجدول يجمع بين جدولي المعلمين والدورات ويكون ذو علاقة (متعدد إلى متعدد ) ثم يتم إدراجه كنموذج فرعي في نموذج المعلمين .. بعد ذلك يمكنك أن تعرف مجموعة الدورات التي يدرسها أي مدرس .. أو هذه الدورة من هم المدرسين الذين يقدمونها .. كل ذلك عن طريق الاستعلامات 🙂 SCH_DB.rar
-
اللهم اشفه شفاءا لا يغادر سقما يارب
-
أخي @ابوالعزائم .. الخيار التالي : () يوضع للمشاركة التي تحتوي على الحل الأنسب لمشكلتك التي طرحتها في الموضوع 🙂 للعلم 🙂
-
سلاسل شخابيط و أفكار ☺ : سلسلة لأفكار وطرق حماية قواعد البيانات
Moosak replied to ابو جودي's topic in قسم الأكسيس Access
طب بص كده 😏 وكمان أشرت لك في الموضوع وشوف التاريخ 😄 مع تحيات المكتبة العامرة 😙- 25 replies
-
- 1
-
-
- تشفير و تأمين
- تشفير و تامين
-
(و30 أكثر)
موسوم بكلمه :
-
سلاسل شخابيط و أفكار ☺ : سلسلة لأفكار وطرق حماية قواعد البيانات
Moosak replied to ابو جودي's topic in قسم الأكسيس Access
طبعا سبب السؤال كان أن نفس هذا الكود مر علي سابقا .. أخذته من أحد برامجك السابقة .. بل واستخدمته في برامجي للتشفير ... بس كان الكود بدون المعامل المحترم b .. 😁 .. لذلك ما عرفت أيش اللي حشره معانا في النص إلا بعد ما تفضلت بالشرح 🙂 طبعا .. طبعا .. لا شك لكن لولا شرحك لصعب على الكثيرين فهم المغزى من الكود أو كيفية استخدامه 🙂- 25 replies
-
- 1
-
-
- تشفير و تأمين
- تشفير و تامين
-
(و30 أكثر)
موسوم بكلمه :
-
وعليكم السلام ورحمة الله وبركاته أخي @مصطفى العراقي1988 🙂 هل تقصد الصفوف الفارغة تماما من أية بيانات ؟ طبعا ستحتاج لتنفيذ ذلك إلى استعلام حذف .. بحيث تكتب في معيار جميع الخلايا ( Is Null ) أو تضع هذه ="" ثم تشغل الاستعلام .. وشيء آخر أخي مصطفى ، حاول ألا تجعل أسماء الحقول أرقام فقط أو جملة تبدأ بأرقام .. وإنما أعد تسميتها هكذا مثلا : Day1 Day2 Day3 Day4 ...................... وهكذا وذلك تجنبا للمشاكل البرمجية لاحقا .. 🙂
-
أهلا بك يا @ابوالعزائم 🙂 .. شرفت المنتدى .. يا ريتك تمر على هذي النقاط للإطلاع 🙂 : *--------------------------------------------------------------------------------------------------------------------------------* قواعد المشاركة فى الموقع: اضغط هنـــــــــامن فضلك لقراءة القواعد كاملة و بصفة خاصة نؤكدعلى ما يلي 1- يمنع منعا باتا نشر أية مواد تخالف حقوق الملكية الفكرية و يرجى الابلاغ عن المشاركات المخالفة من خلال زر تقرير اسفل المشاركة 2-يجب استخدام خاصيةالبحث قبل طرح السؤال توفيرا للوقت و الجهد. 3-ضرورة كتابة عنوان واضح للموضوع يدل على محتواه ويعطي وصفاً مختصرا للسؤال. 4-ممنوع منعا باتاً كتابة عناوين سينمائية مثل عاجل ، نداء الي فلان ، الي الخبراء ، طلب مساعدة ، أريد حلا..... 5-يمكن استعجال الرد باستخدام تعبير -للرفع- و غير مسموح بالالحاح او اللوم فجميع الاعضاء يشاركون تطوعا طبقا لسعة وقتهم. ومخالفة ذلك تعرض الموضوع للحذف *--------------------------------------------------------------------------------------------------------------------------------* ولا تنسى ترفق ملفك 🙂
-
سلاسل شخابيط و أفكار ☺ : سلسلة لأفكار وطرق حماية قواعد البيانات
Moosak replied to ابو جودي's topic in قسم الأكسيس Access
طبعا أيوه 😂 .. كل حاجة 😁 لا أنا بس سؤالي الحين عن دوال التشفير .. ليش حاط المتغير الثاني الـ b ؟؟؟ أيش فائدته في الكود ؟ ولو كان حطيت شرح أو توضيح بسيط كـ كومنتس في الكود كان ريحت جميع سكان الكرة الأرضية من البحث والتحري 😅 والله يبارك لك هذي العقلية الفذة والشغل العدل 😉👌- 25 replies
-
- 2
-
-
- تشفير و تأمين
- تشفير و تامين
-
(و30 أكثر)
موسوم بكلمه :
-
نسخ قاعدة البيانات الخلفية سيكوال سيرفر من خلال واجهة اكسس
Moosak replied to tiger wanted's topic in قسم الأكسيس Access
حسب علمي البسيط عن قواعد الـ SQL أن ( برنامج إدارة قواعد بيانات SQL ) به أداة خاصة لعمل النسخ الإحتياطية للقاعدة ويتم التحكم بها من خلال البرنامج .. ولكن وجدت هذه المقالة والتي بها فكرة بديلة عن التواصل مع برنامج إدارة قواعد الـ SQL ، وهو عمل نسخة احتياطية لملف الأكسس بعد أن يتم تحويل جداول الـ SQL إلى جداول محلية (نفس جداول الأكسس) .. وهذا هو المقال 🙂 : --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- To make a backup or copy of a linked SQL database as a back-end to a Microsoft Access database, you can follow these general steps: Open your Microsoft Access database that contains the linked SQL database. Make sure that there are no users currently accessing the database, as you will need exclusive access to the database to make a backup copy. Right-click on the linked table in the Navigation pane and select "Export" from the context menu. In the "Export - Access Database" dialog box, select a location and filename for the new Access database that will contain the backup copy. In the "Export - Access Database" dialog box, check the "Export data with formatting and layout" checkbox to make a copy of the table data, or leave it unchecked if you only want to copy the table structure. Click the "OK" button to start the export process. Access will create a new database file with the same table structure and data as the linked SQL database. Note that this process only creates a backup or copy of the table data in the linked SQL database, not the entire SQL database itself. If you need to create a backup of the entire SQL database, you will need to use SQL Server Management Studio or another SQL database management tool to create a backup of the database on the server where the SQL database is hosted. --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- -
من تجربتي الشخصية .. هذه أحد الطرق لاستدعاء أحد أكواد الأكسل إلى الأكسس وهي دالة RandBetween : Public Function RandBetween2Num(Num1 As Double, Num2 As Double) As Double Dim Ex As Object Set Ex = Excel.WorksheetFunction RandBetween2Num = Ex.RandBetween(Num1, Num2) End Function هذه الدالة مستدعاه من دوال الأكسل ، لذلك يجب إضافة مكتبة الأكسل .. Microsoft Excel 16.0 Object Library في السطر التالي Ex.RandBetween(Num1, Num2) ممكن تختار دالة من دوال الأكسل لاستخدامها في الأكسس.. بس بعضها تشتغل وبعضها لا ..
-
وعليكم السلام ورحمة الله وبركاته 🙂 هذه دالة تحول التاريخ إلى نص .. ويمكنك تعديلها حسب ما تريد .. Public Function DateAsText(GivenDate As Date) As String Dim Daytxt, Monthtxt, Yeartxt As String Daytxt = NoToTxt(Day(GivenDate), "", "") 'Monthtxt = "من شهر " & NoToTxt(Month(GivenDate), "", "") ' فعل هذا السطر إذا أردت كتابة الشهر بالرقم وليس بالاسم Monthtxt = "من شهر " & MonthName(Month(GivenDate)) Yeartxt = "سنة" & NoToTxt(Year(GivenDate), "", "") DateAsText = Daytxt & "" & Monthtxt & " " & Yeartxt & "ميلادي" End Function Function NoToTxt(TheNo As Double, MyCur As String, MySubCur As String) As String Dim MyArry1(0 To 9) As String Dim MyArry2(0 To 9) As String Dim MyArry3(0 To 9) As String Dim MyNo As String Dim GetNo As String Dim RdNo As String Dim My100 As String Dim My10 As String Dim My1 As String Dim My11 As String Dim My12 As String Dim GetTxt As String Dim Mybillion As String Dim MyMillion As String Dim MyThou As String Dim MyHun As String Dim MyFraction As String Dim MyAnd As String Dim i As Integer Dim ReMark As String If TheNo > 999999999999.99 Then Exit Function If TheNo = 0 Then NoToTxt = "صفر" Exit Function End If MyAnd = " و" MyArry1(0) = "" MyArry1(1) = "مائة" MyArry1(2) = "مائتان" MyArry1(3) = "ثلاثمائة" MyArry1(4) = "أربعمائة" MyArry1(5) = "خمسمائة" MyArry1(6) = "ستمائة" MyArry1(7) = "سبعمائة" MyArry1(8) = "ثمانمائة" MyArry1(9) = "تسعمائة" MyArry2(0) = "" MyArry2(1) = " عشر" MyArry2(2) = "عشرون" MyArry2(3) = "ثلاثون" MyArry2(4) = "أربعون" MyArry2(5) = "خمسون" MyArry2(6) = "ستون" MyArry2(7) = "سبعون" MyArry2(8) = "ثمانون" MyArry2(9) = "تسعون" MyArry3(0) = "" MyArry3(1) = "واحد" MyArry3(2) = "اثنان" MyArry3(3) = "ثلاثة" MyArry3(4) = "أربعة" MyArry3(5) = "خمسة" MyArry3(6) = "ستة" MyArry3(7) = "سبعة" MyArry3(8) = "ثمانية" MyArry3(9) = "تسعة" '====================== GetNo = Format(TheNo, "000000000000.00") i = 0 Do While i < 15 If i < 12 Then MyNo = Mid$(GetNo, i + 1, 3) Else MyNo = "0" + Mid$(GetNo, i + 2, 2) End If If (Mid$(MyNo, 1, 3)) > 0 Then RdNo = Mid$(MyNo, 1, 1) My100 = MyArry1(RdNo) RdNo = Mid$(MyNo, 3, 1) My1 = MyArry3(RdNo) RdNo = Mid$(MyNo, 2, 1) My10 = MyArry2(RdNo) If Mid$(MyNo, 2, 2) = 11 Then My11 = "إحدى عشر" If Mid$(MyNo, 2, 2) = 12 Then My12 = "إثنى عشر" If Mid$(MyNo, 2, 2) = 10 Then My10 = "عشرة" If ((Mid$(MyNo, 1, 1)) > 0) And ((Mid$(MyNo, 2, 2)) > 0) Then My100 = My100 + MyAnd If ((Mid$(MyNo, 3, 1)) > 0) And ((Mid$(MyNo, 2, 1)) > 1) Then My1 = My1 + MyAnd GetTxt = My100 + My1 + My10 If ((Mid$(MyNo, 3, 1)) = 1) And ((Mid$(MyNo, 2, 1)) = 1) Then GetTxt = My100 + My11 If ((Mid$(MyNo, 1, 1)) = 0) Then GetTxt = My11 End If If ((Mid$(MyNo, 3, 1)) = 2) And ((Mid$(MyNo, 2, 1)) = 1) Then GetTxt = My100 + My12 If ((Mid$(MyNo, 1, 1)) = 0) Then GetTxt = My12 End If If (i = 0) And (GetTxt <> "") Then If ((Mid$(MyNo, 1, 3)) > 10) Then Mybillion = GetTxt + " مليار" Else Mybillion = GetTxt + " مليارات" If ((Mid$(MyNo, 1, 3)) = 2) Then Mybillion = " مليار" If ((Mid$(MyNo, 1, 3)) = 2) Then Mybillion = " ملياران" End If End If If (i = 3) And (GetTxt <> "") Then If ((Mid$(MyNo, 1, 3)) > 10) Then MyMillion = GetTxt + " مليون" Else MyMillion = GetTxt + " ملايين" If ((Mid$(MyNo, 1, 3)) = 1) Then MyMillion = " مليون" If ((Mid$(MyNo, 1, 3)) = 2) Then MyMillion = " مليونان" End If End If If (i = 6) And (GetTxt <> "") Then If ((Mid$(MyNo, 1, 3)) > 10) Then MyThou = GetTxt + " ألف" Else MyThou = GetTxt + " آلاف" If ((Mid$(MyNo, 3, 1)) = 1) Then MyThou = " ألف" If ((Mid$(MyNo, 3, 1)) = 2) Then MyThou = " ألفان" End If End If If (i = 9) And (GetTxt <> "") Then MyHun = GetTxt If (i = 12) And (GetTxt <> "") Then MyFraction = GetTxt End If i = i + 3 Loop If (Mybillion <> "") Then If (MyMillion <> "") Or (MyThou <> "") Or (MyHun <> "") Then Mybillion = Mybillion + MyAnd End If If (MyMillion <> "") Then If (MyThou <> "") Or (MyHun <> "") Then MyMillion = MyMillion + MyAnd End If If (MyThou <> "") Then If (MyHun <> "") Then MyThou = MyThou + MyAnd End If If MyFraction <> "" Then If (Mybillion <> "") Or (MyMillion <> "") Or (MyThou <> "") Or (MyHun <> "") Then NoToTxt = ReMark + Mybillion + MyMillion + MyThou + MyHun + " " + MyCur + MyAnd + MyFraction + " " + MySubCur Else NoToTxt = ReMark + MyFraction + " " + MySubCur End If Else NoToTxt = ReMark + Mybillion + MyMillion + MyThou + MyHun + " " + MyCur End If End Function وطريقة الاستخدام موضحة في المرفق : تفقيط التواريخ.accdb
-
-
يعمل زي الحلاوة بالطحينة يا مولانا ... ربنا يبارك فيك 🙂 بس بعد أذنك ياهندسة أجريت تعديلات بسيطة على الكود علشان يحفظ اسم الملف في الجدول وليس الإكستنشن فقط . ويحذف اسمه من الجدول بعد حذف الملف. مرفق بجانب البرنامج.accdb
-
أخي العزيز @سامر محمود 🙂 تكرما أرفق ملف به التفاصيل التي ذكرتها مع وجود ما يكفي من السجلات لتجربة الحلول عليها ..
-
معرفة الاجهزة على الشبكة متصلة أو غير متصلة فى استعلام
Moosak replied to محمد احمد لطفى's topic in قسم الأكسيس Access
أنا جربت هذه الدالة فنجحت في إحضار اسم جهازي .. ولكنها لم تفلح في الآيبيات الأخرى ربما تنجح لديكم .. 🙂 Function GetHostIP(strIPAddress As String) As String Dim objWMI As Object Dim colAdapters As Object Dim objAdapter As Object Dim strHostName As String Set objWMI = GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\cimv2") Set colAdapters = objWMI.ExecQuery("Select * from Win32_NetworkAdapterConfiguration") For Each objAdapter In colAdapters If Not IsNull(objAdapter.IPAddress) Then If objAdapter.IPAddress(0) = strIPAddress Then strHostName = objAdapter.DNSHostName Exit For End If End If Next objAdapter GetHostIP = strHostName End Function -
على أية حال ومن باب معرفة الشيء .. أنا جربت البرنامج ولم يفلح في كشف كلمات المرور .. 🙂