以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  求助!!!  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=51041)

--  作者:看雪的人
--  发布时间:2014/5/18 9:54:00
--  求助!!!
改写代码了问题,求狐爸帮看看问题出在那!!
以下修后的代码:

Dim t As Table =Tables("市场客户模糊查询_Table1")
Dim py,Lm,Ts, Bm,sql,Lb,sl As String
Dim Ls As New List(Of Integer)
Dim Lss As New List(Of String)
Static st As String

Dim drs As New List(of DataRow)                        \'定义一个DataRow行的集合
Ts = "编号,客户姓名,联系电话,小区地址,市场部,设计部"                                    \'查询相关列
Bm = "中冠市场部客户表"
If st = e.sender.Text.ToUpper Then
    Return
Else
   st = e.sender.Text.ToUpper
End If    
e.sender.Text =  st
Sendkeys.Send("^{END}")                                    \'光标定于输入框最后

drs = DataTables(Bm).Select("客户姓名 > \'\'")
\'赋值drs=员工表--姓名列不为空的 DataRow行
If drs.count > 0 Then                                             \'如drs行数>0,执行...
    If st IsNot Nothing Then                                    \'如输入框内容不为空,执行...
        For Each Lm In Ts.split(",")                            \'遍历查询相关列
            For Each dr As DataRow In drs                   \'遍历所有行
                py = GetPY(dr(Lm),True)                       \'赋值py = 查询行查询列的简拼
                If dr(Lm).IndexOf(st)> -1 OrElse py.IndexOf(st) > -1 Then
                                                                              \'如查询行查询列内容(或简拼)包含输入框内容,执行...
                    If Ls.Contains(dr("_Identify")) = False Then    \'如不包含则增加
                        ls.Add(dr("_Identify"))
                    End If                   
                    If Lss.Contains(dr(Lm)) = False Then
                        Lss.Add(dr(Lm))
                    End If
                    
                End If
            Next
        Next
        If Ls.count > 0 Then
            For Each n As Integer In Ls
                sql+ = ","  & n                                                             
            Next
            sql = "[_Identify] In(" & sql.Trim(",") & ")"                            \'包含主键[_Identify]内容
            sql = "select " & Ts & " from{" & Bm & "} where " & sql          \'合成SQL语句
            t.Fill(sql,True)                                                                    \'生成SQL查询表
            For Each sl In Lss
                lb+ = "|"  & sl
            Next
            e.sender.ComboList = lb                                                      \'形成输入框列表
        Else
            MessageBox.show("抱歉,数据库中没有您想查询的信息!" )
            \'e.sender.value =  ""
            e.sender.Select
            Return           
        End If      
    End If
End If



就修改了查询的列名称,出现如图的错误提示!求助!!!
图片点击可在新窗口打开查看此主题相关图片如下:qq截图20140518095207.jpg
图片点击可在新窗口打开查看

--  作者:看雪的人
--  发布时间:2014/5/18 9:56:00
--  
急用,求帮看看!!!
--  作者:看雪的人
--  发布时间:2014/5/18 9:59:00
--  
表况是这样的:
图片点击可在新窗口打开查看此主题相关图片如下:qq截图20140518095845.jpg
图片点击可在新窗口打开查看

--  作者:看雪的人
--  发布时间:2014/5/18 10:16:00
--  
没人来吗?
--  作者:有点甜
--  发布时间:2014/5/18 10:21:00
--  

 自己电脑的问题,GetPY不会提示这个错误。

 

 你单独测试GetPY这个函数看会不会出错。


--  作者:看雪的人
--  发布时间:2014/5/18 10:23:00
--  
跪求大师指点啊!!!
图片点击可在新窗口打开查看此主题相关图片如下:qq截图20140518102203.jpg
图片点击可在新窗口打开查看

--  作者:看雪的人
--  发布时间:2014/5/18 10:24:00
--  
您好,我昨晚做好表格后,一开始是可以的,但关闭在打开时这个代码就不能用了。不知道是什么原因,求指点!!!
--  作者:有点甜
--  发布时间:2014/5/18 10:29:00
--  

 如果提示6楼的错误,这样改。如果还有错,上传出错例子。

 

For Each dr As DataRow In drs                   \'遍历所有行
    If dr.IsNull(Lm) = False Then
        py = GetPY(dr(Lm),True)                       \'赋值py = 查询行查询列的简拼
        If dr(Lm).IndexOf(st)> -1 OrElse py.IndexOf(st) > -1 Then
            \'如查询行查询列内容(或简拼)包含输入框内容,执行...
            If Ls.Contains(dr("_Identify")) = False Then    \'如不包含则增加
                ls.Add(dr("_Identify"))
            End If
            If Lss.Contains(dr(Lm)) = False Then
                Lss.Add(dr(Lm))
            End If
           
        End If
    End If
Next


--  作者:看雪的人
--  发布时间:2014/5/18 10:31:00
--  
我查了下,我的这个文件昨晚在另一个文件夹里做好的,可以的,但今天我拷贝到这个文件夹后就不可以了。难道文件不能变换文件夹位置吗?
--  作者:有点甜
--  发布时间:2014/5/18 10:33:00
--  
以下是引用看雪的人在2014-5-18 10:31:00的发言:
我查了下,我的这个文件昨晚在另一个文件夹里做好的,可以的,但今天我拷贝到这个文件夹后就不可以了。难道文件不能变换文件夹位置吗?

 

看8楼。