以文本方式查看主题

-  易表在线答疑  (http://egrid2000.com/dvbbs/index.asp)
--  用户社区  (http://egrid2000.com/dvbbs/list.asp?boardid=2)
----  [求助]关联表的两个难题,有没有好的解决办法?  (http://egrid2000.com/dvbbs/dispbbs.asp?boardid=2&id=3316)

--  作者:行走的帆
--  发布时间:2006/8/19 20:52:00
--  [求助]关联表的两个难题,有没有好的解决办法?
老师好:现有有关关联表运用的两个问题,实在想不出好的解决办法,还请老师帮一下!
       在编这个小程序的同时,得到了很多老师们的帮助!在这先道声谢谢了,真的很感激你们的热心帮助,尤其是遇到自己无法解决的难题时,信心动摇时,你们的帮助,对我更显得弥足珍贵!!!
 一、在“处方表”和“处方明细表”通过“出库编号”列建立关联!
  在录入处方上的药品划价时,免不了错录入,或多录入空行,准备删除多余的记录时,点[删除行]按钮,则删除了一个出库单编号的“处方明细表”当前的全部记录!
  我想最好是,可以删除当前同一个出库编号的任意一条记录!
  不知能否实现?如能该如何操作?谢谢!

二、第二个问题:
   当前表“处方明细表”和“药品入库明细表”通过“药品简码”建立关联关系。
  现在输入“药品简码”,然后选择“规格”,依次选择“生产厂家”,然后才出现对应药品的“单价”列。

 比如某一种药品,"青霉素",有两种"规格",和两个"生产厂家"的情况,可以这样选择。

 可是大多数药品只有一种规格,一个生产厂家。所以能否实现,当输入一种药品,一种规格,一个厂家时,输入"药品简码"后,后面的“规格”“生产厂家”不用选择会自动出现!!

反之某种药品属于两种规格情况,则要依次选择“规格”,两个“生产厂家”,再通过列表选择!


如果这个问题解决了,则会提高好大的工作效率!!

三、题外:再问关于短消息关闭的问题。我把短消息免打扰设为“开启”状态!为什么还是要弹出提示!我用的是myie2浏览器,打开的条目一多,关闭短消息一慢,IE就会没有响应!真是苦恼啊! 短消息设置,无论设置为开启或关闭好都没有作用?是这样么?各位老师是如何处理的!能否告知一声!

   谢谢!盼回复。


--  作者:行走的帆
--  发布时间:2006/8/19 20:54:00
--  
egd文件下载

只顾提问,忘了上传示例文件!传上。


--  作者:深蓝
--  发布时间:2006/8/19 21:06:00
--  
1,DelRow("处方明细表",[处方明细表!Row])
2,似乎不应该用:药品入库明细表作为药品的基础资料,而要建一个专门的药品基础资料表.
这样就规格刷新公式可以判断:if(FindrRow("药品基础资料表","药品简码","=","药品简码",2)>0,[规格],[药品基础资料表!规格])
3,查看了短消息后不就不会提示了嘛,除非有新的短消息出现.
--  作者:smileboy
--  发布时间:2006/8/19 21:09:00
--  
1、egd文件下载
2、没看出问题
--  作者:行走的帆
--  发布时间:2006/8/19 22:24:00
--  
多谢SmileBoy 和深蓝老师指正!
  我这就去看看!!
--  作者:行走的帆
--  发布时间:2006/8/19 23:02:00
--  
能否再请教一下第二个问题:,似乎不应该用:药品入库明细表作为药品的基础资料,而要建一个专门的药品基础资料表.
这样就规格刷新公式可以判断:if(FindrRow("药品基础资料表","药品简码","=","药品简码",2)>0,[规格],[药品基础资料表!规格])

因为只有经过"药品入库表"和"药品入库明细表",才能将药品基础资料,和零售价格入库,所以将"药品入库明细表"作为待用的关联表.

我在"处方明细表"中的"规格"和"生产厂家"列里分别设置公式:if(FindRow("药品入库明细表","药品简码","=","药品简码",2)>0,[规格],[药品入库明细表!规格])

if(FindRow("药品入库明细表","药品简码","=","药品简码","规格","=",[规格],2)>0,[生产厂家],[药品入库明细表!生产厂家])

可我又发现不能两好的情况!
如果一种药品一种规格一种生产厂家,那加上这个公式后非常方便.可是这样一来对于有两个规格,两个生产厂家的药品又不行了.比如:药品氯霉液-简码:lhny 有两个规格,和两个生产厂家,公式默认还是选第一个250ml*1瓶的规格,改都改不过来?
  请两位老师再看看,是我哪个地方没设置好?


--  作者:smileboy
--  发布时间:2006/8/20 7:47:00
--  
还是用listfor比较好
--  作者:行走的帆
--  发布时间:2006/8/20 13:29:00
--  
   情急之下,范了"版规"!还请见谅!!见谅!!!
   为看着方便,明朗,我做了一个说明此问题的示例表.
   要求在"划价表"中:只需选择"药品简码",后面"规格","厂家","单价",如果是一种药品,一种规格,一种厂家,即自动生成.如果是一种药品,二种规格,二个厂家,则可以选择录入.

   我试了好多次,只能满足一种情况!,就是自动输入,和选择输入不能并存.(如果是一种药品,一种规格,一个厂家,用if(findrow("基础信息","药品简码","=",[药品简码],2)>0,[规格],[基础信息!规格]))就行.如果是二种规格,二种厂家就又不行了.

  实际工作中,一种药品一种规格,一种厂家的情况还是比较多,但二种规格,二个厂家的药品也占一部分!
  如果在列表项目里设置.listfor()公式,手工选择效率很低,我相信这个问题带有有一定的代表性,还请老师,指点一下.给出好的解决办法!
    谢谢!!

egd文件下载


--  作者:lmk
--  发布时间:2006/8/20 13:57:00
--  
下面引用由行走的帆2006/08/20 01:29pm 发表的内容:
情急之下,范了"版规"!还请见谅!!见谅!!!
   为看着方便,明朗,我做了一个说明此问题的示例表.
   要求在"划价表"中:只需选择"药品简码",后面"规格","厂家", ...

不知这个帖子是不是你的?
http://bbs.egrid2000.com/cgi-bin/topic.cgi?forum=9&topic=191&show=0
--  作者:czy
--  发布时间:2006/8/20 14:03:00
--  
这样?
egd文件下载

-=-=-=- 以下内容由 czy2006年08月20日 02:10pm 时添加 -=-=-=-
只做了规格一列。