威Access快速開(kāi)發(fā)平臺(tái)由于采用Mdb格式不能直接使用附件功能,但是附件在日常操作中有很多作用,希望大家學(xué)會(huì)原理,提高辦公效率。
如果附件匹配上折疊功能,即簡(jiǎn)單又實(shí)用,僅供大家參考。
本文在歐志華先生的原理文章基礎(chǔ)上
Access快速開(kāi)發(fā)平臺(tái)2.6.5.547版本--附件及圖片功能注意事項(xiàng) [歐志華 2022/2/16 10:26:32]
對(duì)原著的代碼上進(jìn)行注解,供大家參考。沒(méi)有講清楚的地方,請(qǐng)見(jiàn)諒!
再次感謝歐志華先生!
復(fù)制以下代碼覆蓋 http://www.accessoft.com/article-show.asp?id=20188 的frm商品信息_Edit 所有代碼 供大家慢慢研究。
以下綠色部分是附件代碼的使用說(shuō)明和附件的重點(diǎn)代碼!
附件代碼的位置,增加的位置一定看清楚!
其中一個(gè)是加載附件的代碼 一個(gè)是保存附件的代碼,不要看錯(cuò)!
'【使用須知】------------------------------
'只能在平臺(tái)上使用------------------------
'編輯窗體中添加一個(gè)子窗體控件,控件名修改為“sfrAttachments”,其“源對(duì)象”屬性設(shè)為“SysFrmAttachments”,
'然后在加載和保存數(shù)據(jù)時(shí),添加一行調(diào)用代碼即可
'以下對(duì)附件功能的詳細(xì)說(shuō)明見(jiàn)具體步驟
'附件功能使用以下函數(shù)
'函數(shù)LoadAttachmentData 加載附件功能的函數(shù)
'函數(shù)SaveAttachmentData 保存附件功能的函數(shù)
'詳細(xì)的函數(shù)的使用說(shuō)明 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 '附件添加的代碼 設(shè)置變量
'----------------------------------------------
'----------------------------------------------
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) '附件添加的【加載作用】的代碼
'---------------------------------------------- ’“商品照片”的作用是給存放附件的名稱(chēng) 增加【前綴】作用
'---------------------------------------------- ’“商品照片”建議使用 對(duì)應(yīng)窗體的關(guān)鍵名稱(chēng)當(dāng)【前綴】
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 "【商品編碼】已存在,不允許重復(fù)錄入。", 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) '附件功能添加的【保存作用】代碼
'---------------------------------------------- ’“商品照片”的作用是給存放附件的名稱(chēng) 增加【前綴】作用
'---------------------------------------------- ’“商品照片”建議使用 對(duì)應(yīng)窗體的關(guān)鍵名稱(chēng)當(dāng)【前綴】
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
這里大家就知道前綴的作用,這里的名稱(chēng)為:織造工藝照片。
以下相同顏色字體為對(duì)應(yīng)位置關(guān)系。
織造工藝照片 8822-601 020 源源竹節(jié)詳細(xì)規(guī)格2.jpg
【前綴】 +【窗體唯一值】 +【附件對(duì)象的全稱(chēng)】 ←系統(tǒng)保留在共享文件夾里格式
以上格式見(jiàn)下面截圖。
【注意這里是把原圖片復(fù)制到【共享文件夾】里,建議原文件不要放此共享文件夾內(nèi),隨著時(shí)間變化使用量的增加共享文件夾必定膨脹不方便管理也不安全】【建議把共享文件夾的屬性右鍵改成隱藏,防止誤操作】【共享文件夾也要定期維護(hù),當(dāng)文件缺失時(shí)打開(kāi)對(duì)應(yīng)的窗體會(huì)報(bào)錯(cuò)】
注意:在平臺(tái)里附件不需要單獨(dú)設(shè)置對(duì)應(yīng)的行來(lái)源,直接在原窗體上增加一個(gè)子窗體,把子窗體必須取名為sfrAttachments,其“源對(duì)象”屬性設(shè)為“SysFrmAttachments”,即可。
【SysFrmAttachments】是平臺(tái)自帶的窗體,所以只要?jiǎng)?chuàng)建一個(gè)子窗體指定相同的窗體名稱(chēng)就能借用其已經(jīng)設(shè)置好的構(gòu)架。
【限制附件的方法】
sfrAttachments是附件功能的子窗體的名稱(chēng)
Me.sfrAttachments.Enabled=True 激活附件的權(quán)限
Me.sfrAttachments.Enabled=False 取消附件的權(quán)限
增加或者刪除附件對(duì)象時(shí),
有【前綴】 +【窗體唯一值】 +【附件對(duì)象的全稱(chēng)】的命名原則上不會(huì)匹配紊亂的問(wèn)題。
注意:附件的記錄修改保存時(shí)與其他窗體工作原理不同 。
當(dāng)在窗體里刪除附件的內(nèi)容時(shí),共享文件夾也會(huì)同步自動(dòng)刪除對(duì)應(yīng)的文件,放心使用。
關(guān)于共享文件夾的使用進(jìn)階:
1》養(yǎng)成每年創(chuàng)建年份共享文件夾名稱(chēng)的習(xí)慣,集中收納管理。
2》共享文件夾的主目錄,根據(jù)水平采用隱藏手段,防止誤刪除發(fā)生
3》在共享文件夾內(nèi)必須手動(dòng)建立相應(yīng)的年份的目錄,否則系統(tǒng)報(bào)錯(cuò)。
4》原系統(tǒng)自動(dòng)保存的附件文件,原存放路徑只要不改變不會(huì)因?yàn)閯?chuàng)建新的共享文件地址而失效。放心使用。
演示圖:
示例下載:
盟威Access快速開(kāi)發(fā)平臺(tái)2.6.5.547版本--★附件功能詳細(xì)說(shuō)明★【Access軟件網(wǎng)】
前端開(kāi)發(fā)中,CSS樣式經(jīng)常需要覆蓋默認(rèn)樣式以實(shí)現(xiàn)定制化的視覺(jué)效果。有時(shí)我們需要使用CSS穿透(穿透CSS)來(lái)實(shí)現(xiàn)這一點(diǎn),特別是當(dāng)我們需要修改內(nèi)置元素的默認(rèn)樣式時(shí),例如select下拉菜單。下面是一個(gè)關(guān)于如何使用CSS穿透覆蓋默認(rèn)樣式并實(shí)現(xiàn)自定義原生select控件樣式的教程。
首先,讓我們來(lái)看看如何使用CSS穿透覆蓋默認(rèn)樣式。CSS穿透是一種通過(guò)在CSS中使用偽元素和子元素選擇器來(lái)覆蓋默認(rèn)樣式的技術(shù)。以下是一個(gè)示例代碼:
css
復(fù)制代碼
select {
background: transparent;
border: none;
outline: none;
}
這篇文章中,我將分享21個(gè)HTML技巧,包括代碼片段,可以提升你的編碼技能。
讓我們立即開(kāi)始吧。
(本文視頻講解:java567.com)
*請(qǐng)認(rèn)真填寫(xiě)需求信息,我們會(huì)在24小時(shí)內(nèi)與您取得聯(lián)系。