Access交流中心

北京 | 上海 | 天津 | 重庆 | 广州 | 深圳 | 珠海 | 汕头 | 佛山 | 中山 | 东莞 | 南京 | 苏州 | 无锡 | 常州 | 南通 | 扬州 | 徐州 | 杭州 | 温州 | 宁波 | 台州 | 福州 | 厦门 | 泉州 | 龙岩 | 合肥 | 芜湖 | 成都 | 遂宁 | 长沙 | 株洲 | 湘潭 | 武汉 | 南昌 | 济南 | 青岛 | 烟台 | 潍坊 | 淄博 | 济宁 | 太原 | 郑州 | 石家庄 | 保定 | 唐山 | 西安 | 大连 | 沈阳 | 长春 | 昆明 | 兰州 | 哈尔滨 | 佳木斯 | 南宁 | 桂林 | 海口 | 贵阳 | 西宁 | 乌鲁木齐 | 包头 |

用VBA添加记录问题

迷惘的风  发表于:2019-03-25 10:48:10  
复制

思路:

1、一张空表和一个窗体,窗体上有按钮,一个是添加记录按钮,一个是删除记录按钮;表名为sample

2、用循环语句赋值,添加记录。

3、添加记录按钮程序:

Private Sub Command1_Click()
Dim a1 As Byte
Dim a2 As Byte

Dim strsql As String

DoCmd.OpenTable "sample", , acAdd   '以添加方式打开sample表
For a1 = 1 To 10
    For a2 = a1 + 1 To 11
         strsql = "INSERT INTO sample (R1,R2) VALUES (a1,a2)"    :REM: 变量不能做参数吗?如果改用常数是可以的,但每次都要询问是滞添加,能否不要这个提问?
                        DoCmd.RunSQL strsql
    Next a2

Next a1

Msgbox("操作完成“)

DoCmd.CloseDatabase
End  Sub

用常数时,运行时有如下提示:每增加一行,就要点一次,能否取消?并且删除一次,ID自动延续后面的,而不是从1开始



4、删除全部记录按钮代码:
Private Sub Command2_Click()
DoCmd.RunSQL "delete *from sample"        :REM:  运行时,要询问是否删除? 
End Sub


                     

    

 

Top
leoyoung 发表于:2019-03-25 15:11:31

DoCmd.SetWarnings False

...

DoCmd.SetWarnings True

Docmd这是兼容以前版本用的。



迷惘的风 发表于:2019-03-25 17:49:42

Docmd不能用,需要用其它语句,是吗?




迷惘的风 发表于:2019-03-26 22:16:13
增加了DoCmd.SetWarnings False,就没有再提示是否增加记录,但插入语句总不对,R1~R2字段为数字型,运行时,提示类型不对,把a1,a2设为INT型,仍不对,要哪处类型才对呢?

飘摇王 发表于:2019-04-02 10:57:49

如何取消操作查询的警告提示-DoCmd.SetWarnings False

http://www.accessoft.com/article-show.asp?id=8595 


Private Sub 有提示_Click()
    DoCmd.RunSQL "Update 表 SET 字段 = '123' "            ' 运行更新查询
    MsgBox "完成"
End Sub

Private Sub 无提示1_Click()
    DoCmd.SetWarnings False                               ' 取消系统提示
    DoCmd.RunSQL "Update 表 SET 字段 = '123' "            ' 运行更新查询
    DoCmd.SetWarnings True                                ' 恢复系统提示
    MsgBox "完成"
End Sub

Private Sub 无提示2_Click()
    CurrentDb.Execute "Update 表 SET 字段 = '123' "        ' 用CurrentDb对象执行更新查询
    MsgBox "完成"
End Sub



总记录:4篇  页次:1/1 9 1 :