设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

12
返回列表 发新帖
楼主: stvent
打印 上一主题 下一主题

[Access本身] 请各位前辈帮忙解决程序中的两个问题!

[复制链接]
11#
 楼主| 发表于 2009-8-31 15:18:18 | 只看该作者
沉了
12#
发表于 2009-8-31 15:36:35 | 只看该作者
请更改标题,
没有看懂您的意思
13#
发表于 2009-8-31 16:18:58 | 只看该作者
本帖最后由 djt 于 2009-8-31 16:20 编辑

按照你的思路写的
Private Sub 采购单号_DblClick(Cancel As Integer)
Dim Rs As New ADODB.Recordset
Dim Conn As New ADODB.Connection
Set Conn = CurrentProject.Connection
Dim Sql As String
Sql = "select * from 入库单明细 where 事务号='" & Me.事务号 & "' and 采购单行号=" & Me.采购单行号
Rs.Open Sql, Conn, adOpenKeyset, adLockReadOnly
If Rs.RecordCount >= 1 Then
   MsgBox "该条记录已存在!", vbInformation + vbOKOnly, "重复提示"
    Exit Sub
End If
Rs.Close
With Forms![入库单_录入].[入库单明细_子窗体].Form.RecordsetClone
    .MoveFirst
    .FindFirst "采购单ID='" & Me.采购单号 & "' and 采购单行号=" & Me.采购单行号
    If .NoMatch = False Then
       MsgBox "该条记录已存在!", vbInformation + vbOKOnly, "重复提示"
        Exit Sub
    End If


End With

Sql = "select * from 入库单明细 where 事务号='" & Me.事务号 & "'"
Rs.Open Sql, Conn, adOpenDynamic, adLockOptimistic
If Not Rs.EOF Then
   MsgBox "该条记录已存在!", vbInformation + vbOKOnly, "重复提示"
Exit Sub
End If
'Set Rs = Nothing
'Set Conn = Nothing

Forms![入库单_录入].SetFocus
   DoCmd.GoToRecord , , acNewRec
   If Forms![入库单_录入].[入库单明细_子窗体].Form.Recordset.RecordCount <= 2 Then
      Forms![入库单_录入].[入库单明细_子窗体].Form.采购单ID = Me![采购单号]
      Forms![入库单_录入].[入库单明细_子窗体].Form.入库日期 = Me![入库日期]
      Forms![入库单_录入].[入库单明细_子窗体].Form.采购单行号 = Me![采购单行号]
      Forms![入库单_录入].[入库单明细_子窗体].Form.入库数量 = Me![数量]
      Forms![入库单_录入].[入库单明细_子窗体].Form.单价 = Me![采购单价]
      Forms![入库单_录入].[入库单明细_子窗体].Form.总价 = Me![采购单价] * Me![数量]
      Forms![入库单_录入].[入库单明细_子窗体].Form.事务号 = Me![事务号]
     
   Else
      Forms![入库单_录入].[入库单明细_子窗体].Form.采购单ID = Me![采购单号]
      Forms![入库单_录入].[入库单明细_子窗体].Form.入库日期 = Me![入库日期]
      Forms![入库单_录入].[入库单明细_子窗体].Form.采购单行号 = Me![采购单行号]
      Forms![入库单_录入].[入库单明细_子窗体].Form.入库数量 = Me![数量]
      Forms![入库单_录入].[入库单明细_子窗体].Form.单价 = Me![采购单价]
      Forms![入库单_录入].[入库单明细_子窗体].Form.总价 = Me![采购单价] * Me![数量]
      Forms![入库单_录入].[入库单明细_子窗体].Form.事务号 = Me![事务号]
    End If
    Dim rs1 As New ADODB.Recordset
    rs1.Open "select * from 物料信息表 where 物料编号='" & Me.物料编号 & "'", Conn, adOpenKeyset, adLockReadOnly
    If rs1.RecordCount >= 1 Then
        Forms![入库单_录入].[入库单明细_子窗体].Form.物料编号 = rs1("物料编号")
        Forms![入库单_录入].[入库单明细_子窗体].Form.物料名称 = rs1("物料名称")
        Forms![入库单_录入].[入库单明细_子窗体].Form.类别 = rs1("类别")
        Forms![入库单_录入].[入库单明细_子窗体].Form.上级ID = DLookup("[ID号]", "入库单明细", "[物料编号]='" & rs1("类别") & "'")
        Forms![入库单_录入].[入库单明细_子窗体].Form.单位 = DLookup("[单位]", "物料信息表", "[物料编号]='" & rs1("物料编号") & "'")

    End If
End Sub
14#
 楼主| 发表于 2009-8-31 16:36:27 | 只看该作者
沉了
15#
 楼主| 发表于 2009-8-31 19:13:04 | 只看该作者
