Форум: "Начинающим";
Текущий архив: 2008.09.14;
Скачать: [xml.tar.bz2];
ВнизНеполучается создать таблицу Найти похожие ветки
← →
Dars73 © (2008-07-31 02:18) [0]Доброе время суток.
Имеется кусок программы где программно создаю таблицу dbf с программно присвоенным именем через Компоненту TEdit.
при первом создании все работает на ура. А вот при повторном, даже при смене имени таблицы вылетает ошибка.
после перезапуска программы можно опят один раз создать таблицу.
подскажите где у меня тупой угол.
unit tabbele;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls, DBCtrls, Grids, DBGrids, DB, DBTables;
type
TForm1 = class(TForm)
Table1: TTable;
DBGrid1: TDBGrid;
DBNavigator1: TDBNavigator;
Button1: TButton;
Button3: TButton;
Button4: TButton;
Edit1: TEdit;
DataSource1: TDataSource;
OpenDialog1: TOpenDialog;
procedure Button1Click(Sender: TObject);
Procedure sosdanieTabl;
Procedure PodkluchenieTab;
procedure Edit1KeyPress(Sender: TObject; var Key: Char);
procedure Button3Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
TabNam:string;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
begin
edit1.SetFocus;
end;
Procedure Tform1.sosdanieTabl();
begin
with Table1 do
begin
DatabaseName:="";
TableName:=TabNam;
TableType:=ttDBase;
{Создать поля}
with FieldDefs do
begin
Add("Surname", ftString, 30);
Add("Name", ftString, 25);
Add("Patronymic", ftString, 25);
Add("Age", ftInteger, 0, false);
Add("Weight", ftFloat, 0, false);
end;
CreateTable;
end;
end;
Procedure Tform1.PodkluchenieTab();
begin
Table1.Active:=false;
table1.DatabaseName:="";
table1.TableName:=TabNam;
table1.Active:=true;
end;
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if ord (key)=13 then begin
TabNam:=Edit1.Text;
form1.sosdanieTabl;
form1.PodkluchenieTab;
end;
end;
procedure TForm1.Button3Click(Sender: TObject);
begin
opendialog1.InitialDir:="";
opendialog1.Execute;
TabNam:=opendialog1.FileName;
form1.PodkluchenieTab;
end;
end.
← →
self.name © (2008-07-31 02:37) [1]:)написали б какую ошибку...
но попробуйте:Procedure Tform1.sosdanieTabl();
begin
with Table1 do
begin
close; //для первой ошибки
FieldDefs.Clear; //для второй =)
DatabaseName:="";
...
вроде работает. хотя FieldDefs.Clear; можно было бы и не делать, если поля одни и те же, но тогда не нужно делать Add("Surn...
← →
dars73 © (2008-07-31 03:01) [2]Спасибо большой все работает.
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2008.09.14;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.057 c