office交流網(wǎng)--QQ交流群號(hào)及微信交流群

Access培訓(xùn)群:792054000         Excel免費(fèi)交流群群:686050929          Outlook交流群:221378704    

Word交流群:218156588             PPT交流群:324131555

微信交流群(請(qǐng)用微信掃碼)

        

Access 使用ADOX修改ACCESS字段名稱及數(shù)據(jù)類型

2017-08-03 06:16:00
zstmtony
原創(chuàng)
5345
Access 使用ADOX修改ACCESS字段名稱及數(shù)據(jù)類型
  
'Access VBA源代碼
 
'使用之前需要先引用ADOX 
Public Sub ChangeFld()   '修改字段名和類型
 
    Dim Cnn As New ADODB.Connection 
    Dim Cat As New ADOX.Catalog      
    Set Cnn = CurrentProject.Connection      
    Cat.ActiveConnection = Cnn      
    Dim strTblName As String 
    Dim strColName As String 
     
    strTblName = "表名" 
    strColName = "字段名" 
     
    Dim i As Integer 
    Dim j As Integer 
    Dim k As Integer 
 
    For i = 0 To Cat.Tables.Count - 1 
        If Cat.Tables(i).Type = "TABLE" Then 
            For j = 0 To Cat.Tables(i).Columns.Count - 1 
                If Cat.Tables(i).Name = strTblName And Cat.Tables(i).Columns(j).Name = strColName Then 
                    '
