以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  关于数据字段更新问题  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=129241)

--  作者:裴保民
--  发布时间:2018/12/25 3:18:00
--  关于数据字段更新问题
向数据库某表中新增加几个字段,该表中已经有很多数据,怎样向这些字段中添加数据更快捷呢?一条一条添加太麻烦了。
比如:“商户名简称”是根据之前商户名字段的每个字的首字母来的。再比如新增加了“身份证号后六位”是根据客户表中的“身份证号码”截取而来的。多大字段
如果是新增的数据这些字段肯定会输进去的。可是以前的数据怎么将这些字段补充上去呢?一条条的输入太麻烦了。

--  作者:有点甜
--  发布时间:2018/12/25 8:39:00
--  

1、商户名简称,必须一行一行获取和赋值,因为sql语句没有取拼音的函数;

 

2、截取身份证后六位,可以直接写sql语句更新,如 update 表A set 身份证后六位 = right(身份证, 6)

 

3、你不能重置列?也就是把代码写到datacolchanged事件,然后重置列计算。


--  作者:裴保民
--  发布时间:2018/12/25 10:14:00
--  
判断一个文本内容不能为空切文本内容必须为15位或者18位的语句怎么写呢?
--  作者:有点甜
--  发布时间:2018/12/25 10:19:00
--  
以下是引用裴保民在2018/12/25 10:14:00的发言:
判断一个文本内容不能为空切文本内容必须为15位或者18位的语句怎么写呢?

 

写代码还是sql语句?

 

比如 datacolchanging事件

 

If e.datacol.name = "第一列" andalso (e.newvalue = nothing orelse e.newvalue.length <> 15 andalso e.newvalue.length <> 18) then

    msgbox("出错")

    e.cancel = true

End If