当前位置:主页>销售管理软件> 列表

ADO操作Access的问题 找进销存软件数据库

仓库管理软件版1楼: 控件:
combobox1,表型编号
Edit1,表型描述
Edit2,计费底数
Edit3,最大计量数
button1,保存以上信息进Access中的表
DBGrid,显示保存的信息

表的结构:
表型编号 表型描述 计费底数 最大计量数 状态标志
状态标志在添加信息记录时默认设置为1

请问如何实现,最好给代码!
我的代码如下:
保存
ADOQuery1.Append;
ADOQuery1.FieldByName(''表型编号'').AsString:=trim(ComboBox1.Text);
ADOQuery1.FieldByName(''表型描述'').AsString:=trim(Edit1.Text);
ADOQuery1.FieldByName(''计费底数'').AsString:=trim(Edit2.Text);
ADOQuery1.FieldByName(''最大计量数'').AsString:=trim(Edit3.Text);
[red]ADOQuery1.FieldByName(''状态标志'').AsInteger:=1;[/red]
ADOQuery1.Post;
Message1.MessageDlg(''信息添加成功!'',(mtInformation),[mbOK],0);

可是添加‘状态标志’那行有异常错误,请问大家应该如何改?
我分不多,全在这里了!谢谢大家

2楼: 状态标志 字段是什么类型的? 如软件销售技巧

3楼: integer,0或者1

4楼: 建议不要使用FieldByName('''').As..:=;
Borland建议使用AdoQuery1.FieldValues[];
改成:ADOQuery1.FieldValues[''状态标志'']:=1;看看!

5楼: 既然“状态标志在添加信息记录时默认设置为1”,而你赋值也为“1”,干吗不把该行删掉呢?

6楼: 我是说要程序设置为1,不用用户填

仓库管理软件版7楼: 既然默认值为1,那么用户不填、你也不做处理,结果不就是1吗?干吗多此一举呢?

8楼: 照icelovey的改了,保存时显示对话框“ADOQuery1:Field‘状态标志’not found”
这是那里有问题啊?

9楼: 仔细看你的表,状态标志字段是否存在,名称,类型是否正确
你可以测试一下insert into table (表型编号,表型描述,计费底数,最大计量数) values(''222'',''3333'',''2'',''3'') 能否插入成功

10楼: 你看一下你的查询串
是否包括 "状态标志"字段

11楼: DBGrid中只要显示前4项
我的查询串是
select 表型编号,表型描述,计费底数,最大计量数 from MeterSize
应该如何改?

12楼: 我把查询语句改为:
select 表型编号,表型描述,计费底数,最大计量数,状态标志 from MeterSize
将以上5项显示在DBGrid中
可是我想把状态标志显示的1,0对应为未删除和已删除显示在DBGrid中,请问如何实现? 如进销存软件数据库

13楼: 在状态标志字段的OnGetText里写
if Sender.asInteger=0 then text :=''已删除''
else text :=''未删除'';

仓库管理软件版14楼: 谢谢,接受答案了!