Access交流中心

北京 | 上海 | 天津 | 重庆 | 广州 | 深圳 | 珠海 | 汕头 | 佛山 | 中山 | 东莞 | 南京 | 苏州 | 无锡 | 常州 | 南通 | 扬州 | 徐州 | 杭州 | 温州 | 宁波 | 台州 | 福州 | 厦门 | 泉州 | 龙岩 | 合肥 | 芜湖 | 成都 | 遂宁 | 长沙 | 株洲 | 湘潭 | 武汉 | 南昌 | 济南 | 青岛 | 烟台 | 潍坊 | 淄博 | 济宁 | 太原 | 郑州 | 石家庄 | 保定 | 唐山 | 西安 | 大连 | 沈阳 | 长春 | 昆明 | 兰州 | 哈尔滨 | 佳木斯 | 南宁 | 桂林 | 海口 | 贵阳 | 西宁 | 乌鲁木齐 | 包头 |

求追加时遇重复数据提醒代码

冬雪  发表于:2011-08-30 23:06:52  
复制

各位高手:

   遇到难题了。

   原先写了一个追加代码:

  DoCmd.RunSQL "delete *from 总数据 where 营运日期 in (select 营运日期 from 发车时间查询)"

  DoCmd.RunSQL "insert into 总数据 select * from 发车时间查询 "

 

后来发现这个做法容易把正确的数据替换掉。

故请各位高手帮忙,在此函数之间写一个代码,做到:

  如果 【发车时间查询】.【营运日期】在【总数据】.【营运日期】当中已经存在,提醒“数据已经存在”。

 

  要是把同日内的数据进行更新,就更好了。

 

可以办到吗?

 

先谢谢了。

 

Top
羽扇子君 发表于:2011-09-05 13:10:51

在进行更新前,先进行一下DlookUp查询,如果结果不是空,如果不是空,就提示,否则,更新。

    If Not IsNull(DLookup("[厂家ID]", "总数据", "条件自己写好")) Then
        MsgBox "已存在的数据:" 

    else
        DoCmd.RunSQL "delete *from 总数据 where 营运日期 in (select 营运日期 from 发车时间查询)"

        DoCmd.RunSQL "insert into 总数据 select * from 发车时间查询 "

    End If



煮江品茶 发表于:2011-09-05 13:45:03
多此一举。总数据这个表没什么用处折腾这些做甚?

冬雪 发表于:2011-09-07 09:21:09

1楼:

我依样画葫芦,写了:

If Not IsNull(DLookup("[营运日期]", "总数据", "[营运日期]='" & Me.[营运日期] & "")) Then

 

但是提示出错,不知何故?是否Dlookup 不支持日期型数据?

 

2楼:

我是在客运公司搞车辆调度的,自己有空搞一个调度数据库。每天的运营计划大致相同,所以搞一个追加查询。把当天的记录追加到总数据表里面去。

 

谢谢楼上二位。



羽扇子君 发表于:2011-09-07 09:32:13

注意:日期型数据,要用#号来分隔,就像文本型要用'一样

If Not IsNull(DLookup("[营运日期]", "总数据", "[营运日期]= #" & Me.[营运日期] & #"")) Then



羽扇子君 发表于:2011-09-07 09:33:08

站长,快快处理编辑框中光标不可用的问题,害死人:

If Not IsNull(DLookup("[营运日期]", "总数据", "[营运日期]= #" & Me.[营运日期] & "#")) Then



冬雪 发表于:2011-09-07 11:07:02

谢谢楼上,问题已经解决。

 

再次感谢。



羽扇子君 发表于:2011-09-07 11:16:01
请结贴,谢谢。

赵文斌 发表于:2011-09-07 11:24:36
最好设一个主键,用不着这么麻烦了

总记录:8篇  页次:1/1 9 1 :