以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 表达式问题 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=65558) |
-- 作者:utcxray -- 发布时间:2015/3/18 12:34:00 -- 表达式问题 问题:每次在“采购明细”表中输入“型号”时,就在“采购明细”表中找与输入“型号”相近的记录,并弹出对话框告诉输入者所有包含与输入“型号”字符的记录发生的“供应商”、“采购日期”、“单价”。 原因:1、由于时间的变动,不同时期同“型号”的单价不一样。 2、由于供货来源的变动,同“型号”的产品可能来自不同的供应商。 我的问题 一、 \'以下确保型号以及价格的唯一性、准确性 If e.DataCol.Name = "型号" Then \'如果内容发生变动的是型号列 Dim dr As DataRow With DataTables("采购明细") dr = .Find("型号 LIKE \'" & e.NewValue & " \'","采购日期 Desc") \'找出最后一次订购该产品的记录 \'dr = .Find("型号 = \'" & e.NewValue & " \'","采购日期 Desc",1) \'找出倒数第二次订购该产品的记录 If dr IsNot Nothing Then \'如果找到的话 MessageBox.Show("最近一次订货在 " & dr("供应商") & "时间是: " & dr("采购日期") & "价格是: " & dr("单价"), "提示", MessageBoxButtons.OK, MessageBoxIcon.Information) End If End With End If 出现的问题:此方式只能找到一个。 比如:我输入SURT5000UXICH,系统中本来还有SURT5000UXICH-BJ,SURT5000UXICH-BJTJ,我希望所有含SURT5000UXICH字符的记录都找出来,我的方式是dr = .Find("型号 LIKE \'" & e.NewValue & " \'", 并以这种方式弹出对话框 MessageBox.Show("所有订货在 " & dr("供应商") & "时间是: " & dr("采购日期") & "价格是: " & dr("单价"), "提示", MessageBoxButtons.OK, MessageBoxIcon.Information)。 二、 帮助中说要找出所有记录用SELECT.例子如下: Dim drs As List(Of DataRow) drs = DataTables("订单").Select("[产品] = \'PD01\' And [日期]= #1/4/1999#") 但如何输出呢? 三、 还有没其它方式 想了很久,请指点 |
-- 作者:Bin -- 发布时间:2015/3/18 13:37:00 -- Dim drs As List(Of DataRow) drs = DataTables("订单").Select("型号 like \'" & e.NewValue & "%\'") for each dr as datarow in drs mMessageBox.Show("所有订货在 " & dr("供应商") & "时间是: " & dr("采购日期") & "价格是: " & dr("单价"), "提示", MessageBoxButtons.OK, MessageBoxIcon.Information) next
|
-- 作者:utcxray -- 发布时间:2015/3/18 14:16:00 -- 想做成像中文输入法类似的,跟随式的。事先做了个”型号对应“的窗口,窗口中有个TABLE1的SQL查询表,此表先对型号、单价、供应商做了筛选。这样行吗 \'以下确保价格的准确 If e.DataCol.Name = "型号" Then \'如果内容发生变动的是型号列 If e.DataRow.IsNull("型号") Then Dim txt As String = "\'%" & e.newvalue & "%\'" Dim tbl As Table = Tables("型号对应_Table1") If txt = "" Then tbl.Filter = "" Else Dim frm As WinForm.Form frm = Forms("型号对应") frm.Open() tbl.Filter = "型号 Like " & txt & " " End If End If End If BIN的方案在实际中存在如有很多行,就会弹出许多对话框 [此贴子已经被作者于2015/3/18 14:17:46编辑过]
|
-- 作者:有点甜 -- 发布时间:2015/3/18 14:22:00 -- 回复3楼,肯定可以。 |
-- 作者:有点甜 -- 发布时间:2015/3/18 14:24:00 -- http://www.foxtable.com/help/topics/2465.htm
|