Office中国论坛/Access中国论坛

标题: 子窗体内录入时,通过录入使用查询调用表信息 [打印本页]

作者: yisen    时间: 2009-1-6 16:07
标题: 子窗体内录入时,通过录入使用查询调用表信息
1>>
药品入库明细表子窗体内---药品编码处录入时数据时,
根据录入内容
使用查询调用---基本药品信息表---然后弹出包含录入内容的窗口供选择,

请问如何,写子窗口内药品编码列的代码?

2>>还有"药品入库明细表 子窗体"内为什么这么多-----------#名称?

3>>还有如何定制"药品入库明细表子窗体"内的字段经(比如我不需全部显示在子窗口内.)

[ 本帖最后由 yisen 于 2009-1-7 14:15 编辑 ]
作者: Henry D. Sy    时间: 2009-1-6 16:15
表设计有问题
明细表上面没有必要重复保存基本药品信息表已经保存的数据
作者: Henry D. Sy    时间: 2009-1-6 16:22
原帖由 Henry D. Sy 于 2009-1-6 16:15 发表
表设计有问题
明细表上面没有必要重复保存基本药品信息表已经保存的数据

作者: yisen    时间: 2009-1-7 13:35
版主,你改了我看了,不错,思路应该象你那样.

有新问题,
1>>
要是入库明细表不保留
"批号.有效期.数量.最近进价.进货单价.金额.结余数量"这些字段的话,每个进药单据的这些相关内容保存到哪呢?

2>>
能不能在"药品编号"控件通过其属性的"**事件"中加入代码,依录入内容--------用查询方法(查询药品基本信息表.药品编号.药品名称.药品条码.药品拼音码字段),筛选出包含录入内容后----------以弹出窗口方式供选择?,将选择后的"药品基本信息表"相关字段值赋值给药品编号.药品名称.药品规格.药品大单位.......

请问如何实现?多谢各位/

[ 本帖最后由 yisen 于 2009-1-9 10:46 编辑 ]
作者: Henry D. Sy    时间: 2009-1-7 13:51
"批号.有效期.数量.最近进价.进货单价.金额.结余数量
单价,数量应该保存在明细表上
其他保存在资料表上
作者: Henry D. Sy    时间: 2009-1-7 13:51
能不能在"药品编号"控件通过其属性的"**事件"中加入代码,依录入内容
建立自动查阅列就可以了
作者: yisen    时间: 2009-1-7 14:15
原帖由 Henry D. Sy 于 2009-1-7 13:51 发表
"批号.有效期.数量.最近进价.进货单价.金额.结余数量
单价,数量应该保存在明细表上
其他保存在资料表上


1>>这样是不是在明细表上再增加  ========"批号.有效期.数量.最近进价.进货单价.金额.结余数量
单价,字段?


2>>还有建立自动查阅列是不在药品基本信息表的药品编号字段列创建?创建方法是不是象下面网址所说那样?

http://www.onegreen.net/Article/Database/ACCESS/10153.html

3>>另有一问题就是在入库明细子窗体内录入内容======"批号.有效期.数量.最近进价.进货单价.金额.结余数量
单价,,为什么我录完第一行,再录入第二行时,第一行的数据就会被更改成第二行录入的内容.??
作者: Henry D. Sy    时间: 2009-1-7 14:16
供您参考

[ 本帖最后由 Henry D. Sy 于 2009-1-7 15:51 编辑 ]
作者: yisen    时间: 2009-1-7 15:18
谢谢版主,
版主问个问题,

1>>
为什么我在入库单--入库明细表中添加了药品编号后,药品基本信息表的药品名.规格.价格.条码等相关内容会自动填入到相关行的相关列中,--------是不是只要将药品基本信息表与入库明细表通过药品编号建立关系就可以实现了?

2>>版主子窗体的这个代码什么作用?
进入子窗体前检查入库单各项是否填写完整?
Private Sub 药品入库明细表_子窗体_Enter()
    Dim ctl As Control
    For Each ctl In Me.Controls
        If TypeOf ctl Is TextBox Then
            If IsNull(ctl) Then
                MsgBox "必须输入 " & ctl.Name
                ctl.SetFocus
                Exit Sub
            End If
        End If
    Next
End Sub


还有下面这个不懂,
Private Sub 药品编号_AfterUpdate()
    Me.单价 = Me.药品编号.Column(1)
End Sub

3>>因为来货公司比较多家,每家的药品编号均不同,能不能在药品编号处的录入进行改造?
用包含(link ) 的方式进行选取基本信息表的内容(一般用编号或药品名.或药品拼音码.或条码)


编号  药品名  拼音码  条码
001     青霉素   qms    69011111
002     青素     qs        6902222
003     青霉     qm       6903333

