以文本方式查看主题

-  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=41065)

--  作者:qq9503
--  发布时间:2013/10/10 15:46:00
--  请求教!!

Dim s As Row=Tables("入库").Current
If  s.IsNull("来布单位") Or s.IsNull("订布款号") Or s.IsNull("订布单号") Or s.IsNull("布类") Or s.IsNull("颜色") Or s.IsNull("实重")Or s.IsNull("匹数")Then
    MessageBox.Show("请输入完整信息!备注除外")
Else
    Dim rk1 As String=s("订布款号")
    Dim rk2 As String=s("订布单号")
    Dim rk3 As String=s("布类")
    Dim rk4 As String=s("颜色")
   
    With Tables("库存")
        Dim r As Integer
        .Position = 0
        r = .FindRow("[订布款号] Like rk1 and [订布单号] Like rk2 and [布类] Like rk3 and [颜色] Like rk4", .Position, True ) \'从当前行开始查找
        If r >= 0 Then \'如果找到的话
            .Position = r \'定位到找到的行.
        End If
    End With
   
    Tables("入库").AddNew()
End If

 

老是出错。。。

是不是这样表示不对呢?

 Dim rk1 As String=s("订布款号")
    Dim rk2 As String=s("订布单号")
    Dim rk3 As String=s("布类")
    Dim rk4 As String=s("颜色")
   
    With Tables("库存")
        Dim r As Integer
        .Position = 0
        r = .FindRow("[订布款号] Like rk1 and [订布单号] Like rk2 and [布类] Like rk3 and [颜色] Like rk4", .Position, True )

 

请老师们指教!


--  作者:qq9503
--  发布时间:2013/10/10 15:51:00
--  

怎么。。没人理我呢!!!唉!


--  作者:Bin
--  发布时间:2013/10/10 15:54:00
--  
不是这样拼接字符串的. LIKE是用来模糊匹配的,要有模糊匹配符 http://www.foxtable.com/help/topics/0102.htm

如果是精准匹配应该用  =  等号 

另外变量是需要拼接的,不是直接写进去就可以的了 http://www.foxtable.com/help/topics/1284.htm




--  作者:qq9503
--  发布时间:2013/10/10 16:11:00
--  
那怎样。。改呢?我刚学不久!!很多东西都是在表面上!
--  作者:qq9503
--  发布时间:2013/10/10 16:15:00
--  

Dim dr2 As DataRow
dr2 =
DataTables("表B").Find("[品名]  = \'" & dr1("品名") & "\'And [规格] = \'" & dr1("规格") & "\'")

 

我想,我明白了。。谢谢!


--  作者:Bin
--  发布时间:2013/10/10 16:18:00
--  
请认真查看我发给你的帮助 

  r = .FindRow("[订布款号] = \'" & rk1 &  "\' and [订布单号] = \'" & rk2 & "\' and [布类] = \'" & rk3  & "\' and [颜色] = \'" & rk4 & "\'", .Position, True )