PDA

View Full Version : چک کردن موجودیت فایل access



صنم
دوشنبه 31 مرداد 1384, 13:40 عصر
سلام
من یک دایرکتوری دارم که در آن بانکهای اطلاعاتی مربوط به سالهای مختلف را که در access هست نگه میدارم اسم هر کدام از این بانکها نام سال مربوطه می باشد .
حالا من در برنامه می خوام چک کنم که اصلا فایل access ای در این دایرکتوری هست و اگر هست کدام سالها موجود هست چه جوری باید این کارو انجام بدم .

sadegi
سه شنبه 01 شهریور 1384, 00:59 صبح
امیدوارم به دردت بخوره

dr_g
سه شنبه 01 شهریور 1384, 10:18 صبح
با سلام
شما می تونین با استفاده از Microsoft Scripting Rumtime که یک DLL بسیار کاربردی هست نیز این کارو انجام بدین.به نظر من استفاده از این روش از سرعت بیشتری برخورداره
به مثال پایین یه نگاه بنداز

PalizeSoftware
سه شنبه 01 شهریور 1384, 14:50 عصر
دوستان مثالهای زیبایی ارائه دادند. اما یک طریقی که می‌توان به وجود یک فایل یا شاخه پی برد نیز از همان راه حل‌های قدیمی که در داس استفاده می‌کردیم بود. یعنی استفاده از Deviceها. حتما می‌دانید که Deviceی با نام Nul در همه شاخه‌ها به عنوان یک فایل منطقی و نه فیزیکی وجود دارد. بعنوان مثال چنانچه با تابع Dir چنین دستوری را اجرا کنید، نتیجه مشخص کننده وجود یک شاخه هست:


If Dir$("C:\WinXp\Nul") = "" Then
MsgBox "Not Found!"
End If


و همچنین استفاد آن بصورت زیر وجود یک فایل را بررسی می‌کند:


If Dir$("C:\WinXp\System.ini") = "" Then
MsgBox "Not Found!"
End If



موفق باشید.

mRizvandi
سه شنبه 01 شهریور 1384, 16:33 عصر
سلام

و سلام مخصوص خدمت PalizeSoftware :flower:

برای مشخص شدن اینکه فایلی مورد نظر شما در مسیر خاصی موجود هست یا خیر از روش زیر استفاده کنید:
کد:


If Dir("Your Path such as c:\backup\1383.mdb")="" Then
MsgBox "File not found"
End If


اگه می خواهید لیستی از فایلها را چک کنید دو راه حل حداقل دارید:
اول: لیست فایلهاتون رو در جایی مثل آرایه نگه دارید و بعد یکی یکی آونها را با دستور Dir چک کنید
دوم: برعکس دفعه اول حرکت کنید. یعنی اول لیست تمامی فایلها را با دستور Dir بدست بیارید و در جایی مثل آرایه نگه دارید و بعد بدنبال فایلهای مورد نظرتون در آرایه بگردید.
گرفتن نام تمام فایلهای مورد نظرت به شکل زیر قابل انجام است:
کد:


Dim astrFileName() As String
Dim strCurFileName As String
Dim iFileIndex As Integer

ReDim astrFileName(iFileIndex)

astrFileName(iFileIndex) = Dir("C:\*.*")
strCurFileName = astrFileName(iFileIndex)

Do While strCurFileName <> ""
strCurFileName = Dir
If strCurFileName <> "" Then
iFileIndex = iFileIndex + 1
ReDim Preserve astrFileName(iFileIndex)
astrFileName(iFileIndex) = strCurFileName
End If
Loop