Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537
威Access快速開發平臺由于采用Mdb格式不能直接使用附件功能,但是附件在日常操作中有很多作用,希望大家學會原理,提高辦公效率。
如果附件匹配上折疊功能,即簡單又實用,僅供大家參考。
本文在歐志華先生的原理文章基礎上
Access快速開發平臺2.6.5.547版本--附件及圖片功能注意事項 [歐志華 2022/2/16 10:26:32]
對原著的代碼上進行注解,供大家參考。沒有講清楚的地方,請見諒!
再次感謝歐志華先生!
復制以下代碼覆蓋 http://www.accessoft.com/article-show.asp?id=20188 的frm商品信息_Edit 所有代碼 供大家慢慢研究。
以下綠色部分是附件代碼的使用說明和附件的重點代碼!
附件代碼的位置,增加的位置一定看清楚!
其中一個是加載附件的代碼 一個是保存附件的代碼,不要看錯!
'【使用須知】------------------------------
'只能在平臺上使用------------------------
'編輯窗體中添加一個子窗體控件,控件名修改為“sfrAttachments”,其“源對象”屬性設為“SysFrmAttachments”,
'然后在加載和保存數據時,添加一行調用代碼即可
'以下對附件功能的詳細說明見具體步驟
'附件功能使用以下函數
'函數LoadAttachmentData 加載附件功能的函數
'函數SaveAttachmentData 保存附件功能的函數
'詳細的函數的使用說明 http://www.accessgood.com/help/UniversalAttachment.html
Option Compare Database
Option Explicit
Public Function InitData()
ClearControlValues Me
End Function
Private Sub Form_Load()
If CanViewVBACode() Then
On Error GoTo 0
Else
On Error GoTo ErrorHandler
End If
ApplyTheme Me
LoadLocalLanguage Me
'----------------------------------------------
'----------------------------------------------
Dim cnn As Object '附件添加的代碼 申明變量
Set cnn=CurrentProject.Connection '附件添加的代碼 設置變量
'----------------------------------------------
'----------------------------------------------
If Nz(Me.OpenArgs) <> "" Then
LoadRecord Me, "Select * FROM [商品信息表] Where [商品ID]=" & Nz(Me.OpenArgs, 0)
End If
'----------------------------------------------
'----------------------------------------------
Call Me.sfrAttachments.Form.LoadAttachmentData("商品照片", Me!商品ID, cnn) '附件添加的【加載作用】的代碼
'---------------------------------------------- ’“商品照片”的作用是給存放附件的名稱 增加【前綴】作用
'---------------------------------------------- ’“商品照片”建議使用 對應窗體的關鍵名稱當【前綴】
If Me.DataEntry Then
Me![商品ID]=Null
End If
Me.btnSave.Enabled=Me.AllowEdits
ExitHere:
Exit Sub
ErrorHandler:
MsgBoxEx Err.Description, vbCritical
Resume ExitHere
End Sub
Private Sub btnSave_Click()
If CanViewVBACode() Then
On Error GoTo 0
Else
On Error GoTo ErrorHandler
End If
If Not CheckRequired(Me) Then Exit Sub
If Not CheckTextLength(Me) Then Exit Sub
Dim strWhere As String
strWhere="[商品ID]<>" & Nz(Me![商品ID], 0) & " AND [商品編碼]=" & SQLText(Me![商品編碼])
If ACount("*", "商品信息表", strWhere) > 0 Then
MsgBoxEx "【商品編碼】已存在,不允許重復錄入。", vbCritical
Exit Sub
End If
Dim cnn: Set cnn=CurrentProject.Connection 'ADO.Connection()
'cnn.BeginTrans
'Dim blnTransBegin As Boolean: blnTransBegin=True
Dim strSQL: strSQL="Select * FROM [商品信息表] Where [商品ID]=" & Nz(Me![商品ID], 0)
Dim rst: Set rst=ADO.OpenRecordset(strSQL, adLockOptimistic, cnn)
If rst.EOF Then rst.AddNew
UpdateRecord Me, rst
'你的自定義代碼
'rst!Field1=Me!Field1
'rst!Field2=Me!Field2
'----------------------------------------------
'----------------------------------------------
Call Me.sfrAttachments.Form.SaveAttachmentData("商品照片", Me!商品ID, cnn) '附件功能添加的【保存作用】代碼
'---------------------------------------------- ’“商品照片”的作用是給存放附件的名稱 增加【前綴】作用
'---------------------------------------------- ’“商品照片”建議使用 對應窗體的關鍵名稱當【前綴】
rst.Update
rst.Close
'cnn.CommitTrans
'blnTransBegin=False
RequeryDataObject gsfrList
MsgBoxEx LoadString("Saved Successfully."), vbInformation
If Me.DataEntry Then
Me.InitData
Else
DoCmd.Close acForm, Me.Name, acSaveNo
End If
ExitHere:
Set rst=Nothing
Set cnn=Nothing
Exit Sub
ErrorHandler:
'If blnTransBegin Then
' cnn.RollbackTrans
' blnTransBegin=False
'End If
MsgBoxEx Err.Description, vbCritical
Resume ExitHere
End Sub
Private Sub btnCancel_Click()
On Error Resume Next
DoCmd.Close acForm, Me.Name, acSaveNo
End Sub
這里大家就知道前綴的作用,這里的名稱為:織造工藝照片。
以下相同顏色字體為對應位置關系。
織造工藝照片 8822-601 020 源源竹節詳細規格2.jpg
【前綴】 +【窗體唯一值】 +【附件對象的全稱】 ←系統保留在共享文件夾里格式
以上格式見下面截圖。
【注意這里是把原圖片復制到【共享文件夾】里,建議原文件不要放此共享文件夾內,隨著時間變化使用量的增加共享文件夾必定膨脹不方便管理也不安全】【建議把共享文件夾的屬性右鍵改成隱藏,防止誤操作】【共享文件夾也要定期維護,當文件缺失時打開對應的窗體會報錯】
注意:在平臺里附件不需要單獨設置對應的行來源,直接在原窗體上增加一個子窗體,把子窗體必須取名為sfrAttachments,其“源對象”屬性設為“SysFrmAttachments”,即可。
【SysFrmAttachments】是平臺自帶的窗體,所以只要創建一個子窗體指定相同的窗體名稱就能借用其已經設置好的構架。
【限制附件的方法】
sfrAttachments是附件功能的子窗體的名稱
Me.sfrAttachments.Enabled=True 激活附件的權限
Me.sfrAttachments.Enabled=False 取消附件的權限
增加或者刪除附件對象時,
有【前綴】 +【窗體唯一值】 +【附件對象的全稱】的命名原則上不會匹配紊亂的問題。
注意:附件的記錄修改保存時與其他窗體工作原理不同 。
當在窗體里刪除附件的內容時,共享文件夾也會同步自動刪除對應的文件,放心使用。
關于共享文件夾的使用進階:
1》養成每年創建年份共享文件夾名稱的習慣,集中收納管理。
2》共享文件夾的主目錄,根據水平采用隱藏手段,防止誤刪除發生
3》在共享文件夾內必須手動建立相應的年份的目錄,否則系統報錯。
4》原系統自動保存的附件文件,原存放路徑只要不改變不會因為創建新的共享文件地址而失效。放心使用。
演示圖:
示例下載:
盟威Access快速開發平臺2.6.5.547版本--★附件功能詳細說明★【Access軟件網】
前端開發中,CSS樣式經常需要覆蓋默認樣式以實現定制化的視覺效果。有時我們需要使用CSS穿透(穿透CSS)來實現這一點,特別是當我們需要修改內置元素的默認樣式時,例如select下拉菜單。下面是一個關于如何使用CSS穿透覆蓋默認樣式并實現自定義原生select控件樣式的教程。
首先,讓我們來看看如何使用CSS穿透覆蓋默認樣式。CSS穿透是一種通過在CSS中使用偽元素和子元素選擇器來覆蓋默認樣式的技術。以下是一個示例代碼:
css
復制代碼
select {
background: transparent;
border: none;
outline: none;
}
這篇文章中,我將分享21個HTML技巧,包括代碼片段,可以提升你的編碼技能。
讓我們立即開始吧。
(本文視頻講解:java567.com)
*請認真填寫需求信息,我們會在24小時內與您取得聯系。