sSQL = "Update Tables Set X =" & Left & ",Y =" & optThumb(i).Top _
                & " Where TableName='" & Mid(optThumb(i).Caption, 4, 4) & "'"sText = "& sPD & vbCrLf & "金额:" & sPN & "$"sPD=ef.fields("TableName")这个是我移动optThumb(i)后,保存他的坐标。现在的情况是返回“桌子:”后面4个字符.而我要的是直接返回SPD的值。
因为TableName返回的是 后sPD的名称,不知道怎么实现?
tablename可以数字+英文+中文组合。

解决方案 »

  1.   

    方法1:
    用replace
    sPD=replace(ef.fields("TableName"),"桌子:","") 方法2:
    用mid
    sPD=mid(ef.fields("TableName"),5) 
      

  2.   

    第二个方法修改一下方法2: 
    用mid 
    sPD=mid(ef.fields("TableName"),6) 
      

  3.   

    第二个方法考虑“桌子:”中的冒号有“:”和“:”两种可能,可以这样写方法2: 
    用mid 
    sPD=mid(ef.fields("TableName"),len("桌子:")+1) 
      

  4.   

    dim s as string
    For i = 1 To optThumb.Count - 1s=len(ef.fields("TableName"))sSQL = "Update Tables Set X =" & Left & ",Y =" & optThumb(i).Top _ 
                    & " Where TableName='" & Mid(optThumb(i).Caption, 4, s) & "'" 这种错在哪里?
      

  5.   

    sSQL = "Update Tables Set X =" & Left & ",Y =" & optThumb(i).Top _ 
                    & " Where TableName='" & Mid(optThumb(i).Caption, 4, s) & "'" 
    什么东西的Left 是不是得改成optThumb(i).Left 另外用Update方法来添加数据时有个隐藏的致命的危险,就是字符串中如果带'等时,会出现错误。必须转义,或者直接用Addnew来添加记录
      

  6.   


    汉字占用两个字节,应该把 Mid(optThumb(i).Caption, 4, s) 中的 4 改成 6 
      

  7.   

    Mid按字节来算的吗?貌似不是吧
      

  8.   

    可能上面我还说的不太清楚,显示optThumb(i).cation: sText = "桌子:" & sPD & vbCrLf & "金额:" & sPN & "$"
    移动optThumb(i)后,要保存optThumb(i)的LEFT,TOP.sSQL = "Update Tables Set X =" &optThumb(i). Left & ",Y =" & optThumb(i).Top _ 
                    & " Where TableName='" & Mid(optThumb(i).Caption, 4, 4) & "'" 
    (只能保存"桌子:"后4个字符,一旦TableName超过4个字符就X,Y保存不了.)现在我要解决的问题是:当TableName有不一样的字符,sSQL如何返回一样的TableName.
      

  9.   

    改成
    mid(split(optThumb(i).Caption,vbCrLf)(0),6)
      

  10.   

    什么意思?
    输出结果是:
    Update Tables Set X =7335,Y =2460 Where TableName='ID:01'
      

  11.   

    比如TableName有KTV1,52,花满楼,水滩.移动的时候怎么返回这些TableName名称
      

  12.   

    optThumb(i).Caption 的值举例 
      

  13.   

    谢谢jhone99.问题解决了.方法是用:mid(split(optThumb(i).Caption,vbCrLf)(0),6)