在VB中,如何把一个涉及到两个表间的SQL语句赋值到一个变量中

主要问题是这样的。有两个表,一个是tb_teacher,一个是tb_user,前面的含有教师的名称tName,后面的是用户登录表,有用户名name。假设现在有一教师用户名... 主要问题是这样的。有两个表,一个是tb_teacher,一个是tb_user,前面的含有教师的名称tName,后面的是用户登录表,有用户名name。假设现在有一教师用户名为t001,还定义了一个Aname作为显示在StatusBar中的用户名变量,在登录窗口已经将tb_user表中的name赋值给了Aname。现在我想把Aname从显示t001变成教师名字tName中的值。rs是已定义的数据集。cn是已定义的数据库连接对象。
SQL语句我已经写出来了,但是运行时始终只显示t001的教师名字,再用t002登录还是t001的。
代码:
Private Sub Form_Load()
rs.Close
sql = "select tb_teacher.tName from tb_teacher,tb_user where tb_teacher.teacherID=tb_user.name"
rs.Open sql, cn, 3, 1
Aname = Trim(rs.Fields("tName"))
StatusBar1.Panels(1).Text = "用户:" & Aname
End Sub

各位VB大神,拜托了~~
展开
 我来答
慈理群YY
2011-06-27 · TA获得超过172个赞
知道小有建树答主
回答量:226
采纳率:0%
帮助的人:214万
展开全部
rs.Close
rs.Open "select * from tb_teacher where teacherID='" & Aname & "'", cn, 1, 1
Aname = Trim(rs.Fields("tName"))
StatusBar1.Panels(1).Text = "用户:" & Aname

这样就行了,调试通过了!你是select语句写错了,你这样写会输出三行数据,tName不唯一,所以会出现问题。
bydosniper
2011-06-27 · TA获得超过1059个赞
知道小有建树答主
回答量:605
采纳率:100%
帮助的人:238万
展开全部
tb_teacher.teacherID=tb_user.name

我怀疑这里有问题,不过具体看代码 才好说

多表查询参考这里
http://blog.csdn.net/prsniper/archive/2011/06/14/6542844.aspx
追问
我在查询分析器上把上面的SQL语句打上去能查出来。

参考资料: http://blog.csdn.net/prsniper/archive/2011/06/14/6542844.aspx

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
jinesc
2011-06-27 · TA获得超过200个赞
知道小有建树答主
回答量:939
采纳率:0%
帮助的人:543万
展开全部
你这样当然只显示1条记录了
do while not rs.eof
msgbox Trim(rs.Fields("tName"))

rs.movenext
loop
rs.close
追问
按你这样输入的话,还是只能显示一个t003呀。。无论我打t001还是t002登录它显示的教师名还是t003的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式