Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 11.02.2008, 00:12   #1
NaQ
 
Регистрация: 11.02.2008
Сообщений: 6
По умолчанию DBF =(

Привет..

вообщем ненаю что дальше делать..

есть у меня FileLisBox там есть перечень *.dbf файлов (с уже имеющими данными внутри), мне надо их содержимое перенести в DBGrid, но так чтобы когда я нажимаю(выделяю) из перечня, например на 200820.dbf в дбгриде автоматом мне таблицу строило.. потом нажимаю следующий 200821.dbf - мне тож автом дбгрид построило (((

помогите ... заступорилась и ненаю как дальше (((
NaQ вне форума Ответить с цитированием
Старый 11.02.2008, 01:37   #2
Snoopy
Форумчанин Подтвердите свой е-майл
 
Аватар для Snoopy
 
Регистрация: 14.01.2008
Сообщений: 163
По умолчанию

При событии нажатия меняйте те даные которые нужно было установить если бы вы работали с одной таблицей! Я точно не помню что нужно и Delphi под рукой нет, но предполагаю что нужно указывать:путь к базе и выбирать нужную таблицу..
Snoopy вне форума Ответить с цитированием
Старый 11.02.2008, 08:39   #3
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Ну дык у тебя есть TDBTable-TTable-TDataSource
Ну свяжи их, настрой на DBF и при клике на элементе списка меняй в TTable.Tablename имя таблицы, которое возьмеш как выбранный элемент, только учти: таблицы должны лежать в одном каталоге, или под одним алиасом. Ну и не забудь закрыть ДатаСеты перед изменением TTable.Tablename и открыть после него.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 11.02.2008, 16:43   #4
Pitbull
детский тренер
Форумчанин
 
Аватар для Pitbull
 
Регистрация: 08.06.2007
Сообщений: 532
По умолчанию

Код:
procedure TForm1.FileListBox1Click(Sender: TObject);

var
s:string;
begin
 s:=FileListBox1.FileName;
Query1.Close;
Query1.SQL.clear;
Query1.sql.Add('select * from '+ QuotedStr(s));
Query1.Open;
end;
Я злой и страФный серррый воФк, и в пАрАсятах знаю толк - ppp ppp pp p pp pp
Pitbull вне форума Ответить с цитированием
Старый 11.02.2008, 23:21   #5
NaQ
 
Регистрация: 11.02.2008
Сообщений: 6
По умолчанию

Цитата:
Сообщение от Pitbull Посмотреть сообщение
Код:
procedure TForm1.FileListBox1Click(Sender: TObject);

var
s:string;
begin
 s:=FileListBox1.FileName;
Query1.Close;
Query1.SQL.clear;
Query1.sql.Add('select * from '+ QuotedStr(s));
Query1.Open;
end;
ненаю..не идет..наверно что-то не правильно у меня
вопрос... я вот не пойму к компоненту Table какой ставить DataBaseName?? я ставлю Файлы dBASE.. и оно всегда мне пароль предлагает ввести... какой правильно надо??
DataSource у меня на table выбрано..
Query тож DataSource, и DataBaseName ненаю какой ставить..


Код:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, DB, StrUtils, StdCtrls, DBCtrls, DBGrids, DBTables, Grids, FileCtrl;

type
  TForm1 = class(TForm)
    Label1: TLabel;
    DBGrid1: TDBGrid;
    DirectoryListBox1: TDirectoryListBox;
    FileListBox1: TFileListBox;
    DataSource1: TDataSource;
    Table1: TTable;
    Query1: TQuery;
    procedure FileListBox1Click(Sender: TObject);




  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}


procedure TForm1.FileListBox1Click(Sender: TObject);
var
s:string;
begin
 s:=FileListBox1.FileName;
Query1.Close;   
Query1.SQL.clear;   
Query1.sql.Add('select * from '+ QuotedStr(s));   
Query1.Open;
end;


end.

Последний раз редактировалось Alex21; 14.02.2008 в 14:38.
NaQ вне форума Ответить с цитированием
Старый 12.02.2008, 02:13   #6
Snoopy
Форумчанин Подтвердите свой е-майл
 
Аватар для Snoopy
 
Регистрация: 14.01.2008
Сообщений: 163
По умолчанию

К примеру TDBGrid-TTable-TDataSource
В TDBGrid:
DataSource|DataSource1
В TDataSource:
DataSet|Table1
Код:
Table1.DatabaseName :='C:\Program Files\Common Files\Borland Shared\Data';
Table1.TableName:='animals.dbf';
Table1.Active := True;
Snoopy вне форума Ответить с цитированием
Старый 13.02.2008, 02:40   #7
NaQ
 
Регистрация: 11.02.2008
Сообщений: 6
По умолчанию

ну у меня так и стоит...

К примеру TDBGrid-TTable-TDataSource
В TDBGrid:
DataSource|DataSource1
В TDataSource:
DataSet|Table1


а по коду..

если у меня 20 файлов, а не один енималс.. как сделать так чтобы из файллистбокс при выборе мной одного из 20 файлов сразу меняялась и дбгрид соответствующая этому дбфнику???
NaQ вне форума Ответить с цитированием
Старый 13.02.2008, 08:55   #8
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Попробуй такое:

Код:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, FileCtrl, DB, DBTables, Grids, DBGrids;

type
  TForm1 = class(TForm)
    DataSource1: TDataSource;
    DBGrid1: TDBGrid;
    Table1: TTable;
    FileListBox1: TFileListBox;
    procedure FormCreate(Sender: TObject);
    procedure FileListBox1Change(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
begin
FileListBox1.Directory:='c:\temp\';
Table1.DatabaseName:=FileListBox1.Directory;
end;

procedure TForm1.FileListBox1Change(Sender: TObject);
begin
Table1.Close;
Table1.TableName:=FileListBox1.FileName;
Table1.Open;
end;

end.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 13.02.2008, 21:55   #9
Pitbull
детский тренер
Форумчанин
 
Аватар для Pitbull
 
Регистрация: 08.06.2007
Сообщений: 532
По умолчанию

То , что я Вам написал - все работает, просто Вам нужно ж указать
путь к папке, которую будет Ваш FileListBox открівать..... :
FileListBox1.Directory:='c:\temp\';




или вот так:
procedure TForm1.FileListBox1Click(Sender: TObject);

var
s:string;
begin
FileListBox1.Directory:='c:\ПУТЬ\';
s:=FileListBox1.FileName;
Query1.Close;
Query1.SQL.clear;
Query1.sql.Add('select * from '+ QuotedStr(s));
Query1.Open;
end;
Я злой и страФный серррый воФк, и в пАрАсятах знаю толк - ppp ppp pp p pp pp
Pitbull вне форума Ответить с цитированием
Старый 13.02.2008, 22:48   #10
NaQ
 
Регистрация: 11.02.2008
Сообщений: 6
По умолчанию

не получаеться у меня (((((


вот моя прога (((((((

http://slil.ru/25470518

ненаю что там не правильно ((
NaQ вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц