怎么实现以下功能:
在一个cells中输入一个值后,根据这个输入值查询另外一张表(甚至多张表),查得的值填入该DBGrid中(同一行)。
主要是以下几个问题:1.怎么获取输入的值。
2.查询出值后怎么调用方法把查询出的值放到dbgrid中。
谢谢谢谢
在一个cells中输入一个值后,根据这个输入值查询另外一张表(甚至多张表),查得的值填入该DBGrid中(同一行)。
主要是以下几个问题:1.怎么获取输入的值。
2.查询出值后怎么调用方法把查询出的值放到dbgrid中。
谢谢谢谢
解决方案 »
- Memo 内容快到最大限制时 自动保存
- 监控QQ,怎么不行啊,请教!
- 使用ADOquery查询数据,提示数据类型不匹配,望赐教?
- 如何结束一个Windows正在运行的进程
- DBGrid是否有这样的属性?
- 请问如何实时显示adoquery(或者QUERY)的计算字段值的变化
- 还是Access中的日期问题
- 求李维的《Delphi 5.x 分布式多层应用系统篇》的随书代码!
- ADOQUERY的SQL语句为什么时好时坏?
- 请问在Delphi中往treeview中新增了一个父节点(在这之前Treeview中还有其它父节点),在不选中这个父节点的情况下如何往这个父节点增加子节点?新增父节点和新增子节点要在不同的窗体的事件中。
- 又一个问题
- 如何将汇编语言加载到delphi中
然后执行查询
不可能直接对DBGrid的某一个Cell赋值
必须在查询的SQL语句中处理
比如Select field=xxx from ...
要看具体情况而定
比如Select field=xxx from ...这是什么意思??
能不能举个例子!!
谢谢
比如计算出应有的值,放到变量中,然后执行
select field='''+变量+''' from ...
//YR_PTCode为选择的字段
//Table2为你要查的表
procedure TForm1.Table1YR_PTCodeChange(Sender: TField);
var PTCode:string;
Sale:real;
begin
Sale:=0;
PTCode:=Table1.fieldbyName('YR_PTCode').Asstring;
if CFindkey(Table2,'YR_PTCode',PTCode) then
begin
Sale:=Table2.fieldbyname('YR_Sale').Asfloat;
if Table1.FieldByName('YR_Code').Asstring<>'' then
begin
Table1.Edit;
Table1.SetFields([
nil,ECode.text,nil,
Table2.fieldbyName('YR_Type').Asstring,
Table2.fieldbyName('YR_PTName').Asstring,
Table2.fieldbyName('YR_Unit').Asstring,
nil,
Sale,
nil,
Table2.fieldbyName('YR_Pay').Asstring
])
end
end else showMessage('仓中没有此商品编码');
end;
begin
DataSet.First;
while not DataSet.Eof do
begin
if DataSet.FieldByName(AField).AsString = AValue then
begin
CFindKey := True;
Exit;
end;
DataSet.Next;
end;
CFindKey := False;
end;