修改字段類型
  [
  下行用法詳見(jiàn)備注

                    Cnn.Execute "alter table " & strTblName & " alter column " & strColName & " varchar(100)"
 
                     
                    '修改字段名
 
                    Cat.Tables(i).Columns(j).Name = "新字段名" 
                End If 
            Next j 
 
        End If 
    Next i 
     
    MsgBox "OK" 
     
End Sub 
 
 
***************************************************************************************** 
備注:(來(lái)自ADO2.5幫助文件)
  
DataTypeEnum 
指定Field Parameter  或 Property 的數(shù)據(jù)類型。在下表的
“說(shuō)明”
列的括號(hào)中顯示了相應(yīng)的 OLE DB 類型指示符。有關(guān) OLE DB 數(shù)據(jù)類型的詳細(xì)信息,請(qǐng)參閱 OLE DB Programmer's Reference 中的 Chapter 13 和附錄 A 。 
常量   值    說(shuō)明
 
AdArray (不適用于 ADOX。)
 
0x2000 
一個(gè)標(biāo)志值,通常與另一個(gè)數(shù)據(jù)類型常量組合,指示該數(shù)據(jù)
類型的數(shù)組。
  
adBigInt 
20 
指示一個(gè)八字節(jié)的有符號(hào)整數(shù)
 (DBTYPE_I8)
。
 
adBinary 
128 
指示一個(gè)二進(jìn)制值
 (DBTYPE_BYTES)
。
 
adBoolean 
11 
指示一個(gè)布爾值
 (DBTYPE_BOOL)
。
 
adBSTR 

指示以
 Null 
終止的字符串
 (Unicode) (DBTYPE_BSTR)
。
 
adChapter 
136 
指示一個(gè)四字節(jié)的子集值,標(biāo)識(shí)子
行集合
中的行
 
(DBTYPE_HCHAPTER)
。
 
adChar 
129 
指示一個(gè)字符串值
 (DBTYPE_STR)
。
 
adCurrency 

指示一個(gè)貨幣值
 (DBTYPE_CY)
。貨幣是一個(gè)定點(diǎn)數(shù)字,小
數(shù)點(diǎn)右側(cè)有四位數(shù)字。該值存儲(chǔ)為八字節(jié)、范圍為
 10,000 

有符號(hào)整數(shù)。
 
adDate 

指示日期值
 (DBTYPE_DATE)
。日期保存為雙精度數(shù),數(shù)字
的整數(shù)部分是從
 1899 

 12 

 30 
日算起的天數(shù),小數(shù)部分
是一天當(dāng)中的片段時(shí)間。
 
adDBDate 
133 
指示日期值
 (yyyymmdd) (DBTYPE_DBDATE)
。
 
adDBTime 
134 
指示時(shí)間值
 (hhmmss) (DBTYPE_DBTIME)
。
 
adDBTimeStamp 
135 
指示日期
/
時(shí)間戳(
yyyymmddhhmmss 
加十億分之一的小
數(shù))
(DBTYPE_DBTIMESTAMP)

 
adDecimal 
14 
指示具有固定精度和范圍的確切數(shù)字值
 
(DBTYPE_DECIMAL)
。
 
adDouble 

指示一個(gè)雙精度浮點(diǎn)值
 (DBTYPE_R8)
。
 
adEmpty 

指定沒(méi)有值
 (DBTYPE_EMPTY)
。
 
adError 
10 
指示一個(gè)
 32 
位的錯(cuò)誤代碼
 (DBTYPE_ERROR)
。
 
adFileTime 
64 
指示一個(gè)
 64 
位的值,表示從
 1601 

 1 

 1 
日開(kāi)始的
 100 
個(gè)
十億分之一秒間隔的數(shù)量
 (DBTYPE_FILETIME)
。
 
adGUID 
72 
指示全局唯一標(biāo)識(shí)符
 (GUID) (DBTYPE_GUID)
。
 
adIDispatch 

指示指向
 COM 
對(duì)象上
 IDispatch 
接口的指針
 
(DBTYPE_IDISPATCH)
。
  
注意
   ADO 
目前不支持這種數(shù)據(jù)類型。使用它可能導(dǎo)致不可
預(yù)料的結(jié)果。
 
adInteger 

指示一個(gè)四字節(jié)的有符號(hào)整數(shù)
 (DBTYPE_I4)
。
 
adIUnknown 
13 
指示指向
 COM 
對(duì)象上
 IUnknown 
接口的指針
 
(DBTYPE_IUNKNOWN)
。
  
注意
   ADO 
目前不支持這種數(shù)據(jù)類型。使用它可能導(dǎo)致不可
預(yù)料的結(jié)果。
 
adLongVarBinary 
205 
指示一個(gè)長(zhǎng)二進(jìn)制值。
 
adLongVarChar 
201 
指示一個(gè)長(zhǎng)字符串值。
 
adLongVarWChar 
203 
指示一個(gè)以
 Null 
終止的長(zhǎng)
 Unicode 
字符串值。
 
adNumeric 
131 
指示具有固定精度和范圍的確切數(shù)字值
 
(DBTYPE_NUMERIC)
。
 
adPropVariant 
138 
指示一個(gè)
 Automation PROPVARIANT 
(DBTYPE_PROP_VARIANT)
。
 
adSingle 

指示一個(gè)單精度浮點(diǎn)值
 (DBTYPE_R4)

 
adSmallInt 

指示一個(gè)雙字節(jié)的有符號(hào)整數(shù)
 (DBTYPE_I2)
。
 
adTinyInt 
16 
指示一個(gè)單字節(jié)的有符號(hào)整數(shù)
 (DBTYPE_I1)
。
 
adUnsignedBigInt 
21 
指示一個(gè)八字節(jié)的無(wú)符號(hào)整數(shù)
 (DBTYPE_UI8)
。
 
adUnsignedInt 
19 
指示一個(gè)四字節(jié)的無(wú)符號(hào)整數(shù)
 (DBTYPE_UI4)
。
 
adUnsignedSmallInt 
18 
指示一個(gè)雙字節(jié)的無(wú)符號(hào)整數(shù)
 (DBTYPE_UI2)

 
adUnsignedTinyInt 
17 
指示一個(gè)單字節(jié)的無(wú)符號(hào)整數(shù)
 (DBTYPE_UI1)
。
 
adUserDefined 
132 
指示一個(gè)用戶定義的變量
 (DBTYPE_UDT)
。
 
adVarBinary 
204 
指示一個(gè)二進(jìn)制值(僅限于
 Parameter 
對(duì)象)。
 
adVarChar 
200 
指示一個(gè)字符串值。
 
adVariant 
12 
指示一個(gè)
 Automation Variant (DBTYPE_VARIANT)
。
  
注意
   ADO 
目前不支持這種數(shù)據(jù)類型。使用它可能導(dǎo)致不可
預(yù)料的結(jié)果。
 
adVarNumeric 
139 
指示一個(gè)數(shù)字值(僅限于
 Parameter 
對(duì)象)。
 
adVarWChar 
202 
指示一個(gè)以
 Null 
終止的
 Unicode 
字符串。
 
adWChar 
130 
指示一個(gè)以
 Null 
終止的
 Unicode 
字符串
 (DBTYPE_WSTR)
。
 
ADO/WFC 
等價(jià)內(nèi)容
 
包:
com.ms.wfc.data 
常量
 
AdoEnums.DataType.ARRAY 
AdoEnums.DataType.BIGINT 
AdoEnums.DataType.BINARY 
AdoEnums.DataType.BOOLEAN 
AdoEnums.DataType.BSTR 
AdoEnums.DataType.CHAPTER 
AdoEnums.DataType.CHAR 
AdoEnums.DataType.CURRENCY 
AdoEnums.DataType.DATE 
AdoEnums.DataType.DBDATE 
AdoEnums.DataType.DBTIME 
AdoEnums.DataType.DBTIMESTAMP 
AdoEnums.DataType.DECIMAL 
AdoEnums.DataType.DOUBLE 
AdoEnums.DataType.EMPTY 
AdoEnums.DataType.ERROR 
AdoEnums.DataType.FILETIME 
AdoEnums.DataType.GUID 
AdoEnums.DataType.IDISPATCH 
AdoEnums.DataType.INTEGER 
AdoEnums.DataType.IUNKNOWN 
AdoEnums.DataType.LONGVARBINARY 
AdoEnums.DataType.LONGVARCHAR 
AdoEnums.DataType.LONGVARWCHAR 
AdoEnums.DataType.NUMERIC 
AdoEnums.DataType.PROPVARIANT 
AdoEnums.DataType.SINGLE 
AdoEnums.DataType.SMALLINT 
AdoEnums.DataType.TINYINT 
AdoEnums.DataType.UNSIGNEDBIGINT 
AdoEnums.DataType.UNSIGNEDINT 
AdoEnums.DataType.UNSIGNEDSMALLINT 
AdoEnums.DataType.UNSIGNEDTINYINT 
AdoEnums.DataType.USERDEFINED 
AdoEnums.DataType.VARBINARY 
AdoEnums.DataType.VARCHAR 
AdoEnums.DataType.VARIANT 
AdoEnums.DataType.VARNUMERIC 
AdoEnums.DataType.VARWCHAR 
AdoEnums.DataType.WCHAR

分享
文章分類
聯(lián)系我們
聯(lián)系人: 王先生
Email: 18449932@qq.com
QQ: 18449932
微博: officecn01
移動(dòng)訪問(wèn)