设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
查看: 3811|回复: 8
打印 上一主题 下一主题

[Access本身] ACCESS2007奇怪的问题(6楼附件)?

[复制链接]
跳转到指定楼层
1#
发表于 2014-7-14 09:37:15 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 wx0000888 于 2014-7-15 11:25 编辑

在使用ACCESS2003或以下版本时,数据表窗体没有汇总行,也不能隔行变色(不设置条件格式的情况下),后改为 ACCESS 2007 ,数据表窗体 在 窗体启动后,在最后一行可以添加 汇总行,在数值字段设计 合计 计数,平均值都可以,狂喜。   在试试隔行变色,在不设置条件格式时 也能设置 隔行不同色, 太强大了, 但运行后遇到一个问题, 如果这个数据表窗体数据条数超过一个页面的情况下,鼠标点击 最后一行汇总行时, 最上面顶端 会相应显示 汇总行的数据,把原先行的数据遮盖住, 不知道大家有没有遇到这种情况?   另外在设计后再编辑代码,电脑会呆一会儿,可能是2007比较占内存我电脑不够好。


本帖子中包含更多资源

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

x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏1 分享分享 分享淘帖 订阅订阅
2#
发表于 2014-7-14 12:23:27 | 只看该作者
不用2007,应该也不会有这样的bug吧。是不是设置了什么
3#
 楼主| 发表于 2014-7-14 13:15:04 | 只看该作者
没有设置什么。

点击这里给我发消息

4#
发表于 2014-7-14 17:34:04 | 只看该作者
1.可能是刷新 的问题,
2.在2007再重新编绎 一下所有代码.建立转2010较好
3.建立不在要窗体运行时修改VBA代码.要关闭整个窗体进入修改状态再改代码

点击这里给我发消息

5#
发表于 2014-7-15 06:35:23 来自手机 | 只看该作者
关注!!!!
回复

使用道具 举报

6#
 楼主| 发表于 2014-7-15 10:29:18 | 只看该作者
本帖最后由 wx0000888 于 2014-7-15 10:38 编辑

还有一些问题 ,比如删除操作

DoCmd.RunCommand acCmdDeleteRecord  

DoCmd.DoMenuItem acFormBar, acEditMenu, 8, , acMenuVer70
DoCmd.DoMenuItem acFormBar, acEditMenu, 6, , acMenuVer70
   

复制 操作

DoCmd.RunCommand acCmdSelectRecord
DoCmd.RunCommand acCmdCopy
DoCmd.GoToRecord , , acNewRec
'DoCmd.RunCommand acCmdPasteAppend
DoCmd.RunCommand acCmdPaste

在 2003 或以下    可以,  在  2007  不可以

请见附件

本帖子中包含更多资源

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

x

点击这里给我发消息

7#
发表于 2014-7-16 07:50:34 来自手机 | 只看该作者
下了,学习—下。
8#
 楼主| 发表于 2014-7-18 13:05:35 | 只看该作者
本帖最后由 wx0000888 于 2014-7-18 16:39 编辑

本人使用t小宝版主的ADO,DAO具备事务处理功能的批量更新的这个例子,在长达2个月测试以来,出现缺点和错误比较多。
错误现象和缺点:
1,对象无效或不再被设置;
2,Access运行时错误'2455':您输入的表达式对属性Form/Report的引用无效
3,只能绑定单一的表,如果绑定复杂的连接语句组成的查询后就无法修改和添加输入。
4,有时在使用DAO方法时,窗体上ID字段不连号的话,操作复制的时候会出现错误,ID号会嵌入到绑定中表中没有出现的ID不连续号码中去,但随着ID增加上去,ID会出现与窗体绑定的表上的ID重合,这样也会出现错误,按理是不会出现的。
      比如绑定的表(订单明细)中的ID是  1,2,3,4,5,11,12,13,14,15,36,37,38,39. 当中的缺号是自己可能测试数据时增了又删了吧。  而窗体中的表根据订单ID号筛选出来的 ID是 1,3,4,5.   那么假如使用B代码复制数据,ID号就会是  6,7,8,9,10递增,再增加一条就会出错了,我估计就是ID 变成 11 ,与订单明细中的ID 号相等就出错了,不过本人使用A代码没发现这个问题。

A代码    用这个不会出现错误
            DoCmd.RunCommand acCmdSelectRecord
            DoCmd.RunCommand acCmdCopy
            DoCmd.RunCommand acCmdPasteAppend

  B代码   用这个就会出现错误
            Set rst = Me.订单明细子窗体.Form.RecordsetClone
            rst.FindFirst "ID=" & Me!订单明细子窗体![ID]
            fldCount = rst.Fields.Count
            arr() = rst.GetRows
            rst.AddNew
            For i = 0 To fldCount - 1
                If rst.Fields(i).Name <> "ID" Then
                   rst.Fields(i) = arr(i, 0):
                End If
            Next
            rst.Update

优点:
1,事务处理
2,可用于单一的表如,材料信息库表,供应商表,客户表,员工信息表,设备表,Bom表等等 ,绑定即可。

       经过分析:用ACCESS2007 (链接表)【前台】 + SQLSERVER 【数据库】开发比较适合,有人建议2010比较稳定,因为好像2010是2007的改进版,但我电脑测试2010也会出差错,实际两个版本测试还是2007比较稳定,速度2010略快。2007版本以上的数据表窗体就具有“汇总”和“隔行变色”,这两个功能确实不错。

      自己改进的地方:用SQL语句(SELECT  * into [Temp] From (Select 1 as 序号, a.材料Id ,b.材料名称....from [入库] a left join [材料] b on a.材料ID=b.材料ID WHRER.....)的建立的物理临时表,其中用“1 AS 序号”就是在临时表中插入序号字段的意思, 操作窗体再使用自定义序号函数, 这样比在表中的一个字段使用 =GETNUMBER([FROM])函数作为序号要快得多).

      本人的软件就是想达成这些功能目的 :  
      数据表窗体中的数据表具有,汇总,隔行变色,序号;
      窗体菜单上有:新增保存(一次性批量录入带库位的“明细数据表”和“主数据表”,并更新“即时库存表”,“主数据表”单击后“明细数据表”随之相应变动(该窗体上分别有主细两个表),复制,删除,预览报表,打印报表,输出报表,跨月红冲(或跨月修改,跨月修改实际就是把变化数反应在本月)。

      估计大家也是这么做的吧   本人原在EXCEL论坛,发现用EXCEL VBA编软件比较不适用 , 包括用VB 编软件也是有所限制 ,都没有ACCESS 功能强大以及样式实用,所以转来 ACCESS 论坛。

      本人这么详细说明也是想让大家有所了解,少走弯路,请大家指教。





点击这里给我发消息

9#
发表于 2014-7-19 06:34:19 来自手机 | 只看该作者
wx0000888 发表于 2014-7-18 13:05
本人使用t小宝版主的ADO,DAO具备事务处理功能的批量更新的这个例子,在长达2个月测试以来,出现缺点和错误 ...

谢谢分享,回头研究一下。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-5-23 01:44 , Processed in 0.122655 second(s), 32 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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