Office中国论坛/Access中国论坛

标题: (求助)列表框导出到报表或者生成查询 [打印本页]

作者: xiaomin_007    时间: 2010-10-5 14:16
标题: (求助)列表框导出到报表或者生成查询
各位大侠好,最近做一个配件管理系统,遇到几个比较棘手的问题,还希望大家能帮忙解决一下;

系统主要功能如下:

1.窗体Frm_PartInformation中,管理各部门的配件,并且实现搜索、图片显示等;
此窗体遇到的问题:当搜索中没有相应的结果时,提示类型不匹配错误;或者点击子窗体的空白行时,也显示类型不匹配错误;

2.窗体Frm_PartPurchase中,配件当前在库低于最低下限时,显示在左边的列表框PO_List1中,并且可以有选择的移动到PO_List2中,进行订单打印;
此窗体遇到的问题:怎样将PO_List2中的项目导出到报表,或者生成一个临时表,或者生成一个查询,然后就可以打印订单;
或者干脆可以在PO_List1中进行多选,选择的结果导出到报表。

多谢各位了,比较紧急!
[attach]43633[/attach]

作者: hjb016    时间: 2010-10-6 09:50
别着急,马上帮你看一下.
作者: hjb016    时间: 2010-10-6 10:36
你点击空白的时候,会提示类型不对,你要先判断是否为空值的.用if nz()<>"" then
还有就是路径判断的问题.

第二个我新建了一个临时表,还有添加了一个报表,报表你自己再修改一下了.
作者: xiaomin_007    时间: 2010-10-6 15:17
多谢啊,感谢感谢,我先看看
作者: xiaomin_007    时间: 2010-10-6 15:52
厉害,实现的很好啊,多谢了啊,管理员
作者: hjb016    时间: 2010-10-6 16:13
解决了就好!
作者: xiaomin_007    时间: 2010-10-7 13:58
管理员,还有个问题,因为我是初学者,所以做的照片存取还有些问题,我测试了一下,发现照片上问题比较多,经常导致照片不显示或者一直显示,能否帮我看看啊,
就是那个
frm_PartInformation窗体中的问题,照片的存储的方式我是使用的路径,在更改照片和删除照片的操作上存在一部分BUG,

xie  xie  la

作者: hjb016    时间: 2010-10-7 14:31
你设置断点调式一下,这样哪里代码有问题你自己以后都会修改了.
作者: xiaomin_007    时间: 2010-10-7 15:13
哦,还不会用断点调试,但还是在找问题,估计是我的方法总体上就错了,特别是在添加和删除的操作上,比较生硬,这个还得努力学啊
作者: hjb016    时间: 2010-10-7 15:23
是的,代码看上去比较多,杂,要去修改要花很多时间去看.设置断点就是在代码区域的左边非编辑区点击一下鼠标就可以了.就会在该行设置为红色标识,这样你运行的时候,它就会停顿在那里,你再按F8功能键,就可以逐行运行调试了.
作者: xiaomin_007    时间: 2010-10-7 16:01
哦,多谢关照,我试试看,今天必须搞定啊,所以很急啊
作者: xiaomin_007    时间: 2010-10-7 16:21
新问题,在 做删除记录操作的时候,虽然删除成功,但是提示:行句柄引用了一个被删除的行,我使用了断点调试,但没找到原因啊,多谢指教
作者: hjb016    时间: 2010-10-7 16:47
'**************************删除现有记录***********************

Private Sub CmdPartInforDelete_Click()
    On Error GoTo Err_CmdPartInforDelete_Click
   
    If Nz(Me![PartInformation_ChildForm]![txt_PartNumber]) <> "" Then
        CurrentDb.Execute "delete from tbl_PartInformation where 编号=" & Nz(Me![PartInformation_ChildForm]![txt_PartNumber])
        PartInformation_ChildForm.Form.Requery
        Me.Requery
    End If

    MsgBox "okokokok"
Exit_CmdPartInforDelete_Click:
    Exit Sub
Err_CmdPartInforDelete_Click:
    MsgBox Err.Description
    Resume Exit_CmdPartInforDelete_Click
