设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

12
返回列表 发新帖
楼主: laiguiyou
打印 上一主题 下一主题

[Access本身] 如何让列表框的选定行在添加物料以后焦点不变?

[复制链接]
11#
发表于 2006-6-16 03:54:00 | 只看该作者
做个简单的例子
12#
 楼主| 发表于 2006-6-16 06:54:00 | 只看该作者


本来在新增物料按钮的事件中加上me.list26.requery,这样可以把已采购的物料即时消失掉,只剩下未采购的物料,但这样速度非常的慢,只好等多加几笔数据后,一次性点刷新,但这样,列表中焦点每次都会跳回到第一条,或者还有没有办法,当重复点一条数据时,系统可以提示这条数据已添加,不能新增.用什么方法检测?


[此贴子已经被作者于2006-6-15 22:54:41编辑过]

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
13#
 楼主| 发表于 2006-6-16 17:44:00 | 只看该作者
已上传示例,请帮忙看看
14#
发表于 2006-6-16 19:57:00 | 只看该作者
你的文件太大了,没上传,请按下面代码修改

Dim IntIndex As Integer    '这句必须放在FORM的前面

'下面是LIST26的代码

Private Sub List26_Click()

Dim a As Integer

    a = MsgBox("是否添加此笔数据到采购单中26", vbOK + vbQuestion, "提示")

    If a = vbOK Then

IntIndex = Me.List26.ListIndex       '增加这一句


Me.订单号 = List26.Column(0)
Me.产品代号 = List26.Column(8)
Me.材料编号 = List26.Column(9)
Me.材料名称 = List26.Column(3)
Me.规格 = List26.Column(4)
Me.记账单位 = List26.Column(5)

Me.数量 = List26.Column(7)
Me.客户编号 = List26.Column(10)
Me.采购单价.SetFocus
Me.采购单价 = Me.单价




   ' Me.库存 = DLookup("[数量]", "库存清单", "[材料编号]=" & 材料编号.Value)
  'Me.随机库存 = IIf(Nz([库存数量], 0) - Nz([数量], 0) < 0, "0", Nz([库存数量], 0) - Nz([数量], 0))
  
  Me.实际采购量 = IIf(Nz([数量], 0) - Nz([库存数量], 0) < 0, "0", Nz([数量], 0) - Nz([库存数量], 0))
  
End If
End Sub



'下面是刷新的代码

Private Sub Command86_Click()
If Me.Toggle83 = -1 Then
Me.List78.Requery

Else

Me.List26.Requery


Me.List26.Selected(IntIndex + 1) = True       '返回上一次选定的记录
   

End If
End Sub
   





15#
 楼主| 发表于 2006-6-16 20:25:00 | 只看该作者
好象还是有问题,其它刷新按钮只是把已采购的物料从list26列表中去掉而已,这时对焦点停在哪里没什么关系,主要是新增物料以后,焦点会从刚才的地方跳到第一条.还有请问版主,   Dim IntIndex As Integer    '这句必须放在FORM的前面,是放在子窗休的current事件中吗?
16#
 楼主| 发表于 2006-6-16 21:24:00 | 只看该作者
问题解决了,谢谢版主
17#
发表于 2008-5-20 11:27:53 | 只看该作者
kankan
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-9-21 01:34 , Processed in 0.096379 second(s), 29 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表