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
...全文
797 7 打赏 收藏 转发到动态 举报
写回复
用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添加就是了。
vb基础教程我们需要什么?当我们在一个精彩的游戏世界中游历了一番之后,或是惊叹于某一工具软件的小巧精致之余,多少总会产生些许编程的冲动。编程吗,在以前如果你对电脑还是一个门外汉,那实在是一件可望而不可及的事情。如果运用基于DOS下的编程语言,譬如C、Qbasic、Pascal等等,真不知何年何月才能有所成就。   编程是需要天赋的,你必须在大脑中对整个程序有一个清晰的轮廓,一个高效的流程,这并不是每个人都能做到的,你必须思之慎之,这也使编程变成一件最枯燥无味的事情。但在第四代计算机语言(可视化编程)出现后,可以确切的说它开发了人们的更多天赋,并不局限于那些头脑异常清晰的人,每一个人都可以发现自己也可以编出一些从前不敢问津的程序,想象力的充分发挥才是第四代语言的精粹。   Visual Basic(以下简称VB)可以说是可视化语言的先驱了,而且它也是可视化程度最高的一个,从几年前VB诞生之日起到现在,它已经经历了五个版本,而且现在微软正在紧张的进行着VB6.0的研制、测试,这么高的更新率,不外乎说明两个问题:用户对VB的热衷,微软对VB的重视。不可否认微软对市场的预测能力是极为高明的,而它强大的技术、财力支持也使它在许多以前未进入的领域,在不长的时间内有成为最有力的竞争对手,如IE之于浏览器领域,《帝国时代》之于游戏都是最好的例证。对于VB现在也有一个很强的竞争对手――Delphi,有人把它称作VB杀手,这显然有偏激之处,VB的确有它的不足之处,但Delphi又何尝不是呢,而且以微软对VB的倾心,VB的功能必然会越来越强大。

7,762

社区成员

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

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