PDA

View Full Version : سوال: خطای باز کردن فایل



whoishe
پنج شنبه 17 شهریور 1401, 10:36 صبح
سلام دوستان، می دونید علت اتینکه موقع باز کردن فایل این ارور رو میده و گزینه open رو نداره چیه؟ اکسس 2016 هست و توی شبکه قرار دادم

amirzazadeh
شنبه 19 شهریور 1401, 09:52 صبح
سلام
از گزینه FILE در منو اصلی ACCESS OPTION را انتخاب کنید. حالا TRUST CENTER و از داخل اون MACRO SETTING رو انتخاب کرده و ENABLE ALL MACRO رو تیک بزنید.
اگر با این کار مشکل برطرف نشد محل اشتراک فایل رو TRUSTED LOCATION اضافه کنید.

154012

whoishe
شنبه 19 شهریور 1401, 12:11 عصر
سپاس از راهنماییتون. این کارو انجام دادم اجازه نمیده لوکیشن رو اضافه کنم
154013

amirzazadeh
شنبه 19 شهریور 1401, 16:29 عصر
سلام
پیشنهاد می کنم فرم ها و گزارش ها از جداول جدا کنید و فقط قسمت جداول یا همون Back End رو به اشتراک بذارید. البته قبل از انجام حتما یک نسخه پیشیبان بردارید.

whoishe
سه شنبه 22 شهریور 1401, 09:23 صبح
ممنون از راهنمایی شما. به همین شکل هست دیتا روی SQL هست و فرمها و گزارشها روی شبکه.از برنامه shortcut برای کلاینتها گذاشته شده که این ارور رو میده ولی اگر برنامه رو کپی کنم روی دسکتاپ کلاینت مشکل برطرف میشه با این مشکل که هنگام آپدیت باید برنامه رو برای همه مجددا کپی کنم

amirzazadeh
سه شنبه 22 شهریور 1401, 14:55 عصر
ممنون از راهنمایی شما. به همین شکل هست دیتا روی SQL هست و فرمها و گزارشها روی شبکه.از برنامه shortcut برای کلاینتها گذاشته شده که این ارور رو میده ولی اگر برنامه رو کپی کنم روی دسکتاپ کلاینت مشکل برطرف میشه با این مشکل که هنگام آپدیت باید برنامه رو برای همه مجددا کپی کنم
سلام و عرض ادب
برای رفع مشکل آپدیت، فایل آپدیت رو داخل شبکه به اشتراک بگذارید و در فرم ورود به برنامه کلاینت ها (که روی دسکتاپ هست) با چند خط کد ورژن برنامه دسکتاپ رو با آپدیت مقایسه کنید اگر یکی بود برنامه باز میشه در غیر اینصورت به کاربر پیام میده که برنامه نیاز به آپدیت داره و با یک دستور FileCopy نسخه قدیمی با نسخه جدید جایگزین میشه.
...............................
موفق باشید

whoishe
دوشنبه 11 مهر 1401, 10:19 صبح
سپاس از شما
متاسفانه کد نویسی رو که فرمودید بلد نیستم اگر امکانش هست کد رو بزارید ممنون میشم

amirzazadeh
سه شنبه 12 مهر 1401, 10:31 صبح
سپاس از شما
متاسفانه کد نویسی رو که فرمودید بلد نیستم اگر امکانش هست کد رو بزارید ممنون میشم

سلام

از این نمونه کد استفاده کنید:


Private Sub Form_Load()
CurName = CurrentProject.Name
UpdatePath = "\\amirzazadeh\bazdid\update\"
Update = Dir("\\amirzazadeh\bazdid\update\*.mdb")
If Not Update = vbNullString Then


If CurName <> Update Then
If MsgBox("New Update Available" & vbNewLine & "Do you Want to Update?", vbOKCancel, "Update" _
) = vbOK Then
k = CurrentProject.Path & "\" & Update
FileCopy UpdatePath & Update, CurrentProject.Path & "\" & Update
MsgBox "Update Completed" & vbNewLine & "Runing Again ...", vbInformation, "Update"
ReturnValue = ShellExecute(hWndAccessApp, "Open", k, 0&, 0&, SW_SHOWMAXIMIZED)

DoCmd.Quit

End If
End If

End If
End Sub

amirzazadeh
سه شنبه 12 مهر 1401, 10:45 صبح
سلام

از این نمونه کد استفاده کنید:


Private Sub Form_Load()
CurName = CurrentProject.Name
UpdatePath = "\\amirzazadeh\bazdid\update\"
Update = Dir("\\amirzazadeh\bazdid\update\*.mdb")
If Not Update = vbNullString Then


If CurName <> Update Then
If MsgBox("New Update Available" & vbNewLine & "Do you Want to Update?", vbOKCancel, "Update" _
) = vbOK Then

FileCopy UpdatePath & Update, CurrentProject.Path & "\" & Update
MsgBox "Update Completed" & vbNewLine & "Runing Again ...", vbInformation, "Update"
ReturnValue = ShellExecute(hWndAccessApp, "Open", k, 0&, 0&, SW_SHOWMAXIMIZED)

DoCmd.Quit

End If
End If

End If
End Sub


سلام
فقط به این موارد توجه داشته باشید میسر آپدیت باید به مسیر فایل اشتراکی شما تغییر داده بشه و اگر فایل شما به جای mdb اکستنشن دیگر مثل mde یا adp یا ade داره تغییرات لازم رو اعمال کنید.

amirzazadeh
سه شنبه 12 مهر 1401, 15:49 عصر
سلام
اگر با دستور ShellExecute به مشکل برخوردید کد رو به این شکل اصلاح کنید:


Private Sub Form_Load()
CurName = CurrentProject.Name
UpdatePath = "\\amirzazadeh\bazdid\update\"
Update = Dir("\\amirzazadeh\bazdid\update\*.mdb")
If Not Update = vbNullString Then


If CurName <> Update Then
If MsgBox("New Update Available" & vbNewLine & "Do you Want to Update?", vbOKCancel, "Update" _
) = vbOK Then
k = CurrentProject.Path & "\" & Update
FileCopy UpdatePath & Update, CurrentProject.Path & "\" & Update
MsgBox "Update Completed" & vbNewLine & "Runing Again ...", vbInformation, "Update"


Dim accapp As Access.Application

Set accapp = New Access.Application

accapp.OpenCurrentDatabase (k)
accapp.RunCommand acCmdAppMaximize
DoCmd.Quit

End If
End If

End If
End Sub

whoishe
شنبه 16 مهر 1401, 10:17 صبح
از لطف شما بینهایت سپاسگزارم