以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  [求助] Select 选出字段的值,怎么在表达式中用?  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=60943)

--  作者:whyfoxtable
--  发布时间:2014/12/4 11:21:00
--  [求助] Select 选出字段的值,怎么在表达式中用?
For Each R As Row In Tables("窗口1_Table1").Rows
    With R
        If ( R("课程") = (Select Top 1 a.[课程] from {课程安排表} a where a.[已经选中] = \'1\' ) )
            .Checked = True
        Else
            .Checked = False
        End If
    End With
Next

这段代码报错:
编译错误:Expression expected
错误代码:If ( R("课程") = (Select Top 1 a.[课程] from {课程安排表} a where a.[已经选中] = \'1\' ) )

现附上项目,代码在项目窗口1的AfterLoad事件中。
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目15.rar

另,Select Top 1 a.[课程] from {课程安排表} a where a.[已经选中] = \'1\' 这段代码已经在SQL窗口中执行通过

请帮忙查错!

[此贴子已经被作者于2014-12-4 11:26:18编辑过]

--  作者:Bin
--  发布时间:2014/12/4 11:26:00
--  
未见报错啊
--  作者:whyfoxtable
--  发布时间:2014/12/4 11:28:00
--  
说明两点:
1我把代码用""给括起来了,不然不让我保存,需要把后加的双引号去除来查错。或把我上面的代码复制进去也可。。。。
2.请在窗口1的事件afterLOAD中找代码。。。
[此贴子已经被作者于2014-12-4 11:29:17编辑过]

--  作者:有点甜
--  发布时间:2014/12/4 11:29:00
--  
For Each R As Row In Tables("窗口1_Table1").Rows
    With R
        If DataTables("课程安排表").Find("已经选中 = \'1\' and 课程 = \'" & r("课程") & "\'") IsNot Nothing Then
            .Checked = True
        Else
            .Checked = False
        End If
    End With
Next

--  作者:whyfoxtable
--  发布时间:2014/12/4 11:31:00
--  
有点甜真是大师啊。我的脑筋还没上路。。。。在foxtable里,不能当是在Oracle或foxpro里。。。。我已经吃过亏了,居然没长记性。。。。再次感谢。。。。