我是VB+AO开发的,我想实现给Access数据库里的一个数据表添加-W1字段(判断是否已经存在),然后把-W字段的值除以1000赋给-W1字段的值。
'为变形值表添加-W1字段
Set pTable = pStTable1.Table '获取标准表的内容Table
Dim pField As IField
Set pField = New Field '新建字段
Dim pFieldEdit As IFieldEdit
Set pFieldEdit = pField '新建字段编辑
With pFieldEdit '设置字段编辑属性
.Name = "-W1"
.Length = 15
.Type = esriFieldType.esriFieldTypeDouble
End With Set pFields = pTable.Fields
'如果已存在字段-W1字段,则在字段集合里找到其索引号提取出来并删除
Dim pField2 As IField
Dim IndexW1 As Long
IndexW1 = pFields.FindField("-W1") '查找原来存在的-W1字段的索引号
If IndexW1 <> -1 Then '-W1字段存在
Set pField2 = pFields.Field(IndexW1)
pTable.DeleteField pField2 '删除原来的-W1字段
End If
pTable.AddField pField
'计算-W1字段,及循环表内容的每一行计算
Dim pRow As IRow '定义行变量
Dim Index_W As Long '现在-W1字段的索引号
Dim IndexW As Long '-W字段的索引号
Index_W = pFields.FindField("-W1") '找到现在-W1的索引号
IndexW = pFields.FindField("-W") '找到-W的索引号
For intCount7 = 1 To pTable.RowCount(Nothing) '循环每一行
Set pRow = pTable.GetRow(intCount7)
pRow.Value(Index_W) = pRow.Value(IndexW) / 1000
'计算每一行-W1的值
pRow.Store '保存
Next
End Sub
到了这一行 pRow.Store '保存 就出错提示啊,说参数不足期待是2!!
'为变形值表添加-W1字段
Set pTable = pStTable1.Table '获取标准表的内容Table
Dim pField As IField
Set pField = New Field '新建字段
Dim pFieldEdit As IFieldEdit
Set pFieldEdit = pField '新建字段编辑
With pFieldEdit '设置字段编辑属性
.Name = "-W1"
.Length = 15
.Type = esriFieldType.esriFieldTypeDouble
End With Set pFields = pTable.Fields
'如果已存在字段-W1字段,则在字段集合里找到其索引号提取出来并删除
Dim pField2 As IField
Dim IndexW1 As Long
IndexW1 = pFields.FindField("-W1") '查找原来存在的-W1字段的索引号
If IndexW1 <> -1 Then '-W1字段存在
Set pField2 = pFields.Field(IndexW1)
pTable.DeleteField pField2 '删除原来的-W1字段
End If
pTable.AddField pField
'计算-W1字段,及循环表内容的每一行计算
Dim pRow As IRow '定义行变量
Dim Index_W As Long '现在-W1字段的索引号
Dim IndexW As Long '-W字段的索引号
Index_W = pFields.FindField("-W1") '找到现在-W1的索引号
IndexW = pFields.FindField("-W") '找到-W的索引号
For intCount7 = 1 To pTable.RowCount(Nothing) '循环每一行
Set pRow = pTable.GetRow(intCount7)
pRow.Value(Index_W) = pRow.Value(IndexW) / 1000
'计算每一行-W1的值
pRow.Store '保存
Next
End Sub
到了这一行 pRow.Store '保存 就出错提示啊,说参数不足期待是2!!
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货