Office中国论坛/Access中国论坛

标题: 求助:如何把选择的记录插入子窗体中并即时显示? [打印本页]

作者: linjingdr    时间: 2009-2-6 01:57
标题: 求助:如何把选择的记录插入子窗体中并即时显示?
如图:如何把“协定处方”中选定的记录插入“患者资料”窗体中的子窗体“患者处方”中并即时显示?
需要帮助的部分,已用红色字体表示。
压缩文件中有半成品数据库,其中的“思路.exe”文件为录屏文件,具体说明要求达到的效果,保证无毒。
作者: linjingdr    时间: 2009-2-6 01:59
附:半成品例子
作者: Henry D. Sy    时间: 2009-2-6 05:54
双击记录直接追加,没有必要用按钮来追加
作者: Henry D. Sy    时间: 2009-2-6 07:04
本帖最后由 Henry D. Sy 于 2009-2-6 07:05 编辑


姓名和日期没有必要重复保存到患者处方表中
  1. Private Sub 药物_DblClick(Cancel As Integer)
  2.     Dim sSQL As String
  3.     sSQL = "INSERT INTO 患者处方 (处方序号, 药物, 剂量, 单位 )VALUES(" & Me.Parent.OpenArgs & _
  4.            ",'" & Me.药物 & "'," & Me.剂量 & ",'" & Me.单位 & "')"
  5.     CurrentDb.Execute sSQL
  6.     Forms!患者资料.SetFocus
  7.     Forms!患者资料!患者处方.Requery
  8. End Sub
复制代码

作者: aalons    时间: 2009-2-6 08:48
?????????
作者: linjingdr    时间: 2009-2-6 13:11
首先谢谢版主的热心帮助,因为还存在一些问题想请版主继续帮忙看一下。
1.因为我表达的不明确,版主可能理解错了。我指的全选,是指把协定处方中所有药物前的“选择”项全部钩选上。同理,全不选择也是同样的意思。
2.我双击“药物”的记录,未能实时插入,不知道问题出在什么地方。希望版主能够帮帮我。
3.因为医师开处方是一个较长的思考过程,通过双击的方式插入药物至处方中,在实际中难以得到应用,所以还是希望用导入选择的方式,会稳妥一些。
4.通过设定断点,发现双击后确实调用了这个过程,但功能未实现,不知道问题在什么地方。
5.把患者的就诊时间等资料放在表中,是因为需要供以后根据不同需要进行查询,实现调用报表功能。谢谢!
作者: ACMAIN_CHM    时间: 2009-2-6 14:30
把你的那个Form_调用协定处方中的代码改成如下,原来的实在在看得眼花缭乱。
安全起见,我把无关的FORM删除了。


Option Compare Database
Option Explicit


Private Sub Command12_Click()
    updateAll True
End Sub

Private Sub Command15_Click()
    updateAll False
End Sub

Private Sub Form_Load()
    refreshSubForm
End Sub

Private Sub Text10_AfterUpdate()
    refreshSubForm
End Sub

Private Sub refreshSubForm()
    Dim strXDCFM As String
    Dim strSQL As String
    Dim strtest As String
   
    If IsNull(Me.Text10) Then
        strSQL = "SELECT 选择, 药物, 剂量, 单位 FROM 协定处方药物;"
    Else
        strXDCFM = Me.Text10
        strSQL = "SELECT 选择, 药物, 剂量, 单位 FROM 协定处方药物 WHERE [协定处方名]='" & strXDCFM & "';"
    End If
   
    Me.协定处方调出.Form.RecordSource = strSQL
End Sub



Private Sub updateAll(bChecked As Boolean)
    Dim rs As Recordset
    Set rs = Me.协定处方调出.Form.Recordset
   
    rs.MoveFirst
   
    Do While Not rs.EOF
        rs.Edit
        rs.Fields("选择").Value = bChecked
        rs.Update
        
        rs.MoveNext
    Loop
   
    Set rs = Nothing
End Sub



******************
*  一切皆有可能  *
******************

QQ群 48866293 / 12035577 / 7440532 / 13666209
http://forum.csdn.net/SList/Access .
http://www.accessbbs.cn/bbs/index.php .
http://www.accessoft.com/bbs/index.asp .
http://www.access-programmers.co.uk/forums .
http://www.office-cn.net .
.
http://www.office-cn.net/home/space.php?uid=141646 .
作者: sgrshh29    时间: 2009-2-6 17:21
附:半成品例子
linjingdr 发表于 2009-2-6 01:59


例子有点不顺。[attach]34875[/attach]
作者: linjingdr    时间: 2009-2-6 18:04
谢谢大家的帮助!
作者: zyp    时间: 2009-2-8 19:46
======




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