按照你的思路写的
Private Sub 采购单号_DblClick(Cancel As Integer)
Dim Rs As New ADODB.Recordset
Dim Conn As New ADODB.Connection
Set Conn = CurrentProject.Connection
Dim Sql As String
Sql = "sel ...
djt 发表于 2009-8-31 16:18

谢谢djt的帮忙,但还是不成功!双击后,没反应!
16#
 楼主| 发表于 2009-8-31 19:14:01 | 只看该作者
本帖最后由 stvent 于 2009-8-31 19:16 编辑

是不是我表达不清的问题啊?
17#
 楼主| 发表于 2009-9-1 08:25:34 | 只看该作者
继续顶起
18#
发表于 2009-9-1 08:54:48 | 只看该作者
本帖最后由 djt 于 2009-9-1 09:08 编辑

能用类模块,应该可以自己改代码了
Private Sub 采购单号_DblClick(Cancel As Integer)
Dim Rs As New ADODB.Recordset
Dim Conn As New ADODB.Connection
Set Conn = CurrentProject.Connection
Dim Sql As String
Sql = "select * from 入库单明细 where 事务号='" & Me.事务号 & "' and 采购单行号=" & Me.采购单行号
Rs.Open Sql, Conn, adOpenKeyset, adLockReadOnly
If Rs.RecordCount >= 1 Then
   MsgBox "该条记录已存在!", vbInformation + vbOKOnly, "重复提示"
    Exit Sub
End If
Rs.Close

With Forms![入库单_录入].[入库单明细_子窗体].Form.RecordsetClone
    If .RecordCount > 0 Then
        .MoveFirst
        .FindFirst "采购单ID='" & Me.采购单号 & "' and 采购单行号=" & Me.采购单行号
        If .NoMatch = False Then
           MsgBox "该条记录已存在!", vbInformation + vbOKOnly, "重复提示"
            Exit Sub
        End If
    End If
   
End With

Sql = "select * from 入库单明细 where 事务号='" & Me.事务号 & "'"
Rs.Open Sql, Conn, adOpenDynamic, adLockOptimistic
If Not Rs.EOF Then
   MsgBox "该条记录已存在!", vbInformation + vbOKOnly, "重复提示"
Exit Sub
End If
'Set Rs = Nothing
'Set Conn = Nothing

Forms![入库单_录入].SetFocus
   DoCmd.GoToRecord , , acNewRec
   If Forms![入库单_录入].[入库单明细_子窗体].Form.Recordset.RecordCount <= 2 Then
      Forms![入库单_录入].[入库单明细_子窗体].Form.采购单ID = Me![采购单号]
      Forms![入库单_录入].[入库单明细_子窗体].Form.入库日期 = Me![入库日期]
      Forms![入库单_录入].[入库单明细_子窗体].Form.采购单行号 = Me![采购单行号]
      Forms![入库单_录入].[入库单明细_子窗体].Form.入库数量 = Me![数量]
      Forms![入库单_录入].[入库单明细_子窗体].Form.单价 = Me![采购单价]
      Forms![入库单_录入].[入库单明细_子窗体].Form.总价 = Me![采购单价] * Me![数量]
      Forms![入库单_录入].[入库单明细_子窗体].Form.事务号 = Me![事务号]
     
   Else
      Forms![入库单_录入].[入库单明细_子窗体].Form.采购单ID = Me![采购单号]
      Forms![入库单_录入].[入库单明细_子窗体].Form.入库日期 = Me![入库日期]
      Forms![入库单_录入].[入库单明细_子窗体].Form.采购单行号 = Me![采购单行号]
      Forms![入库单_录入].[入库单明细_子窗体].Form.入库数量 = Me![数量]
      Forms![入库单_录入].[入库单明细_子窗体].Form.单价 = Me![采购单价]
      Forms![入库单_录入].[入库单明细_子窗体].Form.总价 = Me![采购单价] * Me![数量]
      Forms![入库单_录入].[入库单明细_子窗体].Form.事务号 = Me![事务号]
    End If
    DoCmd.GoToRecord , , acNewRec
    DoCmd.GoToRecord , , acLast
    Dim rs1 As New ADODB.Recordset
    rs1.Open "select * from 物料信息表 where 物料编号='" & Me.物料编号 & "'", Conn, adOpenKeyset, adLockReadOnly
    If rs1.RecordCount >= 1 Then
        Forms![入库单_录入].[入库单明细_子窗体].Form.物料编号 = rs1("物料编号")
        Forms![入库单_录入].[入库单明细_子窗体].Form.物料名称 = rs1("物料名称")
        Forms![入库单_录入].[入库单明细_子窗体].Form.类别 = rs1("类别")
        Forms![入库单_录入].[入库单明细_子窗体].Form.上级ID = DLookup("[ID号]", "入库单明细", "[物料编号]='" & rs1("类别") & "'")
        Forms![入库单_录入].[入库单明细_子窗体].Form.单位 = DLookup("[单位]", "物料信息表", "[物料编号]='" & rs1("物料编号") & "'")

    End If
   
