-
Posts
2175 -
تاريخ الانضمام
-
تاريخ اخر زياره
-
Days Won
55
نوع المحتوي
المنتدى
مكتبة الموقع
معرض الصور
المدونات
الوسائط المتعددة
كل منشورات العضو Moosak
-
سلاسل شخابيط و أفكار ☺ : سلسلة لأفكار وطرق حماية قواعد البيانات
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 -
على أية حال ومن باب معرفة الشيء .. أنا جربت البرنامج ولم يفلح في كشف كلمات المرور .. 🙂
-
معرفة الاجهزة على الشبكة متصلة أو غير متصلة فى استعلام
Moosak replied to محمد احمد لطفى's topic in قسم الأكسيس Access
إن كنت تقصد كود معرفة ال IP للجهاز حسب فهمي المتواضع فهذه الدالة تقوم بذلك : 🙂 Function GetIPAddress() As String Dim objWMI As Object Dim colAdapters As Object Dim objAdapter As Object Dim strIPAddress 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 strIPAddress = objAdapter.IPAddress(0) Exit For End If Next objAdapter GetIPAddress = strIPAddress End Function -
معرفة الاجهزة على الشبكة متصلة أو غير متصلة فى استعلام
Moosak replied to محمد احمد لطفى's topic in قسم الأكسيس Access
هذه طريقة ربط ال IP بالدالة 🙂 : ' إعطائها رقم الآيدي مباشرة IsIPConnected("192.168.1.110") ' طريقة استخدامها في الاستعلام أو النموذج بحيث تربطها بحقل الآي بي IsIPConnected([IP]) -
معرفة الاجهزة على الشبكة متصلة أو غير متصلة فى استعلام
Moosak replied to محمد احمد لطفى's topic in قسم الأكسيس Access
أخي @محمد احمد لطفى أحضرت لك دالة تقوم بفحص ال IP Address إذا كان متصل ولا لا .. ويمكن وضعها في الاستعلام 🙂 ولكن كما قال المهندس @ابوخليل أنها بطييييييييئة جدا لأنها تفحص كل IP على حده وتستغرق وقت كبير لحد ما تعطيك ال Response .. لذلك من الأسهل أن تجعلها في نموذج مفرد وليس متعدد لفحص ال IP الذي تريد معرفته فقط .. أو لك أن تجرب أكثر وتعطينا نتيجة تجاربك 🙂 وهذه هي الدالة : Function IsIPConnected(strIPAddress As String) As Boolean Dim objPing As Object Set objPing = GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\cimv2:Win32_PingStatus.Address='" & strIPAddress & "'") If objPing.StatusCode = 0 Then IsIPConnected = True Else IsIPConnected = False End If End Function -
أخي العبيدي 🙂 من الطبيعي أن تجد تداخلات غير مفهومة في أكواد نظام الصلاحيات أو أي نظام آخر (جاهز) ومعد من قبل شخص آخر .. لأنك ستحتاج لفك الرموز والطلاسم التي تم تصميم النظام بها لفهمه وفهم آلية عمل الأكواد .. لذلك نصيحتي لك أن تبدأ بفهم الفكرة أولا .. وذلك بمتابعة الدروس التي تشرح هذا الموضوع من البداية .. وحينها ستفهم سبب ومعنى هذا التداخل في الكود وتسلسل عمله .. وسيسهل عليك تتبع الأخطاء ومعالجتها 🙂 أما لو أكتفيت بطلب التعديل من شخص آخر ونفذه لك بدون فهم للفكرة .. فإنك ستضطر لإعادته له كل مرة تواجه فيها أي مشكلة وهذا مما قد لا يتحصل دائما 🙂
-
أعتقد أن سبب الخطأ هو أن جهازك يعمل على النواة 32 بت .. والكود معد للنسخة 64 بت .. بالإضافة إلى أن أكواد ال API المستخدمة لفتح مستعرض الملفات لا تفتح عندي على نسخة 64 بت .. ولحل مشكلتك الأولى تابع هنا : هذا والله أعلم
-
هل يمكن تصمم تكست بوكس (مربع نص) بحواف دائرية
Moosak replied to ahmedsaadzeed's topic in قسم الأكسيس Access
ربما تقلل من حجمه نوعا ما ولكني لا أحبذها .. ستتعبك عملية الربط بها عند تثبيت البرنامج أو نقله من جهاز إلى جهاز آخر .. وأعتقد أن الأكسس عندما تقوم باستيراد صورة ستجدها موجودة هنا من ضمن مكتبة داخلية يحتفظ فيها الأكسس بالصور والأيقونات والخلفيات والعناصر المستخدمة في التصميم .. (لاحظ مربعي النص الذان استخدمناهما سابقا ) فإذا كنت ستستخدم نفس العنصر عدة مرات فكأنما تستورد العنصر نفسه من المكتبة ،، لذلك لا يزيد ذلك من حجمها الكثير 🙂 فما قصدته أنا سابقا أن المشكلة تكمن في عمل الكثير من أشكال مربع النص لكل نموذج بشكل مختلف .. أتمنى تكون الفكرة وصلت -
كيف يمكن عد أيام غياب كل طالب في كل شهر على حدى
Moosak replied to haniameen's topic in قسم الأكسيس Access
نعم ممكن إذا تم تسجيل أيام الحضور في الجدول 🙂 عن طريق الاستعلامات .. بنفس فكرة أيام الغياب الموجودة في المرفق السابق .. -
هذا الموضوع يفيدك إن شاء الله 🙂
-
كيف يمكن عد أيام غياب كل طالب في كل شهر على حدى
Moosak replied to haniameen's topic in قسم الأكسيس Access
كيف ستحسب أيام الحضور ؟! ليس لها تسجيل في الجدول -
هل يمكن تصمم تكست بوكس (مربع نص) بحواف دائرية
Moosak replied to ahmedsaadzeed's topic in قسم الأكسيس Access
تفضلو هذا نموذج على الطريقة التي أخبرتكم بها 🙂 وباب الإبداع فيها مفتوووووووووووووووح لا حدود له 🙂 والطريقة بالمختصر المفيد كالتالي : (1) ترسم المربع بالشكل والألوان اللي تحبها في برنامج الوورد أو الباوربوينت .. ثم تضغط عليه بالزر الأيمن للماوس وتختار حفظ كصورة .. (2) تحفظ الصورة بصيغة ( PNG ) أي بدون خلفية (3) بعدها تستورد الصورة للأكسس من خانة إضافة صورة .. (4) بعدها تنسق مربع النص ليكون في وسط الصورة .. مع ملاحظة أن تجعل لون مربع النص نفس لون الصورة المدرجة .. (5) يمكنك الحصول على لون خلفية الصورة أو ضبط لون مربع النص من خلال إدخال نفس الأرقام في لوح الألوان .. ( يمكنك نسخ كود اللون Hex من الوورد للأكسس مباشرة ) : ملاحظة مهمة :: عليك أن تراقب حجم برنامجك عند استخدام هذه الطريقة فهي تزيد الحجم بسرعة .. استخدمها باعتدال ولا تفرط في استخدامها 🙂 مرفق قاعدة البيانات والصور المستخدمة .. مربعات نصوص دائرية الحواف.accdb الصور المستخدمة.rar -
هل يمكن تصمم تكست بوكس (مربع نص) بحواف دائرية
Moosak replied to ahmedsaadzeed's topic in قسم الأكسيس Access
إن شاء الله .. ولكن عندما أكون عند الحاسوب بإذن الله. -
هل يمكن تصمم تكست بوكس (مربع نص) بحواف دائرية
Moosak replied to ahmedsaadzeed's topic in قسم الأكسيس Access
حسب علمي أن الأكسس لا يوفر لك هذه الميزة .. ولكن يمكن التحايل عليها برسم المستطيل دائري الحواف بالوورد أو بالفوتوشوب أو أي برنامج تصميم آخر .. ثم استيراده كصورة للأكسس ثم يوضع مربع النص الخاص بالأكسس فوق الصورة فيبين لك كأنه مربع إدخال نص دائري الحواف 🙂 -
مباشر ارسال رسائل نصية ومرفقات وتقارير عبر الواتساب والاميل
Moosak replied to حمدى الظابط's topic in قسم الأكسيس Access
أحييك أستاذ حمدي على الإنجاز الرائع .. وجهودك المضنية وصبرك للحصول على النتيجة النهائية 😉🌹 وهدية مقبولة منك 🙂 جزاك الله خيرا 🌹 -
العفو أخي حسين 🙂 🌹
-
وعليكم السلام ورحمة الله وبركاته 🙂 للحصول على رقم الفاتورة بالشكل المذكور أكتب الكود هكذا : "RDi" & ReportNumber & Month(Date) & Year(Date) حيث أن ReportNumber هو حقل رقم تقرير الاستلام
-
وعليكم السلام ورحمة الله 🙂 أول شي تكتب أمر الزر الأول بكود VBA بدل الماكرو .. وبعدين تكتب أوامر الزر الثاني بهذي الطريقة :