殷小宝 发表于:2010-11-06 23:52:33
我将组合框选择设为限于列表,如果规格组合框列表里没有的,不能输入,必须添加新的规格,双击组合框弹出“规格”窗体,填上规格,点击关闭按钮,新增的规格自动出现在列表中的最后一个,最后还要选取才能得到此项值。那么怎能做到不用选取就能直接出现在组合框里呢?谢谢各位老师了。你们辛苦了。

Forms!药品入库信息.Requery
Forms!药品入库信息.规格组合框 = Forms!药品入库信息.规格组合框.Column(0, Forms!药品入库信息.规格组合框.ListCount - 1)
谢谢金爷老师,您的确帮了我大忙,使我节省了不少的时间。再次感谢。
简单的办法就是在“药品入库信息”窗体的按钮中:
DoCmd.OpenForm "规格",WindowMode:=acDialog '注意这里必须使用acDialog参数
Me.规格.Requery
红尘如烟老师,您的上述代码写在哪个事件中?谢谢老师!
Private Sub 规格_NotInList(NewData As String, Response As Integer) '在规格的属性标记写上 规格
Dim Rst As DAO.Recordset
Dim strName As String
Dim strMsg As String
strName = Me.ActiveControl.Tag
strMsg = strMsg & "您输入的规格不在列表中,在列表中添加新记录吗?"
Response = acDataErrContinue
If MsgBox(strMsg, vbQuestion + vbYesNo, "Add new name?") = vbYes Then
Set Rst = CurrentDb.OpenRecordset("[表名称]") '规格这段所在表名
Rst.AddNew
Rst(strName) = NewData
Rst.Update
Rst.Close
Set Rst = Nothing
Me.Controls.Item(strName) = NewData
Me.Controls.Item(strName).Requery
Else
Me.Controls.Item(strName).Undo
End If
End Sub
总记录:5篇 页次:1/1 9 1 :