Access交流中心

北京 | 上海 | 天津 | 重庆 | 广州 | 深圳 | 珠海 | 汕头 | 佛山 | 中山 | 东莞 | 南京 | 苏州 | 无锡 | 常州 | 南通 | 扬州 | 徐州 | 杭州 | 温州 | 宁波 | 台州 | 福州 | 厦门 | 泉州 | 龙岩 | 合肥 | 芜湖 | 成都 | 遂宁 | 长沙 | 株洲 | 湘潭 | 武汉 | 南昌 | 济南 | 青岛 | 烟台 | 潍坊 | 淄博 | 济宁 | 太原 | 郑州 | 石家庄 | 保定 | 唐山 | 西安 | 大连 | 沈阳 | 长春 | 昆明 | 兰州 | 哈尔滨 | 佳木斯 | 南宁 | 桂林 | 海口 | 贵阳 | 西宁 | 乌鲁木齐 | 包头 |

窗体输入数据的连贯性

吕小荣  发表于:2010-03-01 15:31:58  
复制

我建的是病人的数据库系统,除了输入病人的基本资料(A表)以外,还要输入以前的病史(B表),而且还要输入各种检查记录(C表)。三个表通过病人的保健号建立联系。
  每个病人的资料用一个窗体输入是不可能完成的。所以我建了三个窗体。分别输入。这样有很多麻烦的地方,比如保健号,姓名,检查时间,每打开一个窗体都要重复输入。


  现在我有这种设想:假如我要输入G1001这个病人的信息。当窗体A输入完毕后,可以同时在A、B、C三个表都建立一条记录,不用重复输入保健号,姓名,时间。


    A窗体输入完毕后,点击确定后,可以自动打开B窗体,并搜索到B表中G1001的信息,然后输入。


    B窗体输入完毕后,点击确定,C表打开,搜索到C表中G1001这个记录,然后输入相关信息。



请教高手如何实现?不胜感激。

 

Top
一启软研 发表于:2010-03-02 09:29:18

A窗体事件代码:

if DLookup("[病号]", "B表", "[病号]=" & Me.病号)="" then 

        DoCmd.OpenForm "B窗体", , , , acFormAdd
        Forms![B窗体]![病号] = Me![病号].Text
        Forms![B窗体]![其他字段] = Me![其他字段].Text
        Response = acDataErrContinue
    docmd.close "A窗体"

Else
        If (MsgBox("B表记录已经登记,是否打开?  ", vbOKCancel + vbQuestion, "标题") = vbOK) Then

          DoCmd.OpenForm stDocName, , ,  "[病号]=" & "'" & Me![病号] & "'" 

     End If

end if 

 

C窗体类似



无雨 发表于:2010-03-02 10:22:35
总记录:2篇  页次:1/1 9 1 :