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

Treeview里的内容如何关联到ACCESS表. 找小企业财务软件

记账软件版1楼: 我在Treeview里把XML文件里的内容显示了出来。但下一步是需要双击显示出来的某一个条目就让它打开相对应的ACCESS表里的.XLS表。怎么办。
用ADO关联的话,如何设置.

2楼: 怎么没人回答。
自己项 如小企业财务软件

3楼: 给你一段C++Builder的代码 不知道能不能帮你

void __fastcall TMain_Form::MapBook_TreeViewDblClick(TObject *Sender)
{
m_pNode = (TMyNode)this->m_pSerachMapBook->Data;
Main_DataModule->ADOQuery4->Close();
Main_DataModule->ADOQuery4->SQL->Clear();
AnsiString sql = "select * from MapComponent_Main_Index where MAPBOOK_ID=''"+this->m_pNode->Code+"''";
Main_DataModule->ADOQuery4->SQL->Add(sql);
Main_DataModule->ADOQuery4->Open();
}

4楼: 你能给我段delphi代码吗?

5楼: 等一下 我试一试阿 好久没有写Delphi

6楼: 谢谢。

记账软件版7楼: 其实就是灵活运用TTreeNode的Data属性。
剩下看你的创意了。

8楼: procedure TMain_Form.MapBook_TreeViewDblClick(Sender: TObject)


var
sql: String;
begin
m_pNode := TMyNode(self.m_pSerachMapBook.Data);
Main_DataModule.ADOQuery4.Close();
Main_DataModule.ADOQuery4.SQL.Clear();
sql := ''select * from MapComponent_Main_Index where MAPBOOK_ID=''+QuoedStr(this.m_pNode.Code);
Main_DataModule.ADOQuery4.SQL.Add(sql);
Main_DataModule.ADOQuery4.Open();
end;

9楼: unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, DB, Grids, DBGrids, ADODB, ComCtrls;

type
TForm1 = class(TForm)
TreeView1: TTreeView;
ADOQuery1: TADOQuery;
ADOConnection1: TADOConnection;
DBGrid1: TDBGrid;
DataSource1: TDataSource;
procedure FormCreate(Sender: TObject);
procedure TreeView1DblClick(Sender: TObject);
private
{ Private declarations }
public
m_pSerachMapBook:TTreeNode;
{ Public declarations }
end;

TMyNode = class(TObject)
name:string;
code:integer;
end;

var
Form1: TForm1;
m_pSerachMapBook:TTreeNode;
// m_pNode:TMyNode;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
var
MyNode:TMyNode;
pNode:TTreeNode;
begin
pNode:=nil;
MyNode:=TMyNode.Create;
MyNode.name:=''zhongguo'';
MyNode.code:=-1;
pNode:=Self.TreeView1.Items.AddChildObject(pNode,''zhongguo'',MyNode);


end;

procedure TForm1.TreeView1DblClick(Sender: TObject);
var
m_pNode:TMyNode;
sql:string;
begin
m_pNode:=TMyNode(self.m_pSerachMapBook.Data);
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
sql:=''select*from table where''+m_pNode.name; //你自己写SQL记得用 m_pNode.name的倒树结点的名称就可以了
ADOQuery1.SQL.Add(sql);
ADOQuery1.Open;
..... //后面的你应该知道了

end;

end.

10楼: 谢谢楼上的二位。