以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  条件  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=99184)

--  作者:刘林
--  发布时间:2017/4/14 7:41:00
--  条件
Dim dt As Table = Tables("中考报名_table3")
If dt.Rows.count>0
        For Each dr1 As Row In dt.Rows
        Dim dr2 As DataRow = DataTables("生地报名库").sqlFind("(身份证号 = \'" & dr1("sfzh") & "\' or  学籍号 = \'" & dr1("xjh") & "\') and 毕业中学代码 = \'" & trim("byzxdm") & "\'")
        If dr2 IsNot Nothing
            dr1("bmh") = trim(dr2("报名号"))
        End If
    Next
End If

老师,请问上面代码是想通过身份证号或学籍号并且毕业中学代码来找其报名号填入bmh,毕业中学代码条件可找,但加了找不到,请问怎么改,另外如再加限制条件报名号左两位为"16",怎么写条件,谢谢

--  作者:有点色
--  发布时间:2017/4/14 8:46:00
--  

改成

 

Dim dr2 As DataRow = DataTables("生地报名库").sqlFind("(身份证号 = \'" & dr1("sfzh") & "\' or  学籍号 = \'" & dr1("xjh") & "\') and 毕业中学代码 = \'" & byzxdm.trim() & "\' and left(报名号) = \'16\'")

 

关于条件的调试,你可以弹出合成的条件看是否正确,然后一个一个条件的删除,看能不能查找到数据。如

 

msgbox("(身份证号 = \'" & dr1("sfzh") & "\' or  学籍号 = \'" & dr1("xjh") & "\') and 毕业中学代码 = \'" & byzxdm.trim() & "\' and left(报名号) = \'16\'")

 


--  作者:刘林
--  发布时间:2017/4/14 9:21:00
--  
 Dim dr2 As DataRow = DataTables("生地报名库").sqlFind("(身份证号 = \'" & dr1("sfzh") & "\' or  学籍号 = \'" & dr1("xjh") & "\') and 毕业中学代码 = \'" & dr1("byzxdm").trim() & "\' and left(报名号,2) = \'16\'")


我改成了上面这个还是不行呢,我是取报名号左2位为"16"

--  作者:有点色
--  发布时间:2017/4/14 9:31:00
--  

代码没问题,请弹出条件,看条件是否正确,如果条件正确,说明你数据库没有对应的数据。

 

msgbox("(身份证号 = \'" & dr1("sfzh") & "\' or  学籍号 = \'" & dr1("xjh") & "\') and 毕业中学代码 = \'" & byzxdm.trim() & "\' and left(报名号) = \'16\'")

 

不然做个具体例子上来测试。


--  作者:有点色
--  发布时间:2017/4/14 9:32:00
--  

你用sqlfind,查找是后台查找的,如果你数据没保存,查不到;

 

如果还有问题,上传实例。

 

 


--  作者:刘林
--  发布时间:2017/4/14 9:42:00
--  
我是取报名号左边2位为16,该怎样写



--  作者:有点色
--  发布时间:2017/4/14 9:47:00
--  
以下是引用刘林在2017/4/14 9:42:00的发言:
我是取报名号左边2位为16,该怎样写


 

如果是查询的话,直接写 left(报名号,2) 就是截取前二位,left(报名号,2) = \'16\' 就是你需要的条件。

 

现在你是遇到什么问题?


--  作者:刘林
--  发布时间:2017/4/14 10:06:00
--  
现在的问题是提不出来,我的数据是有的,不加and后面的就提得出来,但限制条件不l够,所以要加


--  作者:有点色
--  发布时间:2017/4/14 10:12:00
--  

 不加哪个条件可以查询到?或者是,你直接做个表发上来帮你测试。

 

 

[此贴子已经被作者于2017/4/14 10:12:54编辑过]

--  作者:刘林
--  发布时间:2017/4/14 10:27:00
--  
好像left用在sele语句,这里用left是不是不对