
update 表1 set f1=-1, f2=0 where ID<11
执行的效果是将表1中ID从1到10的记录的f1字段值更新为-1,f2字段值更新为0
update 表1 set f1=-1, f2=0 where ID=11
执行的效果是将表1中ID为11的记录的f1字段值更新为-1,f2字段值更新为0
Private Sub CommandButton1_Click()
Dim mydate As String, mytable As String, sql As String, i As Integer
Dim cnn As ADODBConnection
mydata = ThisWorkbookPath & "\商品信息表mdb"
mytable = "inventory"
Set cnn = New ADODBConnection
With cnn
Provider = "microsoftjetoledb40;Persist Security Info=False;Jet OLEDB:Database Password=123"
Open mydata
End With
For i = 1 To 4
sql = "update inventory set 商品编码='" & Chr(i + 64) & "'+MID(商品编码,3) where 商品编码 like '0" & i & "%'"
cnnExecute sql
Next
MsgBox "存货编码批量替换成功!", vbInformation
cnnClose
Set cnn = Nothing
End Sub
做个样表详见截图
输入 =IF(ROW()<=COUNTA(A:A),INDEX(A:A,ROW(A1)),IF(ROW()<=COUNTA(A:B),INDEX(B:B,SMALL(IF(B:B<>"",ROW(B:B),6^6),ROW(A1)-COUNTA(A:A))),INDEX(C:C,SMALL(IF(C:C<>"",ROW(C:C),6^6),ROW(A1)-COUNTA(A:B)))))
同时按下CTRL+SHIFT+Enter三键,使数组公式出现{ },公式下拉直到出现0值
这里用公式做3列还可以,但运行比较慢,若列数再多公式更复杂,运行会更卡,建议用VBA而不用公式
Cells(TargetRow, 1) = Now()
的错误在于“ ,”
vba只识别英文状态的“ , ”
Private Sub Worksheet_Change(ByVal Target As Range)
If TargetRow >= 3 And TargetRow <= 100 And _
TargetColumn >= 2 And TargetColumn <= 10 Then
ApplicationEnableEvents = False
Cells(TargetRow, 1) = Now()
ApplicationEnableEvents = True
End If
End Sub
把上面的语句贴上去看看。
这段代码的意思是
在你所激活的单元格在 3行到100行, 2列到10列之间时
所选取当前单元格的第一列 = 当前时间 now()
希望能帮到你。
代码开始先取消保护单元格,结束执行再保护单元格。同时,注意出错处理。程序出错,同样要进行保护单元格。
Sheet1Unprotect '取消单元格保护
Sheet1Protect DrawingObjects:=True, Contents:=True, Scenarios:=True '进行单元格保护
代码中的Sheet1是工作表的后台名称
以上就是关于excel vba 怎么执行update语句全部的内容,包括:excel vba 怎么执行update语句、请教如何在vba里同时运行多个update语句更新access数据库对应表、同一个excel中一个工作簿随另一个工作簿更新等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)