用sql设置access的默认值

简述:

如何定义字段默认值

问题: 

如何设定表的某字段默认值?

方法一:

用 JET SQL 来完成

ALTER TABLE TABLENAME ALTER COLUMN FIELDNAME TEXT(40) DEFAULT 默认值

请注意,上述语句要用 ADODB.CONNECTION.EXECUTE 等方法来执行,直接用上述代码建立一个查询无法保存或者运行,会得到 ACCESS 的错误提示。

方法二:

ADOX 可以。

Function ChengTableFieldPro_ADO()

Dim MyTableName As String

    Dim MyFieldName As String

    Dim GetFieldDesc_ADO

    Dim GetFieldDescription

    MyTableName = "ke_hu"

    MyFieldName = "dw_name"

Dim MyDB As New ADOX.Catalog

    Dim MyTable As ADOX.Table

    Dim MyField As ADOX.Column

On Error GoTo Err_GetFieldDescription

MyDB.ActiveConnection = CurrentProject.Connection

    Set MyTable = MyDB.Tables(MyTableName)

    GetFieldDesc_ADO = MyTable.Columns(MyFieldName).Properties("Description")

Dim pro As ADODB.Property

    For Each pro In MyTable.Columns(MyFieldName).Properties

        Debug.Print pro.Name & " : " & pro.Value & " ---- type : " & pro.Type

    Next

With MyTable.Columns(MyFieldName)

'.Properties("nullable") = True    '必填

        '必填无法用上述代码设置,出错提示为:

        '多步 OLE DB 操作产生错误。如果可能,请检查每个 OLE DB 状态值。没有工作被完成。

        '目前可以用以下语句设置:

        'CurrentDb.TableDefs("ke_hu").Fields("DW_NAME").Properties("Required") = False

        .Properties("Jet OLEDB:Allow Zero Length") = True   '允许空

        .Properties("default") = "默默默默认认认认"      '默认值

    End With

    Set MyDB = Nothing

Bye_GetFieldDescription:

    Exit Function

Err_GetFieldDescription:

    Beep

    Debug.Print Err.Description

    MsgBox Err.Description, vbExclamation

    GetFieldDescription = Null

    Resume Bye_GetFieldDescription

End Function

关于“多步错误”的一些参考:

Sub ChangeUnicode()

Dim tdf As TableDef

   Dim fld As Field

   Dim db As Database

   Dim pro As Property

Set db = CurrentDb

For Each tdf In db.TableDefs

       For Each fld In tdf.Fields

           If fld.Type = dbText Then

           If DBEngine.Errors(0).Number = 3270 Then

               Set pro = fld.CreateProperty("UnicodeCompression", 1, 0)

               fld.Properties.Append p

           End If

               fld.Properties("UnicodeCompression") = True

           End If

       Next fld

   Next tdf

End Sub

时间: 2024-09-20 06:26:24

用sql设置access的默认值的相关文章

用sql设置access的默认值_数据库相关

简述: 如何定义字段默认值  问题:  如何设定表的某字段默认值? 方法一: 用 JET SQL 来完成 ALTER TABLE TABLENAME ALTER COLUMN FIELDNAME TEXT(40) DEFAULT 默认值  请注意,上述语句要用 ADODB.CONNECTION.EXECUTE 等方法来执行,直接用上述代码建立一个查询无法保存或者运行,会得到 ACCESS 的错误提示. 方法二: ADOX 可以. Function ChengTableFieldPro_ADO()

js设置function参数默认值

 div+css模拟js信息框的类库时遇到一个问题当没有传递参数过去时自动使用提示信息作为窗口标题,具体的实现如下 今天写一个div+css模拟js信息框的类库时遇到一个问题,我希望当我没有传递参数过去时自动使用"提示信息"作为窗口标题.我试着这样写   代码如下: function MessageBox(title=""){  }    毫无疑问我运行失败了(要不然我也不会发这博文了)    最后经过一番百度,发现了这么个好东西   代码如下: function

ios-关于设置滚动条的默认值

问题描述 关于设置滚动条的默认值 如何在每次应用返回背景时设置滚动条的默认值? 滚动条如下: - (IBAction)slider1:(id)sender { UISlider *slider = (UISlider *)sender; //declare slider NSLog(@"%f",slider.value; } 如何设置? 解决方案 添加 observer 到 UIApplicationWillEnterForegroundNotification [[NSNotific

js设置function参数默认值(适合没有传参情况)_javascript技巧

今天写一个div+css模拟js信息框的类库时遇到一个问题,我希望当我没有传递参数过去时自动使用"提示信息"作为窗口标题.我试着这样写 复制代码 代码如下: function MessageBox(title=""){ } 毫无疑问我运行失败了(要不然我也不会发这博文了) 最后经过一番百度,发现了这么个好东西 复制代码 代码如下: function test(a){ var b=arguments[0]?arguments[0]:50; return a+':'+b

Ruby中设置累加的默认值

问题描述 初学Ruby,哪位前辈可以指教一下: 我连接的postgersql数据库,要求在迁移中设置累加的默认值. 一张表employee中,字段有id,eid,aaeid是自身的一个外键,一对多的关系 条件是在相同的eid下,假如所有aa都为null,则把第一条aa修改为10,其他的aa值根据当前最大的aa值累加+10(也就是第二条为20,第三条为30...).否则,有aa为null时,也根据当前最大的值累加+10. 问题补充:jsntghf 写道 解决方案 model或控制器中都行解决方案二

列出SQL Server中具有默认值的所有字段的语句

专家解答 通过查询任何数据库中的三个系统表,你可以获得每个表的每一个字段的默认值.下面是这个核心查询.它返回分配给当前数据库中每个用户表的默认值.这个查询在SQL 2000和SQL 2005中都是兼容的. Quote:  复制代码 代码如下: SELECT SO.NAME AS "Table Name", SC.NAME AS "Column Name", SM.TEXT AS "Default Value" FROM dbo.sysobject

列出SQL Server中具有默认值的所有字段的语句_MsSql

专家解答 通过查询任何数据库中的三个系统表,你可以获得每个表的每一个字段的默认值.下面是这个核心查询.它返回分配给当前数据库中每个用户表的默认值.这个查询在SQL 2000和SQL 2005中都是兼容的. Quote:  复制代码 代码如下: SELECT SO.NAME AS "Table Name", SC.NAME AS "Column Name", SM.TEXT AS "Default Value" FROM dbo.sysobject

js中function函数设置参数有默认值

在php中我可以这样写  代码如下 复制代码 function abcccc ($a=1,$b=2){   return $a+$b; } 调用可直接  代码如下 复制代码 abccc() abccc(1) abccc(1,1) 但在js中这样写提示提示 变量未定义undefined了,但我觉得在js中的默认值应该是 undefined 在函数内预设数可以用 arguments[i] i就是你参数的位置 第一个为0 所以要设定 flag 的默认值 则可以这么写  代码如下 复制代码 functi

Python中设置变量作为默认值时容易遇到的错误_python

思考一下下面的代码片段:   def foo(numbers=[]): numbers.append(9) print numbers 在这里,我们定义了一个 list (默认为空),给它加入9并且打印出来.   >>> foo() [9] >>> foo(numbers=[1,2]) [1, 2, 9] >>> foo(numbers=[1,2,3]) [1, 2, 3, 9] 看起来还行吧?可是当我们不输入number 参数来调用 foo 函数时,