设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

12下一页
返回列表 发新帖
查看: 2990|回复: 11
打印 上一主题 下一主题

[窗体] 【求助】明明在ComboBox里面编辑,在change事件中提示未获得焦点【不完美解决】

[复制链接]

点击这里给我发消息

跳转到指定楼层
1#
发表于 2015-7-11 10:12:59 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 doney88 于 2015-7-11 11:18 编辑

源码如下:
Private Sub cbo物料编号_Change()
'

    Dim strCriteria As String

    strCriteria = Me.cbo物料编号.Text

    Me.cbo物料编号.RowSource = "SELECT 表_采购_物料数据.物料编号, tblProduct.FProductCode, tblProduct_SKU.FColorCode, tblProduct_SKU.FColor, 表_采购_物料数据.单价" & _
                    " FROM 表_采购_物料数据 INNER JOIN (tblProduct INNER JOIN tblProduct_SKU ON tblProduct.FProductID = tblProduct_SKU.FProductID) ON 表_采购_物料数据.FMaterialID = tblProduct_SKU.FMaterialID" & _
                    " Where FProductCode Like '*" & strCriteria & "*' Or 物料编号 Like '" & strCriteria & "'"
    Me.cbo物料编号.Dropdown

End Sub

这是一个很诡异的情况! 就刚刚还好的,当我加了一个代码就出问题了!

尝试过在新建一个窗体,将代码复制进去,测试没问题!可能跟窗体有关系!
之后索性就重新做一遍窗体,控件自己创建,代码复制。结果还是出现这样的问题!!真是见鬼了!!

用最笨的方法,重建窗体了,先确保ComBobox空间的可行性。然后一个个从旧窗体复制过来,复制一个检查一次!步步为营,居然就可以了!

而且发现,原来出现错误的窗体也好了!!

这是什么鬼。。





分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏1 分享分享 分享淘帖 订阅订阅

点击这里给我发消息

2#
 楼主| 发表于 2015-7-11 10:17:43 | 只看该作者
本帖最后由 doney88 于 2015-7-11 10:19 编辑

一下是我现在窗体中所有的代码!

Private Sub cboBillType_AfterUpdate()
Dim strBillType As String
Dim strBillNum As String
Dim strBillNumIni As String     '单据首字母

    '自动生成单号
    If Nz(Me.cboBillType) = "" Then Exit Sub
    strBillType = Me.cboBillType
    If strBillType = "出库" Then    '单据首字母
        strBillNumIni = "OT"
    Else
        strBillNumIni = "IN"
    End If
   
    strBillNum = Nz(DMax("Mid(FBillNum,3)", "tblPdtIvtData", "FBillType Like '" & Me.cboBillType & "'"), 0)
    strBillNum = strBillNumIni & Format(strBillNum + 1, "000000")
    Me.txtBillNum = strBillNum
   
    '自动导入日期
    Me.txtDate = DATE

End Sub

‘=====================================================================================================================

Private Sub cbo物料编号_AfterUpdate()
    Dim intListIndex As Integer
    Dim strPdtCode As String
    Dim strColCode As String
   
        intListIndex = Me.cbo物料编号.ListIndex
        With Me.cbo物料编号
            strPdtCode = Nz(.Column(1, intListIndex))
            strColCode = Nz(.Column(2, intListIndex))
            
            Me.txtProductCode = strPdtCode
            Me.txtColorCode = strColCode
            Me.txtColor = .Column(3, intListIndex)
            Me.txtPrice = .Column(4, intListIndex)
        End With
'    '添加图片
'    gf_GetPicPath Me.Pic, strPdtCode, strColCode
   
End Sub

’================================================================================================================================
Private Sub cbo物料编号_Change()
'

    Dim strCriteria As String
   
    strCriteria = Me.cbo物料编号.Text

    Me.cbo物料编号.RowSource = "SELECT 表_采购_物料数据.物料编号, tblProduct.FProductCode, tblProduct_SKU.FColorCode, tblProduct_SKU.FColor, 表_采购_物料数据.单价" & _
                    " FROM 表_采购_物料数据 INNER JOIN (tblProduct INNER JOIN tblProduct_SKU ON tblProduct.FProductID = tblProduct_SKU.FProductID) ON 表_采购_物料数据.FMaterialID = tblProduct_SKU.FMaterialID" & _
                    " Where FProductCode Like '*" & strCriteria & "*' Or 物料编号 Like '" & strCriteria & "'"
    Me.cbo物料编号.Dropdown
   
End Sub

Private Sub cbo物料编号_KeyDown(KeyCode As Integer, Shift As Integer)
    ArrowSelectList Me.cbo物料编号, KeyCode

End Sub


‘========================================================================================================================
Private Sub cmdInsert_Click()
    Dim db As DAO.Database
    Dim rst As DAO.Recordset
    Dim strSql As String
   
        Set db = CurrentDb
        Set rst = db.OpenRecordset("tblPdtIvtData_Temp")
        
        rst.AddNew
            rst!物料编号 = Me.cbo物料编号
            rst!FQty = Me.txtQty
            rst!FPrice = Me.txtPrice
            rst!FNote = Me.txtNote
        rst.Update
        
        rst.Close: Set rst = Nothing
        db.Close: Set db = Nothing
        
        Me.Requery
        
End Sub

’==============================================================================================================

Private Sub cmdOpenBill_Click()

    Me.txtBillNum = Null
    Me.cboBillType = Null
    Me.txtDate = Null
   
    CurrentDb.Execute "Delete From tblPdtIvtData_Temp"
    Me.Requery
   
   
End Sub

‘===============================================================================================================

Private Sub cmdSave_Click()
    Dim strBillNum As String
    Dim strBillType As String
    Dim datePdtIvt As Date
    Dim strSql As String
   
On Error GoTo HandleError
    strBillNum = Me.txtBillNum
    strBillType = Me.cboBillType
    datePdtIvt = Me.txtDate
    strSql = "Update tblPdtIvtData_Temp Set FBillNum='" & strBillNum & "',FBillType='" & strBillType & "'," & _
                "FDate=#" & datePdtIvt & "#"
    CurrentDb.Execute strSql
    strSql = "Insert Into tblPdtIvtData(FBillNum,FBillType,FSKUID,物料编号,FQty,FPrice,FDate,FNote)" & _
                " Select FBillNum,FBillType,FSKUID,物料编号,FQty,FPrice,FDate,FNote From tblPdtIvtData_Temp"
    CurrentDb.Execute strSql
   
    If IsLoaded("frmPdtIvt") Then Forms!frmPdtIvt.Requery
   
    MsgBox "保存成功!", vbInformation
   
   
Exit_Sub:
    Exit Sub
   
HandleError:
    If Err.Number <> 0 Then
        If Err = 94 Then
            MsgBox "单号、单据类型、日期不能为空!", vbCritical
        Else
            MsgBox Err & vbCrLf & Err.Description
        End If
    End If
   
    GoTo Exit_Sub
   
End Sub

’=====================================================================================================================

Private Sub Form_Current()
    Dim strPdtCode As String
    Dim strColCode As String

    If Me.NewRecord Then Exit Sub

    strPdtCode = Me.FProductCode
    strColCode = Me.FColorCode
    gf_GetPicPath Me.Pic, strPdtCode, strColCode

End Sub


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

点击这里给我发消息

3#
发表于 2015-7-11 10:28:03 | 只看该作者
你是加了什么代码 才会出现这样?
4#
发表于 2015-7-11 10:35:37 | 只看该作者
strCriteria = Me.cbo物料编号.Text改为strCriteria = Me.cbo物料编号.value试试。印象中,有些控件是不能用text的。

点击这里给我发消息

5#
 楼主| 发表于 2015-7-11 10:36:20 | 只看该作者
tmtony 发表于 2015-7-11 10:28
你是加了什么代码 才会出现这样?

最后一次编辑好像是自动产品型号去提取照片路径,并将路径分配给名字为 Pic 的Image图片框

点击这里给我发消息

6#
 楼主| 发表于 2015-7-11 10:37:48 | 只看该作者
roych 发表于 2015-7-11 10:35
strCriteria = Me.cbo物料编号.Text改为strCriteria = Me.cbo物料编号.value试试。印象中,有些控件是不能 ...

我这样就不能自动更新 ComboBox的rowsource属性了,这样是为了方便录入出入库信息。

点击这里给我发消息

7#
发表于 2015-7-11 10:44:23 | 只看该作者
估计损坏了,压缩修复一下
8#
发表于 2015-7-11 10:45:03 | 只看该作者

点击这里给我发消息

9#
 楼主| 发表于 2015-7-11 10:47:44 | 只看该作者
盗梦 发表于 2015-7-11 10:44
估计损坏了,压缩修复一下

压缩了,还是一样

点击这里给我发消息

10#
发表于 2015-7-11 11:03:13 | 只看该作者
这是一个很诡异的情况! 就刚刚还好的,当我加了一个代码就出问题了!

你找到是加了哪句代码导致这样的
1.临时去掉这个代码
2.找到以前的备份 对比代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2025-1-10 04:57 , Processed in 0.102820 second(s), 33 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表