Access交流中心

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

在更新过程出现的问题,请各位看看

滨海之城  发表于:2009-05-30 12:37:52  
复制

     在附件窗体中,有一个两个更新不同的更新,第一个完全正确,可是第二个更新,却只能更新子窗体中的第一行数据,其它满足条件的更新,无法更新.请大家指点一下,那里出了问题.

 

Private Sub Comm6_Click()
Dim STemp As String
Dim Rs As ADODB.Recordset
Dim A As Integer


If Comm6.Caption = "完成" Then
    A = DCount("料号", "BZBOM", "数量=0")

    STemp = "select [BZBOM].* FROM [BZBOM] WHERE 数量=0"
Else
   A = DCount("料号", "BZBOM", "产品型号='" & Me.产品型号 & "'") '--------执行此段代码时,只能更新数据中的一行,不知是怎么回事?
   

    STemp = "select * FROM BZBOM WHERE 产品型号 LIKE " & "'" & Me.产品型号 & "'"
End If

 For A = 1 To A
 Set Rs = New ADODB.Recordset
 Rs.Open STemp, CurrentProject.Connection, adOpenKeyset, adLockOptimistic
 On Error GoTo ERR

Rs("订单号") = Me.订单号
Rs("产品型号") = Me.产品型号
Rs("数量") = Me.数量

Rs.Update
Rs.Close
Set Rs = Nothing
Next
Me.Child10.Requery
Me.Comm6.Caption = "确认"
Exit Sub
ERR:
    MsgBox "请输入料号,再确认!", vbExclamation, "系统提示"
End Sub

Private Sub Comm8_Click()
DoCmd.Close
End Sub

 

Top
豆豆 发表于:2009-05-30 15:04:36

For A = 1 To A
改为

Dim i As Integer

for i=1 to A

 

Rs("订单号") = Me.订单号
Rs("产品型号") = Me.产品型号
Rs("数量") = Me.数量

Rs.Update
Rs.Close
Set Rs = Nothing
Next
改为

rs.MoveFirst

Rs("订单号") = Me.订单号
Rs("产品型号") = Me.产品型号
Rs("数量") = Me.数量

Rs.Update
rs.MoveNext

next i

 

Rs.Close
Set Rs = Nothing



游滨 发表于:2009-05-30 18:04:03

还是不能全部更新.请再帮忙一下

 

 



豆豆 发表于:2009-05-30 22:17:40

这个要看你的附件,附件?

 



游滨 发表于:2009-05-31 12:26:35

附件已上传

 



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