指点!指点!先感谢了!

amyfun 2000-07-14 07:12:00
一个表包括借阅出去的图书信息
“书名”、“编号”、“日期”、“人名”、“科室”....等等,
另一个表包括职工的信息
“职工号”、“人名”、“联系电话”、“职称”....等等;

我想在(借阅出去的图书表)DBGrid中的“人名”字段上点击一下,然后在另一个DBGrid中显示职工表的内容,不知该如何做?
...全文
177 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
华南虎哥 2000-07-17
  • 打赏
  • 举报
回复
我认为不应该使用主细表结构来定位这个问题!
我们假定如下:
booktbl:借阅出去的图书信息(其中包含employeeID字段)
employeetbl:职工的信息
我们设定:
1、booktbl,employeetbl均为相对独立的表
2、设置DBGRID1的ondatachange(...)过程如下:
employeetbl.filtered:=false;
employeetbl.filter:='';
employeetbl.Filter:='employeeid='''+booktbl.FieldByName('employeeid').AsString+'''';
employeetbl.Filtered:=True;
3、完了
如果还有问题:hblinux@163.net
Hibin 2000-07-17
  • 打赏
  • 举报
回复
主细表结构,很简单的。在借阅图书信息表中,最好用职工号代替人名。
蝈蝈俊 2000-07-17
  • 打赏
  • 举报
回复
主细表结构。看看书,很简单的,
huliao 2000-07-17
  • 打赏
  • 举报
回复
1.可以看出你要做的应用是一个图书借阅的管理应用,那在你的设计中就有一定的问题,在这个应用中有两张表,一张是图书信息表,一张是职工信息表,考虑到职工有可能重名,因此应该给职工信息表设计一个主键(KEY),这个主键应是职工信息表的职工号,是唯一而不重复的,这时借阅时产生的关联可以通过这个主键实现。而不是通过人名实现。
2.再说说实现方法:
同Michaelyfj,编写存放图书信息的DBGrid的datasource的OnDataChange函数。
关键是取得职工信息表中的相关数据的方法有多种,可以用sql,有一种简单方法,设置职工信息表Table的Filter,和Filtered属性就可以了。
设Table1是图书信息表,Table2是职工信息表

Table2.Filter:='职工号='''+Table1.FieldByName('职工号').AsString+'''';
if not Table2.Filtered then Table2.Filtered:=True;

就可以了。
Michaelyfj 2000-07-16
  • 打赏
  • 举报
回复
编写存放图书信息的DBGrid的datasource的OnDataChange函数。
牛魔王的表弟 2000-07-16
  • 打赏
  • 举报
回复
简单的一对多,看书吧
pjy 2000-07-15
  • 打赏
  • 举报
回复
这个问题很简单,看一看范例或书就应该很清楚了!
简单思路可以是:通过FieldByName('FieldName')取出人命,然后使用sql.add()语句将此变量作为一个参数传入一SQL语句中,可用类似select * from TableName where FieldName = :变量名。然后使用Prepare,在用Paramsbyname(变量名) := 人命。
如果不理解,请在联系我!
Wingsun 2000-07-14
  • 打赏
  • 举报
回复
看一看Delphi下的例程,在Demos\Db\Mastapp下。
Bald_eagle 2000-07-14
  • 打赏
  • 举报
回复
把显示职工表的DBGrid2的Visible属性设为False,把‘人名’字段的Buttonstyle的属性
设为cbsEllipsis,在包含‘人名’字段的DBGrid1的OnEditButtonclick事件中写入代码,DBGrid2.Visible := True;
以上操作即可实现你的要求,然后可以在双击DBGrid2的事件中为人名’字段赋值并把
DBGrid2的Visible设为False.
扩展功能: a. 首满足网友的”口味”, 重新设计了所有旗子, 选择新的旗盘背景, 换了一个更清爽的面. (界面配色并不是件很容易的事情, 这样的棋类游戏长时间容易使眼睛疲劳, 首要做到选择的色彩 不刺激眼睛,其实大部分色彩都比较刺激眼睛,尤其是纯三基色(红/黄/蓝), 还要使界面做得漂亮). b. 增加”回放” 功能. 当下完旗子时,可以重新回味一下, 刚杀完的一盘旗,可以寻找不足和重新感受 一下胜利的喜悦! 这个功能比较复杂! d. 又看了一下电脑走旗, 感觉确实比较难处理, 没有高人指点写这个算法确实比较难, 应该比以前聪明 了一些, 但是还是比较笨, 打算有空去找个现在的电脑走旗组件替换上, 自己的电脑走旗算法慢慢研 究(当时是因为实在找不到现在的组件, 自己写了个较笨的,如果哪位朋友能够提供组件,在次深表感谢!!!). e. 扩展走旗的步数容量, 有些网友, 对战的都是高手, 产生数组越界, 这次从 200 扩展到了500, 当然 您还可以扩展到更大,因为源代码已经开放). f. 增加图像缓存功能. g. 解决 .net 从framework 1.0到framework 2.0升级出现的程式升级逻辑问题及一个小bug. h. 本来我只是想把这个程式放到Blog上, 供爱好c#的网友学习,一起交流一下, 没想到反应那么的强烈! 经常收到网友的反馈邮件, 从下载量看,不到一年仅从我的下载空间(不算网友转载下载次数)就有近 二万五千次. 所以又重新看懂已经基本忘记的代码,修复了bug,并扩展了以上功能. 有可能还会增加一些功能! 另外,在此对给我提交建议和bug的朋友表示感谢!!! (开发语言: C#语言) 来自:http://community.csdn.net/Expert/topic/5237/5237003.xml?temp=.4600031

5,386

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