2013-06-21 31 views
1

問題:Access 2010中嘗試編輯富文本字段

的用戶應該能夠在Access 2010中編輯了Textfieldcontroll一個RTF格式化文本,RTF格式應該用VARBINARY更新爲表(最大)列(SQL Server 2008 R2的

我的解決方案到目前爲止:

第一:用戶點擊 「編輯條目」 按鈕,這會觸發下面的代碼:

... 
DoCmd.OpenForm "theRtfEditForm", , , stLinkCriteria, , , args 
... 

第二:形式發射了,並且下面的代碼被執行(的onload事件):

Private Sub Form_Load() 
Dim TheRowiWantToEdit As String 

If (Me.OpenArgs <> "" And Not IsNull(Me.OpenArgs)) Then 
TheRowiWantToEdit = OpenArgs 
End If 

Dim query As String 
query = "select top 1 theColumnIWantToEdit from TableFoo where id = " & TheRowiWantToEdit 
Me.recordsource = query 
Me.Requery 


End Sub 

現在我可以輸入文本,甚至將其格式化,雖然我不能設置文本對齊(但那是一個不同的故事)。它也被更新到我的sql數據庫一切正常,

,但有一個問題:

形式的左下角

存在recordselector,他說:1 1,而當我打在編輯我的rtf時輸入,它會跳到2的記錄2中。現在,當我輸入某個內容然後回車時,它會顯示:

無法將值NULL插入'AColumnINeverselectedInMyQuery'列'TableFoo'列。 colmn不允許有空值。 INSERT失敗。

現在,我做了一些研製#2,和discowered這個線程: VBA-manipulate field with subform

此外,我認爲microsoft.com上this網站。

但我的問題是:我希望我的用戶能夠編輯現有記錄,而不是添加新記錄。而且我還仔細地預選了一條記錄,所以記錄選擇器在我的情況下是完全無用的,是的,我嘗試將Formproperties-> Recordselectors設置爲「否」,但它不起作用。

除此之外,編輯工作,如果用戶沒有按下輸入,但是當你無法創建段落時有什麼文本字段?

我的本質問題:

如何顯示/編輯僅這一個記錄?

回答

1

嘗試添加語句

Me.AllowAdditions = False 

Form_Load()代碼。這應該防止用戶無意中移動到「新紀錄」。