تغییر آیکون Access در نرم افزارهای ساخته شده توسط این نرم افزار
پیرو مطلب تمام صفحه کردن فرم های ساخته شده توسط نرم افزار Access و حذف ribbon و menu bar و ... ، شاید بدنبال این باشین که بخواین در زمان اجرای برنامه و لود شدن اولین فرم، آیکون Access به آیکون مورد دلخواه شما تغییر پیدا کنه. البته می دونم که اینکار رو می تونید در قسمت Option/application icon انجام بدین ولی مشکل اینجاست که با جابجا شدن برنامه یا انتقال از کامپیوتری به کامپیوتر دیگر، این آیکون عمل نخواهد کرد.
راهکار مناسب اینست که خود فایل Access و آیکون مربوطه در یک پوشه قرار داده شوند (البته درون پوشه می توانید یک فولدر بنام Data داشته باشید و آیکون را درون آن قرار دهید) و سپس در روال form_open به فرم دستور دهید از مسیر جاری برنامه (حالا فرقی نمی کند روی کدام درایو یا کامپیوتر باشد، هر جا که فایل Access شما باشد بنام مسیر جاری شناخته می شود) آیکون را بخواند و در فرم استفاده کند. برای اینکار کدهای زیر را در فرم اصلی برنامتان که از ابتدا تا آخر باز است وارد نمائید، البته می تواند آنرا بصورت ماژول دربیاورید و در تمام فرم ها استفاده کنید:
Private Sub Form_Load()
' other codes...
ChangeProperty "AppIcon", dbText, CurrentProject.Path & "\\Data\myicon.ico"
Application.RefreshTitleBar
' other codes...
End Sub
Function ChangeProperty(strPropName As String, varPropType As String, varPropValue As Variant) As Integer
Dim dbs As DAO.Database
Dim prp As DAO.Property
Set dbs = CurrentDb
On Error GoTo PROC_ERROR
dbs.Properties(strPropName) = varPropValue
ChangeProperty = True
PROC_EXIT:
On Error Resume Next
Set prp = Nothing
Set dbs = Nothing
Exit Function
PROC_ERROR:
If Err.Number = 3270 Then
Set prp = dbs.CreateProperty(strPropName, varPropType, varPropValue)
dbs.Properties.Append prp
Resume Next
Else
ChangeProperty = False
Resume PROC_EXIT
End If
End Function
Sub seticon()
ChangeProperty "AppIcon", dbText, CurrentProject.Path & "\\Data\myicon.ico"
Application.RefreshTitleBar
End Sub