Office中国论坛/Access中国论坛

标题: left把中间2位数扣出来应该怎么写啊 [打印本页]

作者: 若离ヘ不弃°    时间: 2013-1-17 11:52
标题: left把中间2位数扣出来应该怎么写啊
本帖最后由 若离ヘ不弃° 于 2013-1-17 11:53 编辑

一共6位数要中间两位的话应该怎么写left啊
- -!left right叠加着用吗?只能这样了吗?
作者: Access代码爱好者    时间: 2013-1-17 12:21
试了下left right一起用,的确可以查到,来留意下更好办法……
作者: Henry D. Sy    时间: 2013-1-17 13:14
固定为6位数吗
作者: Henry D. Sy    时间: 2013-1-17 13:15
mid("6位数",3,2)
作者: yanghua1900363    时间: 2013-1-17 15:34
就按4楼的办 应该能解决问题
作者: 若离ヘ不弃°    时间: 2013-1-17 15:42
Henry D. Sy 发表于 2013-1-17 13:15
mid("6位数",3,2)

TP0212-2801
G6153B-1442
G6153B-20012
最后这种怎么办啊,有时候最后是1位有时候是两位
作者: Henry D. Sy    时间: 2013-1-17 15:46
你要提取的是
02
15
15

作者: 若离ヘ不弃°    时间: 2013-1-17 15:51
Henry D. Sy 发表于 2013-1-17 13:15
mid("6位数",3,2)

还有如果有两张表
1张放机器信息,如序列号(唯一),型号,合同号
1张放订单信息,台数,型号,合同号
能不能两张表匹配(或多次查询)达到:
在机器表里找到相应的合同号的机器首先匹配出来并且是按订单的台数和实际机器的台数。
在没有找到相同的对应合同的机器时去找合同为空的相同型号的机器。
在找不到相同型号的机器时将所需型号,对应合同按台数1条条写在下面。
举例:
合同:a1,型号:TT,数量3 ,在机器表里刚好有3台相同型号TT,相同合同a1的时候生产3条综合的信息(就两者相同的查询表)
当机器表里面只有2台完全符合时,首先生成这两台的信息,剩下的1台首先去匹配机器表里没有合同号的机器,当有相同型号的也将这两条信息整合成1条(这里的问题的机器表里面可以会有很多相同型号的可以机器,简单查询会把这些都带出来,这个领导不想看见,要订单要求几台就显示几台)
最后是什么都没有的情况也要一条条的列在下面,要几台机器就列几条、
不知道这样能不能做到,分几次查询也可以,就是那个台数我不知道怎么控制。


作者: 若离ヘ不弃°    时间: 2013-1-17 15:53
Henry D. Sy 发表于 2013-1-17 15:46
你要提取的是
02
15

是12、28、01
或者G开头的3B 144 “ ” 2
或者G开头的3B 200 1 2
作者: Henry D. Sy    时间: 2013-1-17 16:40
若离ヘ不弃° 发表于 2013-1-17 15:53
是12、28、01
或者G开头的3B 144 “ ” 2
或者G开头的3B 200 1 2

不明白
作者: andymark    时间: 2013-1-17 19:11
字符串操作无非就是 LEFT,RIGHT,MID,SPLIT,INSTR

作者: za200z    时间: 2013-1-17 22:13
还有如果有两张表
1张放机器信息,如序列号(唯一),型号,合同号
1张放订单信息,台数,型号,合同号
能不能两张表匹配(或多次查询)达到:
在机器表里找到相应的合同号的机器首先匹配出来并且是按订单的台数和实际机器的台数。
在没有找到相同的对应合同的机器时去找合同为空的相同型号的机器。
在找不到相同型号的机器时将所需型号,对应合同按台数1条条写在下面。
举例:
合同:a1,型号:TT,数量3 ,在机器表里刚好有3台相同型号TT,相同合同a1的时候生产3条综合的信息(就两者相同的查询表)
当机器表里面只有2台完全符合时,首先生成这两台的信息,剩下的1台首先去匹配机器表里没有合同号的机器,当有相同型号的也将这两条信息整合成1条(这里的问题的机器表里面可以会有很多相同型号的可以机器,简单查询会把这些都带出来,这个领导不想看见,要订单要求几台就显示几台)
最后是什么都没有的情况也要一条条的列在下面,要几台机器就列几条、
不知道这样能不能做到,分几次查询也可以,就是那个台数我不知道怎么控制。

============================================
问题列表中,数据设计有问题,但就你本身设计也可以达到,查询机器号时分组列表出最后一条或最先的一条,如一组机器中有三台相同,分组查询是显示可选择最后一条,
作者: huangli0356    时间: 2013-1-18 09:11
andymark 发表于 2013-1-17 19:11
字符串操作无非就是 LEFT,RIGHT,MID,SPLIT,INSTR

正解..呵呵.
只是平时灵活点运用便可..

学习了..
作者: huangli0356    时间: 2013-1-18 09:17
建议来个简单例子说明下你要的效果.这样更方便大家为你解决问题.
作者: 若离ヘ不弃°    时间: 2013-1-19 16:57
Henry D. Sy 发表于 2013-1-17 15:46
你要提取的是
02
15

目前是扣的出来的,就是有一个机型代码可能是11位数也有可能是12位数,他中间有一个是为null、1、或2的,这个要怎么挖出来啊。
作者: 若离ヘ不弃°    时间: 2013-1-19 16:59
Henry D. Sy 发表于 2013-1-17 16:40
不明白

还有如果开头1位是T开头的,就把开头两位用TT代替,这个可以做到吗?
如T2.01.02 就用TT.01.02代替
作者: todaynew    时间: 2013-1-19 17:08
若离ヘ不弃° 发表于 2013-1-19 16:59
还有如果开头1位是T开头的,就把开头两位用TT代替,这个可以做到吗?
如T2.01.02 就用TT.01.02代替

update 阁下的数据表名称 set 阁下要修改数据的字段名称="T" & 阁下要修改数据的字段名称
where left( 阁下要修改数据的字段名称,1)="T" and left( 阁下要修改数据的字段名称,2)<>"TT"
作者: 若离ヘ不弃°    时间: 2013-1-19 17:22
todaynew 发表于 2013-1-19 17:08
update 阁下的数据表名称 set 阁下要修改数据的字段名称="T" & 阁下要修改数据的字段名称
where left( 阁 ...

这年头流行耐你,谢了啊,大神们天天时刻都在电脑前吗。。




欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3