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

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


qathi

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

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

 

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

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

رابط هذا التعليق
شارك

عليكم السلام

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

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

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
رابط هذا التعليق
شارك

طلبك اختلف

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

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

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

رابط هذا التعليق
شارك

في 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

رابط هذا التعليق
شارك

من فضلك سجل دخول لتتمكن من التعليق

ستتمكن من اضافه تعليقات بعد التسجيل



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

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

Important Information