Office中国论坛/Access中国论坛

标题: 请教各位:怎样引用数据表中的满足一定条件的记录的某个字段? [打印本页]

作者: mydreamskyon    时间: 2007-4-27 08:47
标题: 请教各位:怎样引用数据表中的满足一定条件的记录的某个字段?
我在access的帮助里面查不到这个问题

请教各位高手:怎样引用数据表中的满足一定条件的记录的某个字段?

比如,现在有一个密码表,包含“用户名”和“密码”两个字段。

在窗体里面有两个文本框t1和t2,分别输入用户名和密码就可以打开其他窗体。



请问:1、怎样定位到密码表中的用户名和我在窗体中的文本框t1中输入的那个用户名相同的记录上去,

         2、定位到相关记录上了以后,怎样引用数据表中那条记录的密码字段值,好用来判断文本框t2中输入的密码和数据表中的那条记录的密码相同



非常感谢
作者: 一点通    时间: 2007-4-27 16:49
可使用DLookup()函数

http://www.office-cn.net/forum.php?mod=viewthread&tid=41548&replyID=&skin=1
作者: mydreamskyon    时间: 2007-4-28 02:21
我按照函数说明用了这个函数,但是总是说那些引号的地方错误

以下是代码:

If T2 = DLookup("密码", "密码表", "用户名='"&forms!窗体2!t1&"'") Then
DoCmd.OpenForm "界面", acNormal, , , acFormPropertySettings, acWindowNormal
Else
MsgBox "用户名或者密码不正确", vbCritical, "警告"
End If
作者: 一点通    时间: 2007-4-28 03:06
传例子上来
作者: mydreamskyon    时间: 2007-4-29 18:55
标题: 请指教阿
[attach]24220[/attach]



谢谢哦

作者: 一点通    时间: 2007-4-29 19:40
If Me.T2 = DLookup("[密码]", "密码表", "[用户名]='" & T1 & "'") Then
    DoCmd.OpenForm "主界面", acNormal, , , acFormPropertySettings, acWindowNormal
Else
    MsgBox "用户名或者密码不正确", vbCritical, "警告"
End If

作者: mydreamskyon    时间: 2007-4-30 05:38
谢谢你哦,问题解决了。原来是&和t1之间没加空格。

顺便请教一下:

me.t2中的那个me是指当前窗体吗?有什么作用阿。

感觉me.t2和t2用起来没什么区别
作者: mydreamskyon    时间: 2007-5-6 04:35
me.t2中的那个me是指当前窗体吗?有什么作用阿
作者: andymark    时间: 2007-5-6 05:08
以下是引用mydreamskyon在2007-5-5 20:35:00的发言:
me.t2中的那个me是指当前窗体吗?有什么作用阿



     是的

   
作者: tz-chf    时间: 2007-5-6 05:44
以下是引用一点通在2007-4-29 11:40:00的发言:
If Me.T2 = DLookup("[密码]", "密码表", "[用户名]='" & T1 & "'") Then
    DoCmd.OpenForm "主界面", acNormal, , , acFormPropertySettings, acWindowNormal
Else
    MsgBox "用户名或者密码不正确", vbCritical, "警告"
End If

这种写法是有问题的,不要想把所有的都在一句话解决掉,做过网站编程的都知道。


如:T1="') or 1=1 or ('",那么全通过,甚至还可以写进一个函数。

[此贴子已经被作者于2007-5-5 21:44:58编辑过]


作者: mydreamskyon    时间: 2007-5-10 07:24
有道理

没考虑到这点。

只是该怎么改,才能避免这种情况呢




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