当在药品编号处录入001时会显示青霉素
当输入qs时则显示  "青霉素"及"青霉"供选择
当输入690时刚显示"青霉素"   "青素"    "青霉"三个供选择
最好以弹出小窗口形式显示出来供选择(是不是要用到查询?)
作者: Henry D. Sy    时间: 2009-1-7 15:29
问题一
建立了自动查阅列
问题二
是的,进入子窗体前检查入库单各项是否填写完整
作者: Henry D. Sy    时间: 2009-1-7 15:38
Private Sub 药品编号_AfterUpdate()
    Me.单价 = Me.药品编号.Column(1)
End Sub
药品更新后,明细表上的单价=药品编号组合框的第二列,也就是药品资料表上的零售价
作者: Henry D. Sy    时间: 2009-1-7 15:51
附件更新在8楼

Private Sub 药品编号_Change()
    Dim strCriteria As String
    Dim strSQL As String
    If Not IsNull(Me.药品编号.Text) Then
        strCriteria = "Where 拼音码 like '" & Me.药品编号.Text & "*'"
        strSQL = "SELECT 药品编号,药品名称, 零售价格 FROM 基本药品信息表 " & strCriteria
        Me.药品编号.RowSource = strSQL
    End If
    Me.药品编号.Dropdown
End Sub

作者: yisen    时间: 2009-1-7 17:11
原帖由 Henry D. Sy 于 2009-1-7 15:51 发表
附件更新在8楼


版主以上代码如何解释?
先声明两个变量
然后判断编号是不是空?再之后那两个变量的值等于什么?
公式的意思我不懂,可以帮我分析一下不?
多谢
作者: Henry D. Sy    时间: 2009-1-7 20:30
Private Sub 药品编号_Change()
    Dim strCriteria As String          '条件字符串变量
    Dim strSQL As String               'sql字符串变量
    If Not IsNull(Me.药品编号.Text) Then       '如果药品编号的文本不为空
        strCriteria = "Where 拼音码 like '" & Me.药品编号.Text & "*'"           ‘那么给条件字符串赋值
        strSQL = "SELECT 药品编号,药品名称, 零售价格 FROM 基本药品信息表 " & strCriteria        ’给sql字符串赋值
        Me.药品编号.RowSource = strSQL                            ‘设置药品编号组合框的行来源
    End If
    Me.药品编号.Dropdown                       '药品编号 组合框自动展开
End Sub
作者: yisen    时间: 2009-1-7 21:24
标题: 请问出库存明细表如何实现在子窗体内的药品编号
请问出库表如何在子窗体内的药品编号栏录入时,实现象入库明细表那样的功能?

即录入拼音码出现药品名供选择............

[ 本帖最后由 yisen 于 2009-1-9 10:46 编辑 ]
作者: Henry D. Sy    时间: 2009-1-7 21:31
出库与入库问题相同,你应该自己参照入库的做法,自己动手。
这样对于学习有很大的帮助。
作者: yisen    时间: 2009-1-7 21:45
原帖由 Henry D. Sy 于 2009-1-7 20:30 发表
Private Sub 药品编号_Change()
    Dim strCriteria As String          '条件字符串变量
    Dim strSQL As String               'sql字符串变量
    If Not IsNull(Me.药品编号.Text) Then       '如果药品编 ...


知道.谢谢,主要是我对于上述代码还是理解有问题
1>为什么要设条件字符串变量和SQL字符变量?
2>这两个代码赋值部分公式.
"Where 拼音码 like '" & Me.药品编号.Text & "*'"
与"SELECT 药品编号,药品名称, 零售价格 FROM 基本药品信息表 " & strCriteria      
分别是 什么意思?
3>另外我在出库录入时应该选择入库明细表来源表.可是入库明细表中只有药品编号一个,而没有拼音码及药品名称等于字段.不知如何解决.
作者: Henry D. Sy    时间: 2009-1-7 22:02
1. 不设也可以,那就要直接写行来源。这样不好
   设了,可读性强,而且便于维护。
2. strCriteria 相当于 where 姓名 like '李*'
    sql 与一般有条件的sql语句没有什么两样
3. 组合框的行来源直接来源于药品资料表
作者: yisen    时间: 2009-1-8 09:38
原帖由 Henry D. Sy 于 2009-1-7 22:02 发表
3. 组合框的行来源直接来源于药品资 ...



来源于药品资料的话,那当库存没有该药品时如何处理呢?
用哪个条件公式?
作者: Henry D. Sy    时间: 2009-1-8 09:42
难道你没有货也可以出库?
作者: yisen    时间: 2009-1-8 09:58
我是想,从入库明细表作为出库表的来源表的话,

录药品可能更省事些,而且录数量的时候,要对比一下数量是否超出库存量,公式简单些,不用跨表对比,

呵呵,见笑了
作者: tytill    时间: 2009-2-16 14:17
看了下...受益匪浅....




欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3