以下我已测试过,可行。
1、就按你设置的内容,“入库”窗体有这些字段,当然“入库表”中也有这些字段。设置窗体的“数据”“记录源”为“入库表”,添加入库表的字段到窗体中,设置“料号”控件框的“更新后”事件如下:(这里,我假设“料号”是文本类型的)
Private Sub 料号_AfterUpdate()
Me.名称.Value = DLookup("[名称]", "物料信息表", "[料号]='" & Me.料号 & "'")
Me.规格.Value = DLookup("[规格]", "物料信息表", "[料号]='" & Me.料号 & "'")
Me.单位.Value = DLookup("[单位]", "物料信息表", "[料号]='" & Me.料号 & "'")
End Sub
如果,“料号”是数字类型,则如下:
Private Sub 料号_AfterUpdate()
Me.名称.Value = DLookup("[名称]", "物料信息表", "[料号]=" & Me.料号)
Me.规格.Value = DLookup("[规格]", "物料信息表", "[料号]=" & Me.料号)
Me.单位.Value = DLookup("[单位]", "物料信息表", "[料号]=" & Me.料号)
End Sub
当你更改料号后,随便单击其它的控制框,“名称”“规格”“单位”就能自动更新并填充进去!并能保进“入库表”中。
2、另外要说的是,你的“入库表”中“料号”肯定是主键吧, 你的“入库表”中只要有“料号”字段即可,不应当设置“名称”“规格”“单位”这些字段,这样是冗余的,不符合规范设计。
用记录集的查询操作啊
首先你要知道从表或查询中读记录,其次用循环比较料号是否存在在表中,找到后取出其各个字段给窗体控件赋值
你可以从ACCESS的VB帮助中查询openrecordset试试
10分钟就可以搞定。请留下邮箱,发给你。
以后记住,提此类问题请留下邮箱,这样才可以发实例给你。因为这种解答用文字很难讲得清楚,还不如一个实例对你更有帮助。
估计你在做一个存货管理,接下去还会有遇到更多的问题的。努力吧。