VB基础

ZYF818 2019-03-14 09:31:52
ACCESS 数据库里N个表 名字类似 51book 52book 65book....... 等等 名字前面数字不统一 但是后面都是统一的book 我想用程序保存一个数据到所有以book结尾的表里,该怎么写程序。以下写法只能保存一个,请高人指点。

SQL22 = "select * from 51book“
Call OpenConn
rs.Open SQL22, cn, 3, 3
rs.addnew
rs!kcdj = TextBox1.Text
rs!kcmc = TextBox2.Text
rs!kcno = Text1.Text
rs.Update
Call CloseConn
...全文
829 7 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
m0_45512427 2019-08-10
  • 打赏
  • 举报
回复
最爱的宝宝。
VB业余爱好者 2019-03-27
  • 打赏
  • 举报
回复
引用 4 楼 VB业余爱好者 的回复:
Dim rst1 As Recordset
Call OpenConn

Set rst1 = cn.OpenSchema(adSchemaTalbles) '获取数据库表记录集
If Not rst1.EOF Then
rst1.MoveFirst

Do Until rst1.EOF
If Right(rst1!TABLE_NAME, 4) = "book" Then s筛选以book结尾的表
SQL22 = "select * from " & rst1!TABLE_NAME
rs.open SQL22, cn, 3, 3
rs.addnew
rs!kcdj = TextBox1.Text
rs!kcmc = TextBox2.Text
rs!kcno = Text1.Text
rs.Update
rs.Close
End If

rst1.MoveNext
Loop
End If

Call CloseConn


筛选前面那个“s”应该是个单引号,注释用
VB业余爱好者 2019-03-27
  • 打赏
  • 举报
回复
Dim rst1 As Recordset
Call OpenConn

Set rst1 = cn.OpenSchema(adSchemaTalbles) '获取数据库表记录集
If Not rst1.EOF Then
rst1.MoveFirst

Do Until rst1.EOF
If Right(rst1!TABLE_NAME, 4) = "book" Then '筛选以book结尾的表
SQL22 = "select * from " & rst1!TABLE_NAME
rs.open SQL22, cn, 3, 3
rs.addnew
rs!kcdj = TextBox1.Text
rs!kcmc = TextBox2.Text
rs!kcno = Text1.Text
rs.Update
rs.Close
End If

rst1.MoveNext
Loop
End If

Call CloseConn
VB业余爱好者 2019-03-27
  • 打赏
  • 举报
回复
Dim rst1 As Recordset
Call OpenConn

Set rst1 = cn.OpenSchema(adSchemaTalbles) '获取数据库表记录集
If Not rst1.EOF Then
rst1.MoveFirst

Do Until rst1.EOF
If Right(rst1!TABLE_NAME, 4) = "book" Then s筛选以book结尾的表
SQL22 = "select * from " & rst1!TABLE_NAME
rs.open SQL22, cn, 3, 3
rs.addnew
rs!kcdj = TextBox1.Text
rs!kcmc = TextBox2.Text
rs!kcno = Text1.Text
rs.Update
rs.Close
End If

rst1.MoveNext
Loop
End If

Call CloseConn
milaoshu1020 2019-03-14
  • 打赏
  • 举报
回复
试试看这样行不行:

SQL22 = "select * from 51book“
Call OpenConn
rs.Open SQL22, cn, 3, 3
rs.addnew
dim i as integer
for i=0 to rs.fields.count-1
if rs.fields(i).name like "*book" then
rs.field(i).value = textbox1.text
end if
next
rs.Update
Call CloseConn
mington197804 2019-03-14
  • 打赏
  • 举报
回复
Dim dbs_New As Database
Set dbs_New = OpenDatabase(AccessFileName, True, False)
Dim i As Integer
For i = 0 To dbs_New.TableDefs.Count - 1
dim strName as string
strName=dbs_New.TableDefs(i).Name
'以下为根据strName是否以book结尾进行处理

Next i
mington197804 2019-03-14
  • 打赏
  • 举报
回复
一次的记录集操作没办法做到像你说的这样的。可以考虑采用for循环的方式,依次获取文件中的各个Table的name,通过判断name是不是以book结束来判断是否为需要添加数据的Table,如果是,用addnew添加就是了。

7,785

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