Access交流中心

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

添加记录有反应,但是不添加新纪录,是什么原因?

边永利  发表于:2016-12-22 15:00:08  
复制

窗体如下:采购计划子窗体双击某一字段,自动在采购报价子窗体中添加记录;或选择采购计划子窗体中的一项或多项,点击添加记录按钮,实现采购计划记录添加到采购报价子窗体中,

但是这2中方法都有反应,就是不在采购报价子窗体中添加记录,请老师给予指点,刚刚接触access好多都不懂。

以下为双击添加记录的代码:

Option Compare Database
Dim SQLSTR  As String
Option Explicit


Private Sub Form_KeyUp(KeyCode As Integer, Shift As Integer)
 Print Chr(KeyCode)
End Sub
Private Sub Form_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
    顶行 = Me.SelTop
    行数 = Me.SelHeight


End Sub


Private Sub 物资类别_DblClick(Cancel As Integer)
    Call llx
End Sub


Private Sub 物资名称_DblClick(Cancel As Integer)
    Call llx
End Sub


Private Sub 规格型号_DblClick(Cancel As Integer)
    Call llx
End Sub
Private Sub 计量单位_DblClick(Cancel As Integer)
    Call llx
End Sub


Private Sub 数量_DblClick(Cancel As Integer)
    Call llx
End Sub


Sub llx()
    SQLSTR = "insert into tbl_bj([物资类别],[物资名称],[规格型号],[计量单位],[数量]) SELECT [物资类别],[物资名称],[规格型号],[计量单位],[数量] FROM tbl_cgjh WHERE [物资类别] = '" & Me.[物资类别] & "'"
    
    DoCmd.SetWarnings False              ' 取消系统提示
    DoCmd.RunSQL SQLSTR             ' 运行查询
    DoCmd.SetWarnings True                ' 恢复系统提示


    Me.Parent.frm_bj_List_zb.Form.Requery
End Sub
Private Sub Form_Open(Cancel As Integer)
    ApplyTheme Me
    LoadLocalLanguage Me
End Sub




Public Function ViewDetails()
    Call Me.Parent.btnEdit_Click
End Function

点击添加记录按钮的代码如下:

Private Sub Com79_Click()
If 行数 = 0 Then MsgBox "还没有选择记录, 不能添加.": Exit Sub
    For I = 顶行 To 行数 + 顶行 - 1
        Me.frm_cgjh_List_zb.Form.SelTop = I
        SQLSTR = "insert into tbl_bj([物资类别],[物资名称],[规格型号],[计量单位],[数量]) SELECT [物资类别],[物资名称],[规格型号],[计量单位],[数量] FROM tbl_cgjh WHERE [物资类别] = '" & Me.frm_cgjh_List_zb.Form.物资类别 & "'"
        DoCmd.SetWarnings False              ' 取消系统提示
        DoCmd.RunSQL SQLSTR            ' 运行查询
        DoCmd.SetWarnings True                ' 恢复系统提示
    Next
    Me.frm_bj_List_zb.Requery
    顶行 = 0
    行数 = 0
    DoCmd.GoToRecord , , acNewRec


Exit_Com79_Click:
    Exit Sub


Err_Com79_Click:
    MsgBox Err.Description
    Resume Exit_Com79_Click
    
End Sub




 

Top
杜超 发表于:2016-12-25 09:42:25

推荐用快速平台,更省心
www.accessgood.com/download.html





边永利 发表于:2016-12-28 08:16:30

已经解决,方法如下:

1、删除2个表格中的主键。

2、删除代码中的“取消系统提示”一行。

3、更改sql查询语句代码WHERE [物资类别] = '" & Me.frm_cgjh_List_zb.Form.物资类别 & "'"

 更改为WHERE [物资名称]&[规格型号] = '" & Me.frm_cgjh_List_zb.Form.物资类别&规格型号 & "'"



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