用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-26 15:53:38

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

用sql设置access的默认值

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

asp经典入门教程 在ASP中使用SQL 语句第1/2页_数据库相关

MySQL.SQL Server和mSQL都是绝佳的SQL工具,可惜,在ASP的环境下你却用不着它们来创建实用的SQL语句.不过,你可以利用自己掌握的Access知识以及相应的Access技能,再加上我们的提示和技巧,相信一定能成功地在你的ASP网页中加入SQL. 1. SELECT 语句 在SQL的世界里,最最基础的操作就是SELECT 语句了.在数据库工具下直接采用SQL的时候很多人都会熟悉下面的操作:SELECT whatFROM whichTableWHERE criteria 执行以上

asp Driver和Provider两种连接字符串连接Access时的区别_数据库相关

一个网站程序,在添加新闻时出现错误 以下是错误提示: Microsoft OLE DB Provider for ODBC Drivers 错误 '80040e21' 多步 OLE DB 操作产生错误.如果可能,请检查每个 OLE DB 状态值.没有工作被完成. 出现这种错误的原因是因为我把access连接字符串修改为"Driver={Micorsoft Access Driver ()};dbq=" & Server.Mappath(DbPath),而原来的连接字符串为&qu

用SQL批量插入数据的存储过程_数据库相关

循环插入: 复制代码 代码如下: DECLARE @MyCounter INT SET @MyCounter = 0 /*设置变量*/ WHILE (@MyCounter < 2) /*设置循环次数*/ BEGIN WAITFOR DELAY '000:00:10' /*延迟时间10秒*/ INSERT INTO time_by_day (time_id, the_date, the_year, month_of_year, quarter, day_of_month) SELECT TOP 1

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或控制器中都行解决方案二

举例说明如何为JavaScript的方法参数设置默认值_基础知识

你是否遇到过这样的情况,写了个function,无参数.   function showUserInfo(){ alert("你好!我是小明."); } function showUserInfo(){ alert("你好!我是小明."); } 调用:   showUserInfo(); showUserInfo(); 后来,发现其他地方也需要这个function,但是有变量值已经在function里面写死了,怎么办?加个参数吧.   function showUs