标题:怎样使用数据字典输入记录
只看楼主
sxxu
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2006-7-22
 问题点数:0 回复次数:8 
怎样使用数据字典输入记录
       求助各位,怎样使用数据字典输入数据记录?例如在表单中的控件中输入编码项后,在下面或新页面的gird中出现和此编码相对应得数据记录。而且编码对应多条记录可以使用上下箭头选择,选定后按回车键即可存入其他数据表中。谢谢!
搜索更多相关主题的帖子: 使用数据 字典 数据记录 输入 回车键 
2006-07-22 23:49
linwm
Rank: 1
等 级:新手上路
帖 子:59
专家分:0
注 册:2006-7-18
得分:0 
grid对应列用combo控件,数据源绑定为数据字典。

2006-07-23 09:09
Tiger5392
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:88
帖 子:2775
专家分:2237
注 册:2006-5-17
得分:0 
在文本框输入编码后就开始在数据字典中寻找这样的记录,找到的话,直接显示;否则显示空白。
.TEXT1.LOSTFOCUS()里的代码
SELECT 数据字典表的别名
LOCATE ALL FOR 编码=THISFORM.TEXT1.VALUE
IF EOF()
THISFORM.TEXT2.VALUE=""
...
ELSE
THISFORM.TEXT2.VALUE=字段2
...
ENDIF

感言:学以致用。 博客:http://www./blog/user14/65009/index.shtml email:Tiger5392@
2006-07-23 17:01
sxxu
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2006-7-22
得分:0 

谢谢!我试试!

2006-07-23 21:44
sxxu
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2006-7-22
得分:0 
我问的就像软件中住院记帐页面中输入项目拼音码后,调用项目数据字典,在表格中列出相似记录,然后选择输入。这些用VF语言怎么实现,希望版主赐教,万分感谢!软件传不上去,可在下面网址中浏览住院收费系统http://www.ntsj.net/

[此贴子已经被作者于2006-7-23 23:02:44编辑过]

2006-07-23 22:55
fyyylyl
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:16
帖 子:287
专家分:676
注 册:2006-5-22
得分:0 

设.Text1为输入编码的文本框,.Grid1为与数据字典绑定的表格控件
.Text1.KeyPress Event事件:
Select 数据字典
If !Empty(This.Value)
Set Filter To Alltrim(Thisform.Tag)$编码
Else
Set Filter To
Endif &&若已以编码建立索引,也可使用Seek
Go Top
Thisform.refresh
在.Grid1中选定记录后,项目列对应的Text.nKeyCode事件:
If nKeyCode=13
Scat memv
Select 工作表
Appe Blan
Gath memv &&或用Insert、Replace等命令
Endif

[此贴子已经被作者于2006-7-24 16:38:08编辑过]


2006-07-24 16:25
sxxu
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2006-7-22
得分:0 

谢谢了!关键还是对grid中记录行整行的选择,利用上面程序只能选择记录行中的一列,还是苦苦寻求。各位大侠,就像上面我说的那个网站上的三江住院系统http://www.ntsj.net/中的住院记帐页面一样的查询方法,帮帮我吧!大虾们,谢谢了!

[此贴子已经被作者于2006-7-24 22:49:15编辑过]

2006-07-24 22:47
Tiger5392
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:88
帖 子:2775
专家分:2237
注 册:2006-5-17
得分:0 
提供一个思路你看看。
表单中有若干TEXT,对应表的字段。表单中也有若干命令按钮,对应"增加","删除","修改","查询"等。
现在我添加一控件LIST1,用于动态选择你需要的内容。
(1)初始化FORM1.INIT()
CLOSE ALL
USE 表
PUBLIC AA
THISFORM.LIST1.VISIBLE=.F.
(2)THISFORM.TEXT1.INTERACTIVECHANGE()
THISFORM.LIST1.VISIBLE=.T.
THISFORM.LIST1.CLEAR
AA=ALLTRIM(THISFORM.TEXT1.VALUE)
SET FILTER TO AA$拼音
GO TOP
DO WHILE !EOF()
THISFORM.LIST1.ADDITEM(字段1+字段2+字段3) &&需要的话还可以加相应字段
SKIP
ENDDO
SET FILTER TO
THISFORM.REFRESH
(3)THISFORM.LIST1.INTERACTIVECHANGE()
THISFORM.TEXT1.VALUE=SUBSTR(THISFORM.LIST1.VALUE,1,4) &&假如第1个字段的宽度为4
THISFORM.TEXT2.VALUE=SUBSTR(THISFORM.LIST1.VALUE,5,8) &&假如第2个字段的宽度为8
*如果需要的话,还可以类似地写命令
THISFORM.LIST1.VISIBLE=.F.
THISFORM.REFRESH

感言:学以致用。 博客:http://www./blog/user14/65009/index.shtml email:Tiger5392@
2006-07-24 23:04
sxxu
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2006-7-22
得分:0 

因为有事一个星期没上网了,今天才看到版主的回复,万分感谢!我试试看看。

2006-08-01 23:04



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-79761-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.555014 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved