0

新しいレコードをレコードセットに追加するサブ プロシージャがあります。

Dim RS As Recordset
Set RS = getRSObject("Tickets")
RS.AddNew
RS.Fields("subject").Value = Me.txtSubject.Text
RS.Fields("detail").Value = Me.txtDetail.Text
RS.Fields("dateopen").Value = Format(Now, "mm/dd/yy hh:nn")
RS.Fields("status").Value = "Open"
RS.Fields("user").Value = Me.ComboUser.Text
RS.Fields("assignedto").Value = Me.comboAssignedTo.Text
RS.Fields("priority").Value = Me.ComboPriority.Text
RS.Fields("category").Value = Me.comboCategory.Text
RS.Fields("unplanned").Value = Me.cbUnplannedWork.Value
RS.Save

RS.Close
doEvents 

私の問題は、同じモジュールのさらに数行下で、同じアクセス テーブルを照会してチケットのリストを更新することです。しかし、この新しいレコードはこのレコードセットにはありません。サブ手順が終了するまで、アクセスするレコードが書き込まれていないかのようです。

上記の手順が完了した後、チケットのリストを手動で更新します。挿入したレコードが表示されます。

「チケットに挿入(......」)のように完全なSQLステートメントとして挿入を実行すると、これは正常に機能し、リストにレコードが表示されますが、ユーザーがハイフンなどの文字を入力すると、問題が発生しやすくなりますテキストフィールド。

データを Access データベースに強制的に書き込み、サブプログラムが終了する前に利用可能にするコマンドを教えてください。

4

1 に答える 1

1

RS.Updateの代わりに使用してみてくださいRS.Save

Dim RS As Recordset
Set RS = getRSObject("Tickets")
RS.AddNew
RS.Fields("subject").Value = Me.txtSubject.Text
RS.Fields("detail").Value = Me.txtDetail.Text
RS.Fields("dateopen").Value = Format(Now, "mm/dd/yy hh:nn")
RS.Fields("status").Value = "Open"
RS.Fields("user").Value = Me.ComboUser.Text
RS.Fields("assignedto").Value = Me.comboAssignedTo.Text
RS.Fields("priority").Value = Me.ComboPriority.Text
RS.Fields("category").Value = Me.comboCategory.Text
RS.Fields("unplanned").Value = Me.cbUnplannedWork.Value

RS.Update


RS.Close
doEvents 
于 2012-07-12T13:10:25.847 に答える