Access交流中心

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

关于DLookup的问题

lukeaccess  发表于:2011-02-12 11:24:48  
复制

我想在窗体的一个文本框中的值,表中是否有。
1.If (DLookup("[材料名称]", "表", "[材料名称] <> '" & Me.材料名称 & "'")) Then
msgbox"材料名称相同"
else
msgbox"材料名称不同"
end if

2.If DLookup("[材料名称]", "表") = Me.材料名称 Then
msgbox"材料名称相同"
else
msgbox"材料名称不同"
end if
都会出现类型不匹配的错误,但是我的数据类型确实是文本型没有不匹配,不知道是什么原因,请高手指点

 

Top
王樵民 发表于:2011-02-12 11:42:15

你的错误主要是,DLookup是一个函数,将要返回从记录集中找出满足条件的字段值,返回的不是布尔型,所以错误正确的写法如下:

If (DLookup("[材料名称]", "new", "[材料名称]='" & Me.材料名称 & "'") <> "") Then
MsgBox "材料名称相同"
Else
MsgBox "材料名称不同"
End If



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