标题:select 语句遭遇长度不够的情况
只看楼主
hyz00001
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:168
专家分:137
注 册:2012-10-5
得分:0 
以下是引用sdta在2014-4-29 09:26:08的发言:

楼主的问题用VFP解决了吗

谢谢关心,截至目前还是没有能用vfp解决,暂定的解决方案就是VBA,时间不多,暂时先这样。等吧手工核算的事情敲定下来了再慢慢回过头来研究。
2014-05-04 08:55
hyz00001
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:168
专家分:137
注 册:2012-10-5
得分:0 
以下是引用tlliqi在2014-4-28 21:46:58的发言:

过程中我自己也用VBA来做---VBA过程说下怎么个步骤



Sub aa()
    fir = [a65536].End(xlUp).Row
        '定义一个变量,这个数值就是整个数据表的行数。
    Range(Cells(1, 1), Cells([a65536].End(xlUp).Row, "m")).AutoFilter field:=9, Criteria1:="=*仓库调拨单据*", Operator:=xlAnd
        '第一步先进行筛选,只有仓库调拨单据才需要用到这一块,其他单据不需要。
    Range(Cells(2, 1), Cells([a65536].End(xlUp).Row, "m")).SpecialCells(xlCellTypeVisible).Copy
    Cells([a65536].End(xlUp).Row + 1, 1).PasteSpecial xlPasteValues
        '复制全部的调拨单据先,然后粘贴到这个工作表的最末尾。
    fis = [a65536].End(xlUp).Row
        '获取新的最后一行。
    Range(Cells(fir + 1, "i"), Cells(fis, "i")) = "调拨入库"
        '更改名称
    Range(Cells(fir + 1, "d"), Cells(fis, "d")).TextToColumns Destination:=Cells(fir + 1, "d"), DataType:=xlDelimited, TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=True, Tab:=True, Semicolon:=False, Comma:=False, Space:=True, Other:=False, FieldInfo:=Array(Array(1, 9), Array(2, 9), Array(3, 2)), TrailingMinusNumbers:=True
        '分列的方式获取调拨入库的库位

’下面是用同样的方式获取调拨出库。     
    Range(Cells(2, 1), Cells(fir, "m")).SpecialCells(xlCellTypeVisible).Copy
    Cells([a65536].End(xlUp).Row + 1, 1).PasteSpecial xlPasteValues
    fit = [a65536].End(xlUp).Row
    Range(Cells(fis + 1, "i"), Cells(fit, "i")) = "调拨出库"
    Range(Cells(fis + 1, "d"), Cells(fit, "d")).TextToColumns Destination:=Cells(fis + 1, "d"), DataType:=xlDelimited, TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=True, Tab:=True, Semicolon:=False, Comma:=False, Space:=True, Other:=False, FieldInfo:=Array(Array(1, 1), Array(2, 9), Array(3, 9)), TrailingMinusNumbers:=True
     
End Sub
2014-05-04 09:01
taifu945
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:80
帖 子:1545
专家分:3298
注 册:2012-7-6
得分:0 
以下是引用hyz00001在2014-4-29 09:03:39的发言:

新手来着,之前用vba的,没有更好办法的情况下比较容易会到VBA的老套路里面去。
话说,不管用什么编程语言,数据库和表文件的设计套路应该没有差别的吧?至少应该没有大的差别吧?
2014-05-04 11:56
tlliqi
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:204
帖 子:15453
专家分:65956
注 册:2006-4-27
得分:0 
以下是引用hyz00001在2014-5-4 09:01:45的发言:

 
 
 
Sub aa()  
    fir = [a65536].End(xlUp).Row  
        '定义一个变量,这个数值就是整个数据表的行数。
    Range(Cells(1, 1), Cells([a65536].End(xlUp).Row, "m")).AutoFilter field:=9, Criteria1:="=*仓库调拨单据*", Operator:=xlAnd  
        '第一步先进行筛选,只有仓库调拨单据才需要用到这一块,其他单据不需要。
    Range(Cells(2, 1), Cells([a65536].End(xlUp).Row, "m")).SpecialCells(xlCellTypeVisible).Copy  
    Cells([a65536].End(xlUp).Row + 1, 1).PasteSpecial xlPasteValues  
        '复制全部的调拨单据先,然后粘贴到这个工作表的最末尾。
    fis = [a65536].End(xlUp).Row  
        '获取新的最后一行。
    Range(Cells(fir + 1, "i"), Cells(fis, "i")) = "调拨入库"  
        '更改名称
    Range(Cells(fir + 1, "d"), Cells(fis, "d")).TextToColumns Destination:=Cells(fir + 1, "d"), DataType:=xlDelimited, TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=True, Tab:=True, Semicolon:=False, Comma:=False, Space:=True, Other:=False, FieldInfo:=Array(Array(1, 9), Array(2, 9), Array(3, 2)), TrailingMinusNumbers:=True  
        '分列的方式获取调拨入库的库位
 
’下面是用同样的方式获取调拨出库。      
    Range(Cells(2, 1), Cells(fir, "m")).SpecialCells(xlCellTypeVisible).Copy  
    Cells([a65536].End(xlUp).Row + 1, 1).PasteSpecial xlPasteValues  
    fit = [a65536].End(xlUp).Row  
    Range(Cells(fis + 1, "i"), Cells(fit, "i")) = "调拨出库"  
    Range(Cells(fis + 1, "d"), Cells(fit, "d")).TextToColumns Destination:=Cells(fis + 1, "d"), DataType:=xlDelimited, TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=True, Tab:=True, Semicolon:=False, Comma:=False, Space:=True, Other:=False, FieldInfo:=Array(Array(1, 1), Array(2, 9), Array(3, 9)), TrailingMinusNumbers:=True  
      
End Sub
谢谢
不过vba看不懂
2014-05-04 12:55
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
得分:0 
以下是引用taifu945在2014-5-4 11:56:03的发言:

话说,不管用什么编程语言,数据库和表文件的设计套路应该没有差别的吧?至少应该没有大的差别吧?

呵呵~

授人以渔,不授人以鱼。
2014-05-04 13:26
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:323
帖 子:9621
专家分:26174
注 册:2012-2-5
得分:0 
A = "辅料仓 To 镜片产线仓"
逐条记录SCAN ENDSCAN,再拆分字段内容,不同版本的VFP,拆分字段的方法不同。

坚守VFP最后的阵地
2021-03-17 10:40



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-430775-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.124496 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved