环境:
1 access数据库
2 VB中
3 database是一个数据库的连接
4 "出生年月日"是数据库中的byk表中的字段名
database.Execute "Update byk set 出生年月日= Replace(出生年月日, '-', '')"
1 access数据库
2 VB中
3 database是一个数据库的连接
4 "出生年月日"是数据库中的byk表中的字段名
database.Execute "Update byk set 出生年月日= Replace(出生年月日, '-', '')"
补充说明:该语句的功能是替换指定字段中的指定字符.
fvflove说的对
你的出生年月日如果是日期型的“20080523”是存不了的
Dim newBirthday As String '转换用的"出生年月日"
Dim nArray, i As Integer oldBirthday = "出生年月日"
nArray = Split(oldBirthday, "-") For i = 0 To UBound(nArray)
newBirthday = newBirthday & nArray(i)
Next database.Execute "Update byk set 出生年月日= '"& newBirthday & "'"
3、现在这种形式错误提示是“未定义replace函数”
4、如果换成database.Execute "Update byk set 出生年月日= Replace(出生年月日, "-", "")"又提示数据类型不一致。
先用isnull判断再replace.
database.Execute "Update byk set 出生年月日= CStr(Replace(出生年月日, " - ", "")) where isnul(出生年月日)<>0"
database.Execute "Update byk set 出生年月日= CStr(Replace(出生年月日, " - ", "")) where len(ltrim(出生年月日))>0"
在access中是可以实现的
但
database.Execute "Update byk set 出生年月日= Replace(nz(出生年月日,''), '-', '')"
显示Replace函数未定义
是Jet.OLEDB的支持有问题
用的Microsoft.Jet.OLEDB.4.0连接办法,有一个笨办法查出后一个一个改,
Microsoft.Jet.OLEDB.4.0 连nz也不支持
database.Execute "Update byk set 出生年月日= CStr(Replace(出生年月日, " - ", "")) where not isnull(出生年月日)"
另外你的-号前后都有空格,希望你的格式也是这样.