希望斑竹能帮我详细阐述其中的逻辑!作者: INN 时间: 2003-2-11 07:20
反正都要试,就试一下呗!说笑的!试之前一定要保存数据库!
如果要把“必填字段”的属性改为“是”则该字段必需要有内容,ACCESS可能检测到该字段有些记录为“空值”所以提示是否继续。试一下吧,否则你学不到东西。
其实“经验”有时可以说是“瞎猜”的代名词,哈哈! 作者: WTM1 时间: 2003-2-11 16:21
同意作者: D_net 时间: 2003-2-11 20:22
谢谢各位!
当然,我都试过:3个选择都能执行,但其对数据的影响的执行逻辑是怎样的??作者: zhengjialon 时间: 2003-2-11 20:34
* 如要坚持新设置并继续测试,请选择“是”
将为空的改为默认值;
* 如要还原成旧设置并继续测试,请选择“否”
不更改现为空的值
* 如要停止测试,请选择“取消”
停止更改设置作者: D_net 时间: 2003-2-11 22:01
多谢zhengjialon!
您说的
“ * 如要坚持新设置并继续测试,请选择“是”
将为空的改为默认值; ”
我测试过,并不会改为默认值(包括文本类型和默认为0的数字类型)
Why ??
难道要问MS的工程师??作者: WTM1 时间: 2003-2-12 01:36
差不多!!!作者: Roadbeg 时间: 2003-2-13 21:06
不会改为默认值,但你需要手动更改,以免产生一些不必要的错误.
可以参考以下实例:
Private Sub 设置料件资料各新增字段的默认值()
Dim Ts As Workspace
Dim Db As Database
Dim Rs As DAO.Recordset
Dim fd As Field
Dim i As Long, j As Long
Set Ts = DBEngine.Workspaces(0)
Set Db = Ts.Databases(0)
Set Rs = Db.OpenRecordset("select * from 料件资料 order by id")
Ts.BeginTrans
j = Rs.Fields.Count - 1
Do Until Rs.EOF
For i = 0 To j
If IsNull(Rs.Fields(i).Value) And Rs.Fields(i).Required Then
Rs.Edit
Rs.Fields(i).Value = Rs.Fields(i).DefaultValue
Rs.Update
End If
Next i