用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

(0)

相关推荐

  • MySQL表字段设置默认值(图文教程及注意细节)

    环境 MySQL 5.1 + 命令行工具 问题 MySQL表字段设置默认值 解决 复制代码 代码如下: --SQL: CREATE TABLE test( i_a int NOT NULL DEFAULT 1, ts_b timestamp NOT NULL DEFAULT NOW(), c_c char(2) NOT NULL DEFAULT '1' ); --以下SQL不合法 --time_d time NOT NULL DEFAULT CURTIME(), --date_e date NO

  • input之怎么清除默认值

    <input name="username" type="text" value="first name.last name" size="15" maxlength="60" onfocus="this.value=''">那如果我再把鼠标移开,又出现默认值,而当我输入了之后,则不会出现默认值,又该怎么处理呢? [Ctrl+A 全选 注:如需引入外部Js需刷新才能执行] 这

  • 列出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设置access的默认值

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

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

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

  • Go语言设置JSON的默认值操作

    给需要设置的JSON字段初试化你想设置的值就OK. 比如我想让[]string类型的字段的默认值是[],而不是nil,那我就make([]string, 0)赋值给该字段. 转成JSON输出后,就是[]. 1. 示例代码 这是没有初始化的代码.默认值是nil. package main import ( "encoding/json" "fmt" "net" "net/http" ) type JsonTest struct

  • 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 函数时,神奇的事

  • 记录一个使用Spring Data JPA设置默认值的问题

    目录 Spring Data JPA设置默认值的问题 一开始经过百度,写法是这样的 于是改了第二版 在大佬的指点下,有了第三种写法 Jpa设置默认值约束 1.修改建表时的列定义属性 2.通过Hibernate(org.hibernate.annotations.ColumnDefault) Spring Data JPA设置默认值的问题 我有一个entity实体,其中里面有一个布尔类型的字段: //entity table注解略 public class TableEntity { privat

  • 使用jQuery给input标签设置默认值

    由于项目需求,简单地写了一个input默认值设置,实现给.form中所有的input设置默认值的方法. <!DOCTYPE HTML> <html> <head> <meta charset="utf-8"> <title>input默认值设置</title> <script type="text/javascript" src="http://apps.bdimg.com/li

  • ExtJS 设置级联菜单的默认值

    前言 ExtJS在修改这样的页面上赋值是很方便的,在正文中1.2.1代码中可以看出,一行代码就可以搞定,但这是对于普通控件而言,如文本框.对于ComboBox可没这么简单... 版本 Ext JS Library 3.0.0 正文 一.问题 1.1 截图 1.2 代码 1.2.1 前端代码 复制代码 代码如下: <script type="text/javascript"> // function ExtStore(url) { return new Ext.data.St

  • django-xadmin根据当前登录用户动态设置表单字段默认值方式

    相信你一定会设置一个普通字段的默认值: class Offer(models.Model): salary = models.CharField(max_length=64, blank=True, default='6000', verbose_name='薪资待遇') 相信你还能动态设置外键字段的默认值: class Interview(models.Model): department = models.ForeignKey('departments.Department', relate

  • JPA默认值设置没有效果的解决

    目录 问题:默认值设置没有效果 解决办法 JPA为字段设置默认值 问题:默认值设置没有效果 springboot项目的JPA数据库表的类添加默认值,有2种方法 1.@Column(columnDefinition = "varchar(35) default '12345' ") 2.@ColumnDefault("12345") 要求:设置img字段默认值为/imgs/defunct.png 依赖 <dependency> <groupId>

随机推荐