End Sub
19#
 楼主| 发表于 2009-9-1 09:17:50 | 只看该作者
能用类模块,应该可以自己改代码了
Private Sub 采购单号_DblClick(Cancel As Integer)
Dim Rs As New ADODB.Recordset
Dim Conn As New ADODB.Connection
Set Conn = CurrentProject.Connection
Dim Sql As St ...
djt 发表于 2009-9-1 08:54

那个类是引用论坛上的前辈的,非本人写的!见笑了!
20#
发表于 2009-9-1 15:44:28 | 只看该作者
1# stvent


请尝试,不知符合楼主的要求。
1、
Private Sub 采购单号_DblClick(Cancel As Integer)
'Dim Rs As New ADODB.Recordset
'Dim Conn As New ADODB.Connection
'Set Conn = CurrentProject.Connection
'Dim Sql As String
'Sql = "select * from 入库单明细 where 事务号='" & Me.事务号 & "'"
'Rs.Open Sql, Conn, adOpenDynamic, adLockOptimistic
'If Not Rs.EOF Then
'   MsgBox "该条记录已存在!", vbInformation + vbOKOnly, "重复提示"
'Exit Sub
'End If
With Forms![入库单_录入].[入库单明细_子窗体].Form.RecordsetClone
    If .RecordCount > 0 Then
    .MoveFirst
    .FindFirst "事务号='" & Me.事务号 & "'"
        If .NoMatch = False Then
        MsgBox "该条记录已存在!", vbInformation + vbOKOnly, "重复提示"
        Exit Sub
        End If
    End If
End With

'Set Rs = Nothing
'Set Conn = Nothing
Forms![入库单_录入].SetFocus
   DoCmd.GoToRecord , , acNewRec
'   If Forms![入库单_录入].[入库单明细_子窗体].Form.Recordset.RecordCount <= 1 Then
'      Forms![入库单_录入].[入库单明细_子窗体].Form.采购单ID = Me![采购单号]
'      Forms![入库单_录入].[入库单明细_子窗体].Form.入库日期 = Me![入库日期]
'      Forms![入库单_录入].[入库单明细_子窗体].Form.采购单行号 = Me![采购单行号]
'      Forms![入库单_录入].[入库单明细_子窗体].Form.入库数量 = Me![数量]
'      Forms![入库单_录入].[入库单明细_子窗体].Form.单价 = Me![采购单价]
'      Forms![入库单_录入].[入库单明细_子窗体].Form.总价 = Me![采购单价] * Me![数量]
'      Forms![入库单_录入].[入库单明细_子窗体].Form.事务号 = Me![事务号]
'      Forms![入库单_录入].[入库单明细_子窗体].Form.物料编号 = Me![物料编号]
'      Forms![入库单_录入].[入库单明细_子窗体].Form.物料名称 = Me![物料名称]
'   Else
      Forms![入库单_录入].[入库单明细_子窗体].Form.采购单ID = Me![采购单号]
      Forms![入库单_录入].[入库单明细_子窗体].Form.入库日期 = Me![入库日期]
      Forms![入库单_录入].[入库单明细_子窗体].Form.采购单行号 = Me![采购单行号]
      Forms![入库单_录入].[入库单明细_子窗体].Form.入库数量 = Me![数量]
      Forms![入库单_录入].[入库单明细_子窗体].Form.单价 = Me![采购单价]
      Forms![入库单_录入].[入库单明细_子窗体].Form.总价 = Me![采购单价] * Me![数量]
      Forms![入库单_录入].[入库单明细_子窗体].Form.事务号 = Me![事务号]
      Forms![入库单_录入].[入库单明细_子窗体].Form.物料编号 = Me![物料编号]
      Forms![入库单_录入].[入库单明细_子窗体].Form.物料名称 = Me![物料名称]
     DoCmd.GoToRecord , , acNext
     
'   End If
   
End Sub

2、
将"采购单行号查询子窗体"中的记录源修改为:
SELECT Sheet1.采购单号, Sheet1.采购单行号, Sheet1.物料编号, Sheet1.数量, Sheet1.采购单价, Sheet1.事务号, Sheet1.单位, Sheet1.收贷日期, 物料信息表.物料名称
FROM Sheet1 LEFT JOIN 物料信息表 ON Sheet1.物料编号 = 物料信息表.物料编号;
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-19 16:26 , Processed in 0.084488 second(s), 33 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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