End Sub
作者: hjb016    时间: 2010-10-7 16:48
把你那段删除代码替换过来.
你打开记录的同时,删除那个记录,是会出现问题的.
作者: xiaomin_007    时间: 2010-10-7 16:49
真厉害,我要好好研究一下,可否留下QQ或者邮箱啊,希望以后能多多交流啊,
作者: hjb016    时间: 2010-10-7 16:51
有问题就来论坛吧!
作者: xiaomin_007    时间: 2010-10-7 17:01
请教,为什么把编号改成型式来查询删除就提示错误呢
作者: xiaomin_007    时间: 2010-10-7 17:02
是不是因为不是数字的原因?
作者: hjb016    时间: 2010-10-7 17:11
不明白你的意思.
作者: xiaomin_007    时间: 2010-10-7 17:17
Private Sub CmdPartInforDelete_Click()
    On Error GoTo Err_CmdPartInforDelete_Click
   
    If Nz(Me![PartInformation_ChildForm]![txt_PartType]) <> "" Then
        CurrentDb.Execute "delete from tbl_PartInformation where 型式=" & Nz(Me![PartInformation_ChildForm]![txt_PartType])
        PartInformation_ChildForm.Form.Requery
        Me.Requery
    End If

    MsgBox "okokokok"
Exit_CmdPartInforDelete_Click:
    Exit Sub
Err_CmdPartInforDelete_Click:
    MsgBox Err.Description
    Resume Exit_CmdPartInforDelete_Click
End Sub
作者: hjb016    时间: 2010-10-7 17:28
CurrentDb.Execute "delete from tbl_PartInformation where 型式='" & Nz(Me![PartInformation_ChildForm]![txt_PartType]) & "'"

如果这样处理,您要确保你的型式是否是唯一的,不然会删除总为型式=你所选中的那个型式值.还有你这个型式是字符型,所以要加单引号才行的.你用那个编号已经是正确的,你为何要修改,因为编号是自动编号的,它是唯一值.
作者: xiaomin_007    时间: 2010-10-7 17:32
还有个问题:
为什么删除照片之后切换记录时,照片还是会显示在窗体上呢,路径文本框中分明已经是空值了啊,还有窗体也更新了,用代码把图片也置空了,可是还是显示在窗体上,能否再赐教。谢谢了
    Me![txt_PartPhotoPath] = ""
    Me![img_PartPhoto].Picture = ""
作者: xiaomin_007    时间: 2010-10-7 17:38
原来如此,因为在这个表中,型式是唯一的,因为前面的所有处理都是以型式为主键处理的,所以我就试着改着看看,这下知道真实原因了,我还是用编号来处理就可以了,多谢指教啊,今天收益匪浅啊,多谢多谢
作者: hjb016    时间: 2010-10-11 18:18
删除照片的代码应该添加txt_PartPhotoPath_AfterUpdate事件吧!这样删除了照片,应该就能马上更新图片了吧!你先试一下.
作者: xiaomin_007    时间: 2010-10-12 08:51
老大早上好,看我的代码:
Private Sub txt_PartPhotoPath_AfterUpdate()
' 在选择了一个部品照片后,显示照片.
    On Error Resume Next
  'If (IsRelative(Me!txt_PartPhotoPath) = True) Then
   ' Me![img_PartPhoto].Picture = path & Me![txt_PartPhotoPath]
    'Else
        'Me![img_PartPhoto].Picture = Me![txt_PartPhotoPath]
        'Me![img_PartPhoto].Picture = ""
    'End If
   
    If Me![txt_PartPhotoPath].Value = Null Then
    Me![img_PartPhoto].Picture = ""
    Else
    Me![img_PartPhoto].Picture = Me![txt_PartPhotoPath]
    Me!txt_PartPhotoPath.Requery
    Me!img_PartPhoto.Requery
    Me.Requery
    End If
效果还是一样啊,不知道什么原因,请再指教一下啊,多谢了
作者: hope678    时间: 2011-7-4 16:23
学习了
作者: huxinhua    时间: 2012-1-10 18:40
学习了
作者: wanncpn    时间: 2012-4-11 14:47
管理员很尽业!




欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3