Access交流中心

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

怎样一次保存多条记录

菜鸟先飞  发表于:2009-07-20 18:18:15  
复制

我想做个的是,一个票据号对多种物品,而我在论坛里面找的作品示例都没有,都是点击一次保存保存一条记录,那样太麻烦啦,我是想入录多条记录点击一次保存就OK,(其中要求,有两张数据表,一张明细数据表,就是详细记录每条记录,另外一张总表,只要反映品名、数量、金额,其中如果新入的产品,如果总表上有就直接加上数量和金额就行,如果没有就要添加这条记录的品名和数量、金额) 请问该怎么做,请高手指点,有相关事例也好!

 

Top
菜鸟先飞 发表于:2009-07-20 18:20:11
最好,全是用代码实现 谢谢!

曹光耀 发表于:2009-07-20 23:36:50

利用ADO

 代码如下:

Private Sub Cmd0_Click()
On Error GoTo Err_Cmd0_Click
Dim i As Integer
Dim str As String

Dim rs As ADODB.Recordset
Set rs = New ADODB.Recordset
str = "select * from 入库表"
rs.Open str, CurrentProject.Connection, adOpenKeyset, adLockOptimistic

Dim rs1 As ADODB.Recordset
Set rs1 = New ADODB.Recordset
str = "select * from 入库历史表"
rs1.Open str, CurrentProject.Connection, adOpenKeyset, adLockOptimistic

If rs.RecordCount < 1 Then
    Exit Sub '入库表中无记录时,退出过程
End If

rs.MoveFirst
For i = 0 To rs.RecordCount - 1
    rs1.AddNew
        rs1!日期 = Me.Text1
        rs1!入库单号 = Me.Text2
        rs1!物料ID = rs!物料ID
        rs1!物料名称 = rs!物料名称
        rs1!数量 = rs!数量
    rs1.Update
    rs.Delete 1
rs.MoveNext
Next i

MsgBox "数据已保存到历史表!"
Me.Text2 = Year(Date) & Format(Date, "mm") & Right("0000" & Right(DMax("入库单号", "入库历史表"), 4) + 1, 4) '自动生成入库单号
Me.Refresh

rs.Close
Set rs = Nothing
rs1.Close
Set rs1 = Nothing
Exit_Cmd0_Click:
    Exit Sub
Err_Cmd0_Click:
    MsgBox Err.Description
    Resume Exit_Cmd0_Click
End Sub

 

点击下载此附件

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