Access交流中心

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

跪求高手:窗体的文本框输入数据后如何判断该数据是否能在另一个表中找到?

夜泊吴江  发表于:2014-04-23 11:43:43  
复制

请教一下:

我有两张表:1Device表,SN为的键值。2change表,其中一个字段为SN

我为Change表做了一个窗体,为了保证输入数据的准确性,我想在窗体的SN中输入数据后能够做个SQL查询校验,如果数据不在Device中存在就提示出错。请问如何编辑?


 

Top
煮江品茶 发表于:2014-04-23 12:39:56

将这两个表拖入关系视图中,从主表中选中SN,并拖动出一条连线到子表的SN字段上。然后选择参照完整性即可。




吴霄波 发表于:2014-04-23 15:34:09
这个方法不行。Change是作为录入Devices的记录的,为了保留历史数据才需要保留Change表而不是直接修改Devices。所以还有一种情况就是新设备录入时输入的SN一定是不在Device表里的。

在水一方 发表于:2014-04-23 19:00:10

在控件的更新后事件里面使用dlookup函数判断即可

比如:

 If DCount("收据号", "住院患者统计", "[收据号] ='" & Forms![住院发票 更新].[当前收据号] & "'") > 0 Then
            MsgBox "该收据号已存在,请核对!"
        Else
              ....

end if



吴霄波 发表于:2014-04-24 14:53:44

具体我的表是否是这样写?

If DCount("SN","Device",""SN"="Forms![设备状态更新].[SN]"")=0 Then

     MsgBox "该设备尚未入库!"

Else

end if

如果我需要窗体中数据未在Device表中出现过,是否应该这样写?

If DCount("SN","Device",""SN"="Forms![新增设备].[SN]"")>0 Then

     MsgBox "该设备已入库!请确认。"

Else

end if



在水一方 发表于:2014-04-25 15:17:29

两端可以合并

If DCount("SN","Device",""SN"="Forms![设备状态更新].[SN]"")=0 Then

     MsgBox "该设备尚未入库!"

Else

     MsgBox "该设备已入库!请确认。"

end if



吴霄波 发表于:2014-05-15 18:41:52

再请教一下,如果我在判断设备已经入库的情况下,想从device表中查询到该SN的相关信息,如owner,我应该怎么做?

Device表中含两个字段:[SN],[Owner],

Form【设备状态更新】中也有Owner文本框,我希望在我输入SN后在判断设备在device中存在后,自动从device表中查询取得Owner信息更新到窗体的Owner文本框里。


谢谢!



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