以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  从后台提取数据,提示错误  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=91962)

--  作者:scofields
--  发布时间:2016/10/22 22:06:00
--  从后台提取数据,提示错误
狐爸,这段代码老提示“未知编译错误”,代码是窗口按钮,怎么修改呢?
Dim Products As List(Of String)
Products = DataTables("发运通知单").SQLGetValues("客户名", "密钥 = e.Form.controls("textbox1").value", "密钥")
For Each Product As String In Products 
    e.Form.controls("textbox2").value = Product
Next


--  作者:狐狸爸爸
--  发布时间:2016/10/23 16:20:00
--  
Dim Products As List(Of String)
Products = DataTables("发运通知单").SQLGetValues("客户名", "密钥 = \'" & e.Form.controls("textbox1").value & "\'", "密钥")
For Each Product As String In Products
    e.Form.controls("textbox2").value = Product
Next

动态合成表达式,请参考:http://www.foxtable.com/webhelp/scr/1284.htm

新手可以先看看这个视频教程: http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&Id=67187

--  作者:scofields
--  发布时间:2016/10/25 15:45:00
--  
狐爸,我要怎么样根据这段代码提取出客户名,品种,包装来呢?并把客户名赋值到Textbox2,品种赋值到Textbox3,包装赋值到Textbox4呢?上次是我犯了表达式没有加单引号的错误,真是不好意思。
Dim Products As List(Of String)
Products = DataTables("发运通知单").SQLGetValues("客户名", "密钥 = \'" & e.Form.controls("textbox1").value & "\'", "密钥")
For Each Product As String In Products 
    e.Form.controls("textbox2").value = Product
Next

--  作者:有点蓝
--  发布时间:2016/10/25 15:59:00
--  
参考:http://www.foxtable.com/webhelp/scr/2747.htm
看示例6

--  作者:scofields
--  发布时间:2016/10/25 16:05:00
--  
老师,这个示例我已经看过了,下面是帮助里的原文


示例六

下面这个例子,一般用户客户忽略。
可以同时从多列提取不重复的值,此时返回的不是字符的集合,而是字符数组的集合。
例如从客户列和产品列提取不重复的值:

\'定义数组集合的时候,要在类型后加上括号,表示这是一个数组集合。
Dim
 Arys As List(Of String()) 
Arys = 
DataTables("订单").GetValues("产品|客户"\'列名用符号|分割
\'注意循环变量是字符型数组,所以类型是String(),而不是String

For
 Each Ary As String() In Arys
    Output.Show(Ary(
0) & "|" & Ary(1)) 
Next

上面的代码是从客户和产品两列提取不重复的值,返回的不是一个字符集合,而是一个字符数组集合,每个数组包括两个元素,第一个元素是客户值,第二个元素是产品值。


这里重点提及了“提取不重复的值”,可我的产品,客户都有重复的值呢,这个又怎么解决呢?


--  作者:有点蓝
--  发布时间:2016/10/25 16:34:00
--  
那就用select