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 回答