Office中国论坛/Access中国论坛
标题: 怎样读取子窗体记录,无法移动指针啊(access 编程) [打印本页]
作者: mildwheat 时间: 2006-1-11 01:04
标题: 怎样读取子窗体记录,无法移动指针啊(access 编程)
怎样读取子窗体记录,无法移动指针啊(access 编程)
Private Sub Form_Current() '当此子窗体打开为当前时,显示已有的记录数,并读取相关记录
Dim strsource As String
Dim intscount As Integer
Dim rspeicur As Recordset
'Set rspeicur = Me.Recordclone
'我本想如此获取的记录集,之后准备运行rspeicur.movenext代码读取记录,编译时'Set rspeicur = Me.Recordclone出现错误为“方法或成员未找到”
intscount = Recordset.RecordCount
'统计当前子窗体记录数
Debug.Print intpeicount
If 原料批号.value <> Null Then strsource = 原料批号.value '这只是第一条记录的值,如何读取之后的记录值?
请各位神雕侠帮忙,我已经头都破了,一无所展!!!!
我的邮箱:lengshuikgh@msn.com
救命,拜托!
作者: 一点通 时间: 2006-1-11 01:12
你这些代码都是复制过来的吧,只有代码没有例子很难分析的,初步知道是你没有Recordclone这个文本框
作者: mildwheat 时间: 2006-1-11 04:13
标题: 不需要recordclone这个文本框吧?
Private Sub Form_current() '子窗体的当前事件
Dim strsource As Variant
Dim intpeicount As Integer
Dim rspeicur As Recordset
Set rspeicur = Me.Form.RecordsetClone
rspeicur.Requery
intpeicount = rspeicur.RecordCount '统计当前子窗体记录数
If intpeicount = 0 Then GoTo rsnull
rspeicur.MoveFirst
Debug.Print intpeicount
strsource = DoubleQuote(原料批号.Value) '在此处,主窗体跳转记录后,会出现:原料批号.value=<没有记录。>的错误。
'现在问题解决一半了,子窗体第一次当前事件时可以读取数据,但是当主窗体跳转记录后,又无法读取出记录了
If intpeicount > 1 Then
For i = 2 To intpeicount
rspeicur.MoveNext
strsource = strsource + "or " + DoubleQuote(rspeicur(1).Value)
Debug.Print strsource
Next i
End If
rspeicur.Close '我看帮助文件说明:recordsetclone是副本,关闭后,可能就找不到正确的值了
rsnull:
Exit Sub
end sub
谁来救救我????????????
作者: fan0217 时间: 2006-1-11 04:14
把库传上来,光这样看不明白。
作者: mildwheat 时间: 2006-1-11 04:57
标题: 我给个截图吧,库里的数据太多了
[attach]15267[/attach]
我想是在主窗体配料表里对应显示出子窗体内的数据,同时,当 配料明细 子窗体不断成为当前时,把主要的原料批号的信息读取出来以便使用。
但是,记录在主窗体跳转后,就无法读取子窗体内的记录了。
还有就是 原料批号.value 必须改为 rspeicur(1).Value, 否则只能读取第一行的数据
请斑竹指点一二,不胜感激!
[此贴子已经被作者于2006-1-10 20:59:55编辑过]
作者: 一点通 时间: 2006-1-11 05:11
"我给个截图吧,库里的数据太多了"
是想对例子保密还是什么?不可以简化传上来吗?你要知道没有具体问题不可能作深入分析的,按常规不会出现你这种情况的,算了,不传也不免强你了
[此贴子已经被作者于2006-1-10 21:12:41编辑过]
作者: mildwheat 时间: 2006-1-11 05:48
标题: 获取子窗体记录的数据库文件简化版
以下是引用一点通在2006-1-10 21:11:00的发言:
"我给个截图吧,库里的数据太多了"
是想对例子保密还是什么?不可以简化传上来吗?你要知道没有具体问题不可能作深入分析的,按常规不会出现你这种情况的,算了,不传也不免强你了
[attach]15269[/attach]
[em04]诚恳求教!
作者: 一点通 时间: 2006-1-11 06:11
看过你的例子,但还不明你在问什么?跳转是什么意思?打印什么?最终结果又是什么呢?
作者: mildwheat 时间: 2006-1-11 06:56
标题: 斑竹, 您好!是这样子的
我想当主窗体配料表移到下一条记录时,可以获取配料明细子窗体中的原料批号信息,并且在立即窗口中打印出来。
配料表批号记录为06时
也就是当子窗体第一次成为当前时
有明细记录条数: 2
明细的原料批号为即rspeicur(1):'05002'or '05003'
而当主窗体移到第二条记录:060105时
有记录明细条数: 1
明细的原料批号为更新后的记录集中的原料批号rspeicur(1):'05033'
但是,实现不了,不能把第二条记录的明细原料批号记录打印在立即窗口里
我有用断点检测过,此时rspeicur(1).value 的值 为 没有记录
斑竹,拜托了,我已经苦想了很久了,实在难以解决。头发都快掉光了
作者: fan0217 时间: 2006-1-11 21:02
在主窗体的成为当前事件中加上以下代码,然后将子窗体的所有代码删除。我将子窗体名称改为了“配料明细”。
Private Sub Form_Current()
Dim strSource As String
Dim intScount As Integer
Set rs = Me![配料明细].Form.Recordset
intScount = rs.RecordCount
Do While Not rs.EOF
strSource = strSource & " " & rs("原料批号")
rs.MoveNext
Loop
MsgBox "配料明细记录数量:" & intScount & " 原料批号为:" & strSource
End Sub
作者: jackeylee 时间: 2007-3-23 18:52
标题: LIHAI
好啊[em17][em17][em17]
欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) |
Powered by Discuz! X3.3 |