设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
查看: 908|回复: 5
打印 上一主题 下一主题

[其它] 方法与数据成员不存的问题

[复制链接]
跳转到指定楼层
1#
发表于 2006-4-5 18:28:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
Private Sub Form_Load()
Dim i, j As Long
Dim a, b, c As String
j = Me.RecordsetClone.RecordCount
Me.Recordset.MoveFirst
Me.SendNo = "OQC" & Format(Me.SendDate, "yymm") & "001"
    For i = 1 To j
    '要望书回复情报
    If IsNull(Me.FactDate) And Me.ReplyDate < Date Then
        Me.OnTime = "NoAnswer"
    Else
        Me.OnTime = ""
    End If
    '发行NO情报
    If Me.SendNo = "" Then
        If a = Me.LotNo And b = Me.MaterialNo Then
            Me.SendNo = c
        Else
            Me.SendNo = "OQC" & Format(Me.SendDate, "yymm") & Format(CLng(DMax("mid(SendNo,8,3)", "IQC_Send") + 1), "000")
        End If
        a = Me.LotNo: b = Me.MaterialNo: c = Me.SendNo
    Else
        a = Me.LotNo: b = Me.MaterialNo: c = Me.SendNo
    End If
        Me.Recordset.MoveNext
    Next
End Sub

以上代码中运行时:Me.LotNo找不到?其实窗中LotNo已存在,控件名也没错,但就是出错,以前经常碰到类似的问题,但过段时间它又自动好了在什么也没改变的情况下!!!

碰到这样的问题不知从那方面着手解决????
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
发表于 2006-4-5 19:18:00 | 只看该作者
试下用"压缩和修复数据库"处理一下,或者将例子简化后传上来,让别人帮你测试一下,
3#
发表于 2006-4-5 19:47:00 | 只看该作者
引用DAO没有?
4#
 楼主| 发表于 2006-4-5 19:57:00 | 只看该作者
没有,如果在下找到原因一定贴上来!

因为数据库建立了前后台与工作组文件,较大不方便传上来

以下代码应可以实现:同年同月从001开始编号,同一LOTNO与同一部品的编号相同,给有类似需求的朋友参考一下,在下花了一上午的时间弄出来的,呵呵

Private Sub Form_Load()
On Error GoTo aa
On Error Resume Next

Dim i, j As Long
Dim b, c, d, e As String
Dim f As Integer
j = Me.RecordsetClone.RecordCount
Me.Recordset.MoveFirst
Me.SendNo = "OQC" & Format(Me.SendDate, "yymm") & "001"
f = 1
    For i = 1 To j
    If IsNull(Me.SendNo) Then
        If Format(Me.SendDate, "yymm") = e Then
            If b = Me.LotNo And c = Me.MaterialNo Then
                Me.SendNo = d
            Else
                Me.SendNo = "OQC" & Format(Me.SendDate, "yymm") & Format(f + 1, "000")
                f = f + 1
            End If
            b = Me.LotNo: c = Me.MaterialNo: d = Me.SendNo: e = Format(Me.SendDate, "yymm")
        Else
            Me.SendNo = "OQC" & Format(Me.SendDate, "yymm") & "001"
            f = 1
        End If
            b = Me.LotNo: c = Me.MaterialNo: d = Me.SendNo: e = Format(Me.SendDate, "yymm")
    Else
            b = Me.LotNo: c = Me.MaterialNo: d = Me.SendNo: e = Format(Me.SendDate, "yymm")
    End If
        Me.Recordset.MoveNext
    Next
   
aa:
    Exit Sub
End Sub



[此贴子已经被作者于2006-4-5 15:36:45编辑过]

5#
 楼主| 发表于 2006-4-5 23:59:00 | 只看该作者
原来是Me.MaterialNo错了,应是Me.CodeNo,但提示时不知ACCESS为什么把焦点指向了Me.LotNo,所以在下一直没找到原因,呵呵
6#
发表于 2006-4-6 02:39:00 | 只看该作者
代码被强迫中断的地方,应该是黄色的高亮显示(vbe编辑器会自动显示),楼主最好贴图把中断代码的地方使用颜色标志一下,这样大家会看得比较清楚,也方便解决问题了。

[此贴子已经被作者于2006-4-5 18:39:57编辑过]

您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-1-10 22:27 , Processed in 0.101882 second(s), 30 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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