关于网友提出的“ 看过'陈惟彬'的
描述:
我在做她的书中那个进销存程序时,她在一些资料录入窗口中,点击一个按钮弹出一个选择窗体(FMBASESERARCH)选择数值后,选的值不能回到调用的窗口.不知道怎么回事,看代码也找不出问题:
function SearchData(ADBEdit: TDBEdit; ADataSet: TDataSet): String;
begin
if not (ADBEdit.DataSource.DataSet.State in [dsInsert, dsEdit]) then
Abort;
if ADBEdit.ReadOnly then
Abort;
try
fmBaseSearch := TfmBaseSearch.Create(Application);
fmBaseSearch.Caption := '查询' + ADBEdit.DataSource.DataSet.FieldByName(ADBEdit.DataField).DisplayLabel;
fmBaseSearch.dsTemp.DataSet := ADataSet;
sOldValue := ADBEdit.DataSource.DataSet.FieldByName(ADBEdit.DataField).AsString;
if fmBaseSearch.ShowModal = mrOK then
begin
ADBEdit.DataSource.DataSet.FieldByName(ADBEdit.DataField).AsString :=
fmBaseSearch.dsTemp.DataSet.Fields[0].AsString;
Result := fmBaseSearch.dsTemp.DataSet.Fields[0].AsString;
end
else
begin
ADBEdit.DataSource.DataSet.FieldByName(ADBEdit.DataField).AsString := sOldValue;
Result := sOldValue;
end;
if ADBEdit.Visible then
ADBEdit.SetFocus;
finally
fmBaseSearch.Free;
end;
end;
解决方案1:
修改完以后,是不是应该Update一下
解决方案2:请问在哪里可以找到这本书?
解决方案3: >>if fmBaseSearch.ShowModal = mrOK then
检查代码, 是不是返回 mrOk!!