Foxtable(狐表)用户栏目专家坐堂 → [求助]字符串问题


  共有7530人关注过本帖树形打印复制链接

主题:[求助]字符串问题

帅哥哟,离线,有人找我吗?
jiskin
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:714 积分:5213 威望:0 精华:0 注册:2012/4/13 13:10:00
[求助]字符串问题  发帖心情 Post By:2013/5/3 19:57:00 [显示全部帖子]

Dim s As String = e.Form.Controls("CheckedComboBox1").text
Dim j() As String = s.Split(",")
For i As Integer = 0 To j.Length - 1
Next

 

我想把复选框的数据转换成

‘abc’,‘xxy’,‘shss’,……这个类型的

不知道接下来怎么写了

 

 

 

另外想咨询下 Select {项目总表}.项目编号,{项目总表}.品名,{项目总表}.型号,零件号,零件名称,规格,延迟原因,单位数量 * {项目总表}.产品件数 As [生产数量] From {零件表} Inner JOIN {项目总表} ON {项目总表}.[项目编号] = {零件表}.[项目编号] And {项目总表}.[型号] = {零件表}.[型号]

 

如果 单位数量 * {项目总表}.产品件数 As [生产数量] From {零件表} Inner JOIN {项目总表} ON {项目总表}.[项目编号] = {零件表}.[项目编号] And {项目总表}.[型号] = {零件表}.[型号]  这段的计算出来的列想摆到零件号列前面 可以实现吗

[此贴子已经被作者于2013-5-3 21:59:13编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
jiskin
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:714 积分:5213 威望:0 精华:0 注册:2012/4/13 13:10:00
  发帖心情 Post By:2013/5/3 22:00:00 [显示全部帖子]

以下是引用don在2013-5-3 21:55:00的发言:
1.朦的
Dim s As String = e.Form.Controls("CheckedComboBox1").text
s = """" & s.Replace(",",""",""") & """"

2.可以,放在前面就是

看不懂啊亲


 回到顶部
帅哥哟,离线,有人找我吗?
jiskin
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:714 积分:5213 威望:0 精华:0 注册:2012/4/13 13:10:00
  发帖心情 Post By:2013/5/3 22:07:00 [显示全部帖子]

以下是引用don在2013-5-3 22:03:00的发言:
抱歉,我也不明白你的意思,所以说了是朦的

我需要把复选框内的结果转换成 ‘abc’,‘xxy’,‘shss’,……的数据  j(i)的值是单个的 而且没有单引号


 回到顶部
帅哥哟,离线,有人找我吗?
jiskin
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:714 积分:5213 威望:0 精华:0 注册:2012/4/13 13:10:00
  发帖心情 Post By:2013/5/4 8:14:00 [显示全部帖子]

以下是引用don在2013-5-3 22:13:00的发言:
Dim s As String = e.Form.Controls("CheckedComboBox1").Value
 e.Form.Controls("CheckedComboBox1").Value = "'" & s.Replace(",","','") & "'"

Replace 是固定的,复选框里的结果不一定是多少个,每个选项的字符数和复选的数量是不固定的

[此贴子已经被作者于2013-5-4 8:14:33编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
jiskin
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:714 积分:5213 威望:0 精华:0 注册:2012/4/13 13:10:00
  发帖心情 Post By:2013/5/4 9:08:00 [显示全部帖子]

以下是引用Bin在2013-5-4 8:58:00的发言:
Dim s As String = e.Form.Controls("CheckedComboBox1").text
Dim j() As String = s.Split(",")
dim str as String
For i As Integer = 0 To j.Length - 1
 str=",'" & j(i) & "'"
Next
str.trim(",")

 

如果 复选框内的值是   A33,A34,FTX-S111053

那么 测试结果是   ,"FTX-S111053"

只显示最后一个


 回到顶部
帅哥哟,离线,有人找我吗?
jiskin
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:714 积分:5213 威望:0 精华:0 注册:2012/4/13 13:10:00
  发帖心情 Post By:2013/5/4 9:23:00 [显示全部帖子]

以下是引用Bin在2013-5-4 9:15:00的发言:
Dim s As String = e.Form.Controls("CheckedComboBox1").text
Dim j() As String = s.Split(",")
dim str as String
For i As Integer = 0 To j.Length - 1
 str=str & ",'" & j(i) & "'"
Next
str.trim(",")

刚才忘记拼接STR了.大意了.

 

good 目标达成

 

str.remove(0,1) 我可以用remove 字符串的第一个 ,去掉的对吧


 回到顶部
帅哥哟,离线,有人找我吗?
jiskin
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:714 积分:5213 威望:0 精华:0 注册:2012/4/13 13:10:00
  发帖心情 Post By:2013/5/4 9:31:00 [显示全部帖子]

以下是引用Bin在2013-5-4 9:25:00的发言:
恩 当然可以.

 

再请教下bin, 那个sql select下 用where in的时候 是不是 插入这个str不行?

where 项目编号 In (str.remove(0,1) 这样好像执行不了


 回到顶部
帅哥哟,离线,有人找我吗?
jiskin
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:714 积分:5213 威望:0 精华:0 注册:2012/4/13 13:10:00
  发帖心情 Post By:2013/5/4 9:38:00 [显示全部帖子]

以下是引用Bin在2013-5-4 9:32:00的发言:
你为什么要str.remove(0,1呢? 而且你也少了一个右括号. 我已经TRIM(",") 了. 已经把第一个逗号去掉了.

如果我直接调用str 显示的还是带逗号的 要调用 str.trim(",") 才是没逗号的

我又试了下 把str.trim(",")  给一个string 再把这个string放到 where in 里 但是还是执行不了这个 sql 看来不能这样了?


 回到顶部
帅哥哟,离线,有人找我吗?
jiskin
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:714 积分:5213 威望:0 精华:0 注册:2012/4/13 13:10:00
  发帖心情 Post By:2013/5/4 9:41:00 [显示全部帖子]

以下是引用Bin在2013-5-4 9:39:00的发言:

你弹出一下你拼接的SQL有没错

如果我去掉 where in 这个筛选 sql正常执行 加上这个 where in 就不行了


 回到顶部
帅哥哟,离线,有人找我吗?
jiskin
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:714 积分:5213 威望:0 精华:0 注册:2012/4/13 13:10:00
  发帖心情 Post By:2013/5/4 9:52:00 [显示全部帖子]

以下是引用Bin在2013-5-4 9:42:00的发言:
你弹出一下你拼接的字符串有没正确. where 字段名 in () 这样才对

 

Dim value As String = str.trim(",")
Tables("数据导出_导出清单").Fill("Select {项目总表}.项目编号,{项目总表}.品名,{项目总表}.型号,零件号,零件名称,规格,材质,产品件数,单位数量,备注,生产工艺,规定发货日,仓库_库位代码,生产部_物料采购申购数量,生产部_物料采购申请日,采购部_计划到厂日,采购部_实际到厂日,采购部_采购备注,仓库_原材料领料完成日,车工_机加粗车完成日,生产部_零件外发申请日,采购部_外协计划完成日,采购部_外协实际完成日,钳工_焊接or热处理完成日,车工_机加精车完成日,质量部_装配物料检验完成日,仓库_装配物料入库完成日,{项目总表}.装配整机完成日,整机检验完成日,延迟原因,单位数量 * {项目总表}.产品件数 As [生产数量] From {零件表} Inner JOIN {项目总表} ON {项目总表}.[项目编号] = {零件表}.[项目编号] And {项目总表}.[型号] = {零件表}.[型号] WHERE {项目总表}.项目编号 IN (value)","atwdb",True)

 

messagebox.show(value) 的值是正确的

如果我把 in里面的直接替换成编号名称 是能正常显示的


 回到顶部
总数 14 1 2 下一页