问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

请教如何在vba里同时运行多个update语句更新access数据库对应表

发布网友 发布时间:2022-05-03 04:24

我来回答

2个回答

懂视网 时间:2022-05-03 08:45

网上查到综合后确定的update语法范例:
UPDATE mytable SET myfield = CASE WHEN 1 THEN ‘value‘ WHEN 2 THEN ‘value‘ WHEN 3 THEN ‘value‘ END WHERE id IN (1,2,3)

下面是我写的一个通用的update库表内容过程:kku为库表,zd为字段,frow为更新值表头空行数,col为更新值所在列,ygs为员工数量。
注:更新字符和数字写法有所不同,因此用IsNumeric(Cells(1 + frow, col))进行了判断。
功能:可以把表在一列数据,写入表的一个字段。写入值数量可控的通用过程。

Sub writeb(kku As String, zd As String, frow As Integer, col As Integer, ygs As Integer)
psw = "123456"
ku = "kp123"
user = "user123"
ip = "127.0.0.1"
Dim Cnn As New ADODB.Connection
Dim rs As New ADODB.Recordset
Dim a As String
a = "DRIVER={MySQL ODBC 5.3 Unicode Driver};SERVER=" & ip & ";Database=" & ku & ";Uid=" & user & ";Pwd=" & psw & ";Stmt=set names gb2312"
Set Cnn = CreateObject("ADODB.Connection")
Cnn.ConnectionString = a
Cnn.Open
Set rs = CreateObject("ADODB.recordset")
rs.CursorType = adOpenStatic   ‘设置游标类型,否则无法获得行数
rs.CursorLocation = adUseClient   ‘设置游标属性,否则无法获得行数
rr = "(1"    ‘用rr存入id的范围,用qq存入条件和赋值,首先给rr和qq赋个初值(即id为1时的值)
If IsNumeric(Cells(1 + frow, col)) Then
qq = "when id=1 then " & Cells(1 + frow, col)     ‘更新的是数字
Else
qq = "when id=1 then ‘" & Cells(1 + frow, col) & "‘"      ‘更新的为字符串,必须单引号引住
End If
For i = 2 To ygs
rr = rr & "," & i
If IsNumeric(Cells(i + frow, col)) Then
qq = qq + " when id=" & i & " then " & Cells(i + frow, col)
Else
qq = qq + " when id=" & i & " then ‘" & Cells(i + frow, col) & "‘"
End If
Next
rr = rr & ")"
rs.Open "update " & kku & " set " & zd & " = case " & qq & " end where id in " & rr & ";", Cnn, 3, 1
Cnn.Close
Set Cnn = Nothing
End Sub

vba操作Mysql使用UPDATE一次更新多组数据

标签:ase   str   gb2312   unicode   type   data   for   user   open   

热心网友 时间:2022-05-03 05:53

Private Sub CommandButton1_Click()
Dim mydate As String, mytable As String, sql As String, i As Integer
Dim cnn As ADODB.Connection
mydata = ThisWorkbook.Path & "\商品信息表.mdb"
mytable = "inventory"
Set cnn = New ADODB.Connection
With cnn
.Provider = "microsoft.jet.oledb.4.0;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 & "%'"
cnn.Execute sql
Next
MsgBox "存货编码批量替换成功!", vbInformation
cnn.Close
Set cnn = Nothing
End Sub
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
如何查被录取到的专业 怎样查被录取的专业 录取后怎样查询录取的专业 录取专业怎么查 已被录取怎么查专业 ghs网络语什么意思_ghs网络语意思出处含义介绍 纸箱企业管理软件 ghs什么意思网络(ghs什么意思网络用语) 《喜羊羊与灰太狼》大结局 0与任何数相加都得原数吗? 中小学教师刚评上高级职称,一个月后就退休了,退休工资会有什么变化吗? 40年以上教龄教师待遇,是中人退休侍遇高还是新人退休待遇高? 过渡性中人与中人在同等条件下退休工资有差别吗? 2024年后教师退休工资归社保是真的吗? 教师退休工资每月多少 被人故意伤害,经法医鉴定造成轻伤,对方拒不赔偿怎么办 我被打成轻伤,现在打人者拒不承认,我也没有有力证人怎么办? 我被人打成轻伤害,对方不想坐牢,我们应该怎么解决,如何赔偿,要多少钱比较合适 对方自己把自己弄伤鉴定轻微伤,然后说是我打的害我被拘留三天我怎么维权? 法医鉴定是轻伤 怎么办? 招行结构性存款买N开头的 因民事纠纷,致人轻伤害,法院会怎样判? #羽毛球#请问要在打羽毛球比赛前最好要做什么样的热身? 轻伤的赔偿和量刑 宁夏2022年退休副高五级教师预发工资是多少钱 我被打了,对方诬陷我打她,我外伤明鲜,对方说要我带她去检查,怎么解决 打羽毛球的运动员在比赛前都会做什么运动来热身? 急!同学吵架后打架,致使他人轻伤,结果被判故意伤害他人罪和抢劫罪。实际是冤枉的,如何翻案? 肖杰教您打羽毛球之前如何最好的热身 你好,我朋友被人冤枉打人致人轻伤,但她没打,对方找的人做证人, 我们也有人能证明,朋友被刑拘了怎么办 ios8.1越狱后盘古屏蔽了系统更新,如果需要更新系统怎么办 ios9越狱后怎么防止ios自动更新 苹果在越狱后关闭系统更新,清除越狱后更换帐户时会不会触发强制更新? 如何优雅的推迟面试 公司面试不想去怎么推辞? 面试通过之后,如果自己不想去,怎么回绝HR比较礼貌? 如何推辞面试 已达到面试现场怎么取消面试 纯棉内裤跟莫代尔内裤哪个最好? 1991年属什么生肖年 1991年属什么生肖 91年属什么 索尼a7r3如何拍好荧光海 1991年出生的是属什么什么的 京东白条额度一万多,银行贷款为什么会被拒 维克多·韦伯斯的主要作品 头文字D动画版第一集拓海第一次打败启介时的歌是什么? 92年属猴晚上6点28分出生男孩命好不好? 1992年属猴的男生农历七月初一是什么命 92年男属猴6月1日中午11点20分生的命远好吗? detroit vs everybody歌词翻译