1

ユーザーがボタンをクリックすると、新しいコメントログフォームが開くユーザーフォームがあります。この新しいフォームでは、関連するすべてのコメントを取得し、サブフォーム/データシートに表示します。

この 2 番目のフォームには、新しいコメントを入力できるコメント フィールドがあります。ユーザーが追加ボタンをクリックすると、テキストを入力して保存ボタンをクリックすると、コメントが関連付けられたテーブルに保存されます。

(この 2 番目のフォームでは編集と削除を禁止しています...追加のみが許可されています)

すべて問題ないようで、うまく機能しますが、追加しようとしているテーブルに移動すると、1 つのコメントに対して 2 つのレコードが追加されています。両方のレコードにコメント テキストが存在しますが、最初のレコードには他のすべてのデータ要素がありません。2番目のレコードは完璧です。

私が間違っているアイデアはありますか?

Private Sub AddNew_Click()
Me.Item_ID = Forms![F_First_Form]![ID]
Me.Item_Number = Forms![F_First_Form]![Item Number]
Me.Form_Name = "F_First_Form"
Me.User_ID = (Environ$("Username"))
Me.Comment.SetFocus
End Sub

Private Sub Form_Load()

Me.Item_ID = Forms![F_First_Form]![ID]
Me.Item_Number = Forms![F_First_Form]![Item Number]
Me.Form_Name = "F_First_Form"
Me.User_ID = (Environ$("Username"))
Me.AddNew.SetFocus
End Sub
Private Sub SaveComment_Click()
 Dim dbs As DAO.Database
    Dim rst As DAO.Recordset

Set dbs = CurrentDb()
Set rst = dbs.TableDefs("Conversation_Log").OpenRecordset
If Me.Comment = vbNullString Or Me.Dirty = False Then
Exit Sub
Else
With rst
.AddNew
!Form_Name = "F_First_Form"
    !User_ID = (Environ$("Username"))
!Item_Number = Me.Item_Number
!Item_ID = Me.Item_ID
!Comment = Me.Comment
.Update
End With
Me.Requery
Me.Refresh
MsgBox "Your comment has been saved"

End If
End Sub
4

1 に答える 1

0

Form Load ルーチンの AddNew をコメントアウトしてみてください。

Private Sub Form_Load()
    Me.Item_ID = Forms![F_First_Form]![ID]
    Me.Item_Number = Forms![F_First_Form]![Item Number]
    Me.Form_Name = "F_First_Form"
    Me.User_ID = (Environ$("Username"))
    **'Me.AddNew.SetFocus**

サブ終了

于 2013-12-22T22:08:16.080 に答える