Access交流中心

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

[5分]报销管理中的报销类别窗体_修改和删除都不能用?

Bio_hebei  发表于:2009-04-02 02:16:17  
复制

教程中没有提到报销类别的窗体制作,我想是因为这和员工姓名窗体基本相似.

我把员工姓名的三个窗体复制后更名,窗体中的文本框名称和修改窗体的控件来源也改了,并在代码中也改了相关字段,我以为只有以下几个我不知道需不需要改:

那就是模块中的两个定义(我没改)

结果是:新增按钮可以使用,但修改和删除却不可用(点修改不弹出窗体或者虽然弹出但不显示tblcodeBxlb表中的值(是空的),点删除按钮没有反应)

错在何处呢?

 

Top
麥田 发表于:2009-04-02 08:46:35

修改窗体属性有没有加载"[事件过程]"
再看一下主窗体的第一个字段有没有获得焦点"[事件过程]"



Bio_hebei 发表于:2009-04-02 10:50:16

修改窗体代码

Option Compare Database

Private Sub cmdCancel_Click()
Me.Undo
DoCmd.Close acForm, Me.Name
End Sub

Private Sub cmdOK_Click()
    If IsNull(Me.lbmc) Then
        MsgBox "请输入报销类别!", vbCritical, "提示:"
        Me.lbmc.SetFocus
        Exit Sub
    End If
    Me.Refresh
    DoCmd.Echo False
    Forms!usysfrmMain!frmChild.SourceObject = "frmBxlb_child"
    DoCmd.Echo True
    '触发子窗体计时器事件
    Forms!usysfrmMain!frmChild.Form.TimerInterval = 300
    DoCmd.Close acForm, Me.Name
End Sub

Private Sub Form_Load()
    Me.RecordSource = "SELECT * FROM tblCodeBxlb WHERE lbId = '" & selectstr & "'"
    g_CurrentSelectStrID = selectstr
End Sub

frmBxbl_child窗体代码

Option Compare Database

Private Sub Form_Timer()
    Acchelp_FindstrRecord (g_CurrentSelectStrID)
    '计时器执行一次后不再执行
    Me.TimerInterval = 0

End Sub

Private Sub lbID_GotFocus()
    On Error GoTo Err_lbId_GotFocus:
    selectstr = Me.lbId
    Forms!usysfrmMain!labFind.Tag = 1
    Forms!usysfrmMain!btnEdit.Tag = 999
Exit_lbId_GotFocus:
    Exit Sub
Err_lbId_GotFocus:
    Resume Exit_lbId_GotFocus

End Sub
Public Sub btnDel()
If MsgBox("您确认要删除吗?", vbYesNo + vbInformation, Forms!usysfrmLogin.Caption) = vbYes Then
  DoCmd.Echo False
  Call AccHelp_DeleteFldstrRow("tblCodeBxlb", "lbId", selectstr)
  Forms!usysfrmMain!frmChild.SourceObject = "frmBxlb_child"
  DoCmd.Echo True
End If
End Sub

 

所以应该不是您说的问题?是不是代码本身有问题啊?



Bio_hebei 发表于:2009-04-02 12:13:43

问题终于找到了,删除代码中tblCodeBxlb 中c不能大写

修改窗体代码lbID的d也不能大写,没想到要求这么严格啊

 

已经解决!!



钱玉炜 发表于:2009-04-02 12:42:04

大小写不影响你的代码,请检查别的地方



Bio_hebei 发表于:2009-04-02 16:35:24
奇怪,我只是改了一下这个地方就解决了问题

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