اذهب الي المحتوي
أوفيسنا

الردود الموصى بها

قام بنشر

السلام عليكم اساتذتي واخواني الافاضل اعضاء منتدانا الرائع
اسأل الله لكم دوام الصحة والعافية

 

كما هو واضح من العنوان .. المطلوب

طريقة اظهار الفلاش ( الاقراص الخارجية ) في قائمة منسدلة

قام بنشر

عليكم السلام

وجدت هذا الكود وقمت بالتعديل عليه بحيث يظهر الاقراص الخارجية في قائمة وفي القائمة الاخرى يظهر جميع الأقراص

وتم تطبيقه على المرفق ادناه

Dim vl As Scripting.FileSystemObject
Dim Drv As Scripting.Drive
Set vl = New Scripting.FileSystemObject
For Each Drv In vl.Drives
coDesks.AddItem Drv.DriveLetter
If Drv.DriveType = Removable Then
coDesks2.AddItem Drv.DriveLetter
End If
Next Drv

عند نقلك الكود الى برنامجك لا تنسى اضافة المكتبة الخاصة ... اطلع عليها في المثال

deskDb.rar

  • Like 1
  • Thanks 1
قام بنشر (معدل)

شكرا لك أستاذي الغالي @ابوخليل .. وبارك الله فيك

ارجو ان يسع صدرك لي

- اذا قمت بادخال اكثر من وحدة تخزين خارجية ( فلاش ) فانه يظهر واحد الاول فقط .. ارجو ان يظهر جميع الفلاشات

- واتمنى عرض بجوار حرف القرص ( الاسم الذي يظهر بجواره والسعة التخزين)  في الحقلين ( القائمتين المنسدلتين ) كما بالصورة

1748560810_.png.41c88a2b51f309297b05d0ba45dc7382.png

 

وجزاك الله عني خيرا

 

 

 

تم تعديل بواسطه qathi
قام بنشر

تفضل  .. منقول ...

Const MB& = 1048576
Dim i As Object, Msg$, T#, F#, U#
For Each i In CreateObject("Scripting.FileSystemObject").drives
With i
If .IsReady And .DriveType = 1 Then
T = .TotalSize / MB: F = .FreeSpace / MB: U = T - F
If Len(Msg) Then Msg = Msg & vbLf & vbLf
Msg = "Drive " & .DriveLetter & ":" & vbTab
Msg = Msg & .VolumeName & " (" & .FileSystem & ")"
Msg = Msg & vbLf & "Total size:" & vbTab
Msg = Msg & Format(T, "#,##0 MB") & vbLf
Msg = Msg & "Free space:" & vbTab
Msg = Msg & Format(F, "#,##0 MB") & vbLf
Msg = Msg & "Used space:" & vbTab
Msg = Msg & Format(U, "#,##0 MB")
End If
End With
Next
If Len(Msg) Then MsgBox Msg

 

  • Thanks 1
قام بنشر (معدل)

أساتذتي يعمل الكود الأول ويعطيني النتائج كاملة في الكمبوبكس الأول والثاني .

أما الكود الثاني استدعيته بزر مع استبدل السطران الاخيران يعني خليت (next) اخر سطر  وكانت النتائج كما بالصورة المرفقة مع البرنامج .

تسلم ايدك أبو خليل .:clapping:

 

deskDb-1.rar

تم تعديل بواسطه kkhalifa1960
  • Like 1
قام بنشر

استاذي الغالي @ابوخليل شكرا لك على الكود

قمت محاولة ترويضة حتى يتلائم مع القائمة المنسدلة ولم افلح

هل ممكن تعديلة اذا امكنكم حتى تظهر البيانات كما في الصورة اسم شركة التصنيع الفلاش واجمالي سعة التخزين والسعة المتبقية ونوع الملفات :

13 ساعات مضت, qathi said:

1748560810_.png.41c88a2b51f309297b05d0ba45dc7382.png

 

وللعلم الغرض من الملف هو تحديد مكان النسخ الاحتياطي لقاعدة البيانات الخلفية مباشرة في الفلاش وحتى يعرف المستخدم مالذي قام بتحديدة .. ( أن شاء الله لا يتعرض مع كود النسخ الاحتياطي الموجود لدي )

قام بنشر
31 دقائق مضت, qathi said:

تحديد مكان النسخ الاحتياطي لقاعدة البيانات الخلفية مباشرة في الفلاش وحتى يعرف المستخدم مالذي قام بتحديدة

لم افهم هذه العبارة استاذ @qathi..ممكن شوية تفصيل ..لان المستخدم احيانا يستخدم الفلاش للنسخ الاحتياطي بشكل اوتماتيكي

قام بنشر

تم تعديل الكود ليأخذ سطرا واحدا

Private Sub Command138_Click()
Dim i As Object, Msg$, T#, F#, U#
For Each i In CreateObject("Scripting.FileSystemObject").Drives
With i
If .IsReady And .DriveType = 1 Then
T = .TotalSize: F = .FreeSpace: U = T - F
If Len(Msg) Then Msg = Msg & vbLf & vbLf
Msg = .DriveLetter & ":" & " " & .VolumeName & " "
Msg = Msg & "(" & .FileSystem & ")" & " "
Msg = Msg & "(" & FormatSize(T) & "Tot" & ")" & " "
Msg = Msg & "(" & FormatSize(F) & "free" & ")" & " "
Msg = Msg & "(" & FormatSize(U) & "used" & ")"
End If
End With
Next
If Len(Msg) Then coDesks.AddItem Msg
End Sub

وهذه وحدة نمطية لارجاع حجم الرقم  او ما يسمى السعة

Public Function FormatSize(ByVal Size As Currency) As String
    Const Kilobyte As Currency = 1024@
    Const TenK As Currency = 10240@
    Const HundredK As Currency = 102400@
    Const ThousandK As Currency = 1024000@
    Const Megabyte As Currency = 1048576@
    Const TenMeg As Currency = 10485760@
    Const HundredMeg As Currency = 104857600@
    Const ThousandMeg As Currency = 1048576000@
    Const Gigabyte As Currency = 1073741824@
    Const TenGig As Currency = 10737418240@
    Const HundredGig As Currency = 107374182400@
    Const ThousandGig As Currency = 1073741824000@
    Const Terabyte As Currency = 1099511627776@
    
    Select Case Size
        Case Is < Kilobyte: FormatSize = Int(Size) & " bytes"
        Case Is < TenK: FormatSize = Format(Size / Kilobyte, "0.00") & " KB"
        Case Is < HundredK: FormatSize = Format(Size / Kilobyte, "0.0") & " KB"
        Case Is < ThousandK: FormatSize = Int(Size / Kilobyte) & " KB"
        Case Is < TenMeg: FormatSize = Format(Size / Megabyte, "0.00") & " MB"
        Case Is < HundredMeg: FormatSize = Format(Size / Megabyte, "0.0") & " MB"
        Case Is < ThousandMeg: FormatSize = Int(Size / Megabyte) & " MB"
        Case Is < TenGig: FormatSize = Format(Size / Gigabyte, "0.00") & " GB"
        Case Is < HundredGig: FormatSize = Format(Size / Gigabyte, "0.0") & " GB"
        Case Is < ThousandGig: FormatSize = Int(Size / Gigabyte) & " GB"
        Case Else: FormatSize = Format(Size / Terabyte, "0.00") & " TB"
    End Select
End Function

 

Database4.rar

  • Like 2
قام بنشر (معدل)
في 27‏/2‏/2023 at 18:02, Eng.Qassim said:

لم افهم هذه العبارة استاذ @qathi..ممكن شوية تفصيل

اهلا بك استاذنا @Eng.Qassim

في احدى البرامج وجدت نافذة فيها قائمة منسدله .. فعند الضغط علي القائمة تظهر جميع وحدات التخزين الخارجية ( الفلاشات ) .. فتكمن المستخدم من اختيار احداها ثم الضغط على زر نسخ احتياطي

 

فعجبتني الفكرة .. ولاني لم اجد مثلها في المنتدى

 

في 27‏/2‏/2023 at 18:02, Eng.Qassim said:

لان المستخدم احيانا يستخدم الفلاش للنسخ الاحتياطي بشكل اوتماتيكي

هل تقصد انه يوجد لديك مثال يودي نفس الغرض وجاهز من قبل .. ام ماذا ؟؟

 

-----------------------------------------------------------------------

 

في 27‏/2‏/2023 at 21:04, ابوخليل said:

تم تعديل الكود ليأخذ سطرا واحدا

لا اقدر ان اجازيك بشيء استاذي الغالي @ابوخليل .. بارك الله فيك على جهدك المثمر .. وجزاك الله خيرا

 

لكن استاذي الغالي اكما اخبرت الاستاذ @Eng.Qassim

(( فعند الضغط علي سهم قائمة تظهر وحدات التخزين الخارجية الفلاشات فقط .. فتكمن المستخدم من اختيار احداها ثم الضغط على زر نسخ احتياطي ))

هل يمكن عمل ذلك ؟؟ .. لان الملف الاخير يظهر وحدة تخزين فلاش واحدة فقط في حقل غير منضم ولا يظهر البقية

تم تعديل بواسطه qathi
قام بنشر

طلبك اختلف

بالاول تريد الفلاش الخارجي وبياناته مفصلة والآن تريد الفلاش الخارجي من اجل النسخ

وفرق بين الاثنين

الأن انت بحاجة الى مسار الفلاش الخارجي من اجل نسخه

قام بنشر (معدل)

اعتذر استاذي الغالي @ابوخليل عن خطئي في عدم ايصال المطلوب بشكل صحيح 😅

تم تعديل بواسطه qathi
قام بنشر
في 28‏/2‏/2023 at 21:54, qathi said:

(( فعند الضغط علي سهم قائمة تظهر وحدات التخزين الخارجية الفلاشات فقط .. فتكمن المستخدم من اختيار احداها ثم الضغط على زر نسخ احتياطي ))

للرفع ..

قام بنشر
في 9‏/3‏/2023 at 20:19, qathi said:

هل يوجد حل

ام أنه مستحيل على اكسس تطبيق هذه الفكرة. ؟؟؟

ليس مستحيل وانما الحل بين يديك

ولكنك دوما تكرر عبارتك

في 28‏/2‏/2023 at 21:54, qathi said:
في 27‏/2‏/2023 at 04:02, qathi said:

- اذا قمت بادخال اكثر من وحدة تخزين خارجية ( فلاش ) فانه يظهر واحد الاول فقط .. ارجو ان يظهر جميع الفلاشات

هل يمكن عمل ذلك ؟؟ .. لان الملف الاخير يظهر وحدة تخزين فلاش واحدة فقط في حقل غير منضم ولا يظهر البقية

والصحيح ان الاكواد كلها تظهر جميع وحدات التخزين

انظر الصورة في تعديلي الاخير هذا >>> علما ان الكود موجود في اول مشاركة لي يظهر فيه الاقراص الثابتة والخارجية .

((( حدد الفلاشة المطلوبة  وانقر على نسخ ... ولكن قبل هذا انظر الكود وعدل المكان الذي ستنسخ اليه

انا جعلته ينسخ الى المجلد ABC الموجود على قرص E

ايضا يمكننا اظهار اسم وخصائص الفلاشة ... حاول وستنجح فالاكواد بين يديك

image.jpeg.e59350ee33d4d8ac4c891b988a00528c.jpeg

deskDb.accdb

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

زائر
اضف رد علي هذا الموضوع....

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • تصفح هذا الموضوع مؤخراً   0 اعضاء متواجدين الان

    • لايوجد اعضاء مسجلون يتصفحون هذه الصفحه
×
×
  • اضف...

Important Information