厉害的牛人来看看这个问题

发布于 2022-09-11 03:47:23 字数 938 浏览 19 评论 9

一个SFL画面,画面显示的数据是从数据库里面读出来来的
列*
发注NO ;A000001    区分;1      发注时间 201011
发注NO ;A000001    区分;2      发注时间 201010
要求SFL显示的是

发注NO               发注开始日   发注终了日
A00001               201010       201011

如果发注NO不相同的场合
SFL显示
发注NO               发注开始日   发注终了日
A00001               201010      
A00002               201011            
该怎摸做???怎摸能实现,据我所知SFL每次读一条就WRITE 一条,怎摸能实现在发注NO相同的时候 读两条WRITE一条?数据的最后一条和上一条 如何判断是否是同一发注NO? 如何WRITE?
G各位大虾看一下,最好详细一点的阿

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(9

神回复 2022-09-12 00:25:24

回复  insmile

    最后一条和最后第2条没法判断的,如果最后一条发注no是A00001 最后第2条也是A0000 ...
ll250240868 发表于 2010-11-11 11:50

   

用数组

把读到的NO都记进去
数组里有的NO就不WRITE到屏幕
数组里没有的NO就WRITE

£冰雨忧蓝° 2022-09-12 00:21:21

不知道是我没有看明白你的意思
还是你没有看明白我说的

满意归宿 2022-09-12 00:12:52

回复 7# george251

    如果是不相同的时候呢,你没办法判断它是否相同

死开点丶别碍眼 2022-09-11 22:51:52

你在循环外面再WRITE不就可以了?

愿得七秒忆 2022-09-11 22:18:30

回复 5# insmile

    最后一条和最后第2条没法判断的,如果最后一条发注no是A00001 最后第2条也是A00001没有办法WRITE,

赠意 2022-09-11 21:02:55

读一次,以此为标准,再读下一次,比较,发注NO相同就比较日期,显示*(或者继续读,有可能很多发注NO相同的,这个要考虑)

发注NO   不同就write第一条,以第二条为标准,继续读,比较。。。

关键是要设计好LF   

以发注NO   和发注时间 做键值排序就可以了

卖梦商人 2022-09-11 18:58:51

本帖最后由 q疯哥p 于 2010-11-10 13:00 编辑

需要逻辑文件一个 键字是发注NO,区分标志,日期等 来区分不同的记录并排序。(如何PF里记录排序规则的话 可以不用LF)

程序处理时将读文件和写子文件分开。顺读取记录,并将区分字段(键字)记到临时字段里,判断是否一样,相同记录则不写子文件
不同则写子文件。。。循环处理。。

原谅过去的我 2022-09-11 18:15:39

没人能解答吗

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文