2013-01-02 37 views
1

在Access 2010中,我以某種方式配置了允許將「富文本」數據輸入到背面的純文本字段中的前端表單和後端表 - 結束數據庫。將文本輸入到Access 2010中的有限長度文本字段中

表字段被定義爲一個文本字段,長度爲255個字符。當直接查看字段中的數據時,它的形式如下:<div>&nbsp;P2 &nbsp;&nbsp;</div>這就是我期望的Access「富文本」字段。

綁定到此表字段的字段是文本格式爲純文本(!)的文本框。沒有與其相關的驗證或代碼。當我在此字段中輸入或編輯文本時,我可以對其應用文本格式。

在很多方面,這是非常有用的 - 我有一個長度限於255個字符的富文本字段。但是,排序和過濾顯示底層的HTML標記,因此必須被禁止,並且我相信還有其他缺點。

但是,我的用戶非常喜歡它,他們已經在應用程序的其他地方要求了相同的功能......我無法弄清楚我是如何做到的。我懷疑我正在爲這段特定數據嘗試備註字段與純文本字段,並偶然發現導致此結果的一系列更改。

我試着切割粘貼和重命名錶和相應的表單域來複制它沒有成功。

我已經廣泛地搜索了類似情況的描述 - 沒有成功。

有沒有一種方法可以複製我所取得的成果?

+0

'MemoField'可以採取'豐富text' ..你能請重新確認要富文本插入一個文本字段? – bonCodigo

+0

@bonCodigo,我想要一個有限長度的富文本字段 - 一個限制爲50個字符的備註字段或一個接受並顯示富文本的50個字符長的文本字段。 – ColeValleyGirl

回答

2

如果您具有綁定到富文本備註字段的文本框的表單,則可以在該文本框上設置驗證規則以將其限制爲50個字符或更少。

text box property sheet to display Validation Rule

但是,這種長度限制將根據所有字符的總數...不只是那些顯示出來,同時也標記標記字符。從即時窗口中看到這個例子:

? DLookup("memo_field", "tblFoo", "id =1") 
<div>a <strong>b </strong>c</div> 
? Len(DLookup("memo_field", "tblFoo", "id =1")) 
33 

如果你想排除長度限制標記字符,請使用PlainText()功能:

? PlainText(DLookup("memo_field", "tblFoo", "id =1")) 
a b c 
? Len(PlainText(DLookup("memo_field", "tblFoo", "id =1"))) 
5 

而且在這種情況下,驗證規則特性都可是這樣的:

=(Len(PlainText([txtMemo_field]))<=50) 

當你對備註字段篩選條件查詢源數據,所有存儲字符(包括標記標籤)將被評估。如果你想過濾條件忽略標記標籤,使用PlainText()功能:

SELECT * 
FROM YourTable 
WHERE PlainText(memo_field) = "a b c"; 
1

您可以用少量代碼限制字符數。一個例子是:

Private Sub txtText_KeyPress(KeyAscii As Integer) 
    If Me.txtText.SelStart >= 254 Then 
     KeyAscii = 0 
    End If 
End Sub 

但是,我沒有測試過使用富文本的字符數。

1

我已經工作了我如何配置前端形式和後端即讓「富文本」表數據輸入到後端數據庫中的純文本字段中。

我聯繫的前端數據庫到具有相關領域設置爲富文本字段,然後創建/編輯相關表格(與字段格式爲富文本)測試後端。然後,我將它重新鏈接到生產數據庫,該數據庫具有完全相同的結構,但後端字段爲純文本。

我不推薦它,但它確實工作。

相關問題