北京 | 上海 | 天津 | 重庆 | 广州 | 深圳 | 珠海 | 汕头 | 佛山 | 中山 | 东莞 | 南京 | 苏州 | 无锡 | 常州 | 南通 | 扬州 | 徐州 | 杭州 | 温州 | 宁波 | 台州 | 福州 | 厦门 | 泉州 | 龙岩 | 合肥 | 芜湖 | 成都 | 遂宁 | 长沙 | 株洲 | 湘潭 | 武汉 | 南昌 | 济南 | 青岛 | 烟台 | 潍坊 | 淄博 | 济宁 | 太原 | 郑州 | 石家庄 | 保定 | 唐山 | 西安 | 大连 | 沈阳 | 长春 | 昆明 | 兰州 | 哈尔滨 | 佳木斯 | 南宁 | 桂林 | 海口 | 贵阳 | 西宁 | 乌鲁木齐 | 包头 |
第一次发帖 用了360 打了几遍 都白打了 差点扔键盘
言归正传,这里是对一个以产品系列为主键的内饰详细尺寸表进行修改,其中 规格料单说 字段 为附件,用了ADO方法 两个记录集判断
先对 除了 主键 附件 两字段的 所有字段进行判断 如果有 提示已存在 否则进入第二个判断 产品系列存在的话 进行修改 相应字段
否则退出
其中sql语句 我是一行的 这里换行了 应该没问题 组合框更新后 事件 查询 各个字段 如图1
问题1: 修改时 判断了 有相同项 但结果仍进行修改 导致两个相同项 为什么 难道我的判断 逻辑错误?
问题2: 修改后 选择组合框查询 提示 写入冲突 就是第二个图 为何 应该是哪里的问题?
请各位帮忙看看 多谢 第一次发帖 有什么不对 不妥的地方 见谅
If IsNull(Combo114) Then
MsgBox "请选择产品系列!", vbOKOnly, "温馨提示"
Me.Combo114.SetFocus
Else
Dim sql As String
Dim rs As ADODB.Recordset
Set rs = New ADODB.Recordset
sql = "select * From 内饰详细尺寸表 Where 枕头尺寸='" & Me.Text65 & "' and 枕头重量='" & Me.Text67 & "' and 床垫尺寸='" & Me.Text73 & "' and 床垫重量='" & Me.Text71 & "' and 前盖顶='" & Me.Text51 & "' and 后盖顶='" & Me.Text53 & "' and 前盖围='" & Me.Text55 & "' and 后盖围='" & Me.Text57 & "' and 前盖='" & Me.Text61 & "' and 后尾='" & Me.Text63 & "' and 盖被='" & Me.Text69 & "' and 小围布='" & Me.Text75 & "'"
rs.Open sql, CurrentProject.Connection, adOpenKeyset, adLockOptimistic
If rs.RecordCount = 1 Then
MsgBox "此产品系列信息已存在,请重新输入!", vbOKOnly, "温馨提示"
rs.Close
Set rs = Nothing
Me.Combo114.SetFocus
Else
Dim sql1 As String
Dim rs1 As ADODB.Recordset
Set rs1 = New ADODB.Recordset
sql1 = "select * From 内饰详细尺寸表 Where 产品系列='" & Me.Combo114 & "'"
rs1.Open sql1, CurrentProject.Connection, adOpenKeyset, adLockOptimistic
If rs1.RecordCount = 1 Then
rs1("枕头尺寸") = Me.Text65
rs1("枕头重量") = Me.Text67
rs1("床垫尺寸") = Me.Text73
rs1("床垫重量") = Me.Text71
rs1("前盖顶") = Me.Text51
rs1("后盖顶") = Me.Text53
rs1("前盖围") = Me.Text55
rs1("后盖围") = Me.Text57
rs1("前盖") = Me.Text61
rs1("后尾") = Me.Text63
rs1("盖被") = Me.Text69
rs1("小围布") = Me.Text75
rs1.Update
rs1.Close
Set rs1 = Nothing
MsgBox "修改成功!", vbOKOnly, "温馨提示"
Else
MsgBox "产品系列不存在,请重新选择!", vbOKOnly, "温馨提示"
Me.Combo114.SetFocus
End If
End If
End If