天
天什
Unregistered / Unconfirmed
GUEST, unregistred user!
我在Xsdm数据模块中定义了一个Table1,datasource1,
Table1没有定义任何索引,我想在Table1中进行两种条件的同时筛选出我想要的记录;
条件是billdate字段值在两个日期之间和Name字段值中含有输入的值;
但是在退出form时出现错误;
“Exception EAccessViolation in module IDODBC32.Dll at 0002618.
Access violation at address 4DA06158 in module 'IDODBC32.Dll'.Read of address
CCCCCCE0.
”
在主模块的一个按钮事件
procedure TXsmanForm.BitBtn1Click(Sender: TObject);
begin
if rangeForm.showmodal=mrok then
begin
if rangeForm.CheckBox2.Checked then
Xsdm.Table1.IndexFieldNames:='Name';
Xsdm.Table1.Filtered:=True;
Xsdm.Table.IndexfieldNames:='Billdate';
Xsdm.Table.SetRange([rangeForm.DateTimePicker1.Date],[rangeForm.DateTimePicker2.Date]);
Xsdm.Table1.Refresh;
end;
end;
数据模块中:
procedure TXsDM.Table1FilterRecord(DataSet: TDataSet;
var Accept: Boolean);
begin
accept:=dataset['Name']=rangeForm.Edit1.Text;
end;
不知为什么会出现这种错误?
怎么解决?
Table1没有定义任何索引,我想在Table1中进行两种条件的同时筛选出我想要的记录;
条件是billdate字段值在两个日期之间和Name字段值中含有输入的值;
但是在退出form时出现错误;
“Exception EAccessViolation in module IDODBC32.Dll at 0002618.
Access violation at address 4DA06158 in module 'IDODBC32.Dll'.Read of address
CCCCCCE0.
”
在主模块的一个按钮事件
procedure TXsmanForm.BitBtn1Click(Sender: TObject);
begin
if rangeForm.showmodal=mrok then
begin
if rangeForm.CheckBox2.Checked then
Xsdm.Table1.IndexFieldNames:='Name';
Xsdm.Table1.Filtered:=True;
Xsdm.Table.IndexfieldNames:='Billdate';
Xsdm.Table.SetRange([rangeForm.DateTimePicker1.Date],[rangeForm.DateTimePicker2.Date]);
Xsdm.Table1.Refresh;
end;
end;
数据模块中:
procedure TXsDM.Table1FilterRecord(DataSet: TDataSet;
var Accept: Boolean);
begin
accept:=dataset['Name']=rangeForm.Edit1.Text;
end;
不知为什么会出现这种错误?
怎么解决?