با سلام
از آنجا که در این سایت جوابی برای باز کردن فایلهای accdr و یا باز شدن فایلها در حالت runtime به طور مطلوبی حاصل نشد سوال را در سایت مایکروسافت مطرح کردم که خوشبختانه نتیجه داد که جواب را برای دوستان به همراه لینک مربوطه آوردم که امید است مفید واقع شود : (البته من تغییراتی را در آن داده ام ولی برای دیدن کدهای ارائه شده به لینک زیر مراجعه کنید )
کدهای زیر را برای یک دگمه به نام Command43 روی فرمی قرار دهید و یک فایل با نام sa.accdr با پسورد 123 را در درایو D قرار دهید و نتیجه را ببینید ( اگر ایراد یا نکاتی جهت بهبود هم به نظرتان رسید ممنون میشیم بیان کنید )
Private Sub Command43_Click()
Call CreateDummyfile
StartPasswordedDatabaseRuntime "D:\sa.accdr", 123
End Sub
Sub StartPasswordedDatabaseRuntime( _
strPathToDatabase As String, _
Optional strPassword As String, _
Optional strPathToRuntime As String, _
Optional blnQuit As Boolean)
' Start a runtime database that has a database password.
Dim appRT As Access.Application
Dim strPathToDummy As String
Dim blnStillOpen As Boolean
Const Q As String = """"
If Len(strPassword) = 0 Then
strPassword = InputBox("Please enter password:")
End If
If Len(strPathToRuntime) = 0 Then
strPathToRuntime = SysCmd(acSysCmdAccessDir) & "msaccess.exe"
End If
strPathToDummy = CurrentProject.path & "\Dummy.accdb"
Shell _
Q & strPathToRuntime & Q & " " & Q & strPathToDummy & Q & " /runtime", vbMinimizedFocus
Set appRT = GetObject(strPathToDummy)
With appRT
.CloseCurrentDatabase
.OpenCurrentDatabase strPathToDatabase, , strPassword
End With
On Error Resume Next
blnStillOpen = True
Do While blnStillOpen
DoEvents
Err.Clear
If appRT Is Nothing Then
blnStillOpen = False
ElseIf Len(appRT.CurrentProject.Path) = 0 Then
blnStillOpen = False
End If
If Err.Number <> 0 Then
blnStillOpen = False
End If
Loop
If blnQuit Then
Application.Quit ' if we're done here.
End If
End Sub
Private Sub CreateDummyfile()
Dim obj As Object
Set obj = CreateObject("access.application")
If Dir("D:\Dummy.accdb") = "" Then
obj.NewCurrentDatabase ("D:\Dummy.accdb")
End If
End Sub
لینک مایکروسافت :
http://answers.microsoft.com/en-us/o...0-d2a67276bae5
توجه :
1-از این روش هم برای باز کردن فایلهای mdb , accdb , accdr می توان استفاده کرد که برای منظور این تاپیک به روشهای فوق اما به طرز فراگیرتری اضافه می شود
2- فایل Dummy یک فایل خالی بدون پسورد است که ضرورتا برای اجرای محیط runtime لازم است و توسط کدها ساخته می شود و شما نیازی به تغییر در آن نمی باشید و شما کافی است که در خط سوم ، نام ، آدرس و پسورد مورد نظر را مطابق فایلی که می خواهید باز کنید تغییر دهید
موفق باشید