delphi access数据库操作

技术追逐 2013-09-27 01:46:56
现在需要实现如下操作:
数据表table1如下:

程序如图:

程序点击“读取数据库”后面板动态生成多选框,将表1的第二列作为多选框的caption,多选操作后,点击“写入新表”将选中的整条数据写入一个新表,该如何实现,各位有何高见?
...全文
519 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
reverzeng 2013-09-30
  • 打赏
  • 举报
回复
引用 9 楼 start8588 的回复:
使用第三方控件之 EhLib 裡的 TDBGridEh
用楼上的简单些
星際訪客 2013-09-30
  • 打赏
  • 举报
回复
使用第三方控件之 EhLib 裡的 TDBGridEh
技术追逐 2013-09-30
  • 打赏
  • 举报
回复
期待高见!
技术追逐 2013-09-27
  • 打赏
  • 举报
回复
还有没有哪位有高见?
wangyang4506 2013-09-27
  • 打赏
  • 举报
回复
部分LISTVIEW的操作代码。

procedure TForm1.Button1Click(Sender: TObject);
VAR
I,L,K:INTEGER;
begin
for I := 0 to 6 do
begin
ListView1.Columns.Add.Caption:=inttostr(i) ; // 字段名
end;

ListView1.Checkboxes:=TRUE;
ListView1.ViewStyle := vsReport ;
//这里增加下原表数据的读取查询。
//把表指针指向FIRST
for i:=1 to 5 do //I是你原表里面的数据条数
begin
ListView1.Items.BeginUpdate;
l := ListView1.Items.Count;

with ListView1.items.add do
begin
for k := 0 to 6 do
begin
subitems.add(''); //增加列数
end;
caption:= 'X' + IntToStr(l+1);
END;
ListView1.Items.EndUpdate;

with ListView1.items[i-1] do
begin
ListView1.Items[i-1].SubItems[0]:='A'; //每列赋值 表指针 所指向的这条
ListView1.Items[i-1].SubItems[1]:='B';
ListView1.Items[i-1].SubItems[2]:='C';
ListView1.Items[i-1].SubItems[3]:='D';
ListView1.Items[i-1].SubItems[4]:='E';
ListView1.Items[i-1].SubItems[5]:='F';
ListView1.Items[i-1].SubItems[6]:='G';
end;
// 这里 指针 NEXT 下
END;

效果:

选择好之后 再写个按钮 确定checkbox状态,然后for循环往新表里面POST一下就OK啦。
技术追逐 2013-09-27
  • 打赏
  • 举报
回复
能否附上代码及写入新 数据表 的代码
wangyang4506 2013-09-27
  • 打赏
  • 举报
回复
两种模式,listview 和 stringgrid 都可以实现。


nm_wyh 2013-09-27
  • 打赏
  • 举报
回复
1、第一种方法用CheckBoxList,这个可以分列,一列显示几个都可以! 2、第二种方法你提到的动态生成CheckBox控件。这个代码比较多。但是没有什么难度,比较麻烦的是计算控件位置。
技术追逐 2013-09-27
  • 打赏
  • 举报
回复
数据大约有120左右,DBGRID类控件好像不可以分列显示,需要下拉不是很方便
Oraclers 2013-09-27
  • 打赏
  • 举报
回复
读出的数据应放到DBGRID类控件中,在GRID中可以多选,或设置可以选择的列,然后将选中数据插入新表。如果按你的思路,假如有1000条记录,那你不要放1000个CheckBox控件,如1万条呢?

2,496

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 数据库相关
社区管理员
  • 数据库相关社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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