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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 12.01.2017, 08:15   #1
Torry_Witch
Новичок
Джуниор
 
Регистрация: 12.01.2017
Сообщений: 2
По умолчанию Присоединение таблицы Excel через ExcelAplication в Delphi 7

Здравствуйте! Очень нужна помощь!
В Delphi 7 создана форма
aform.JPG
К форме подключена таблица excel.xls с соответствующими полями через ExcelApplication. Написана процедура добавления новых строк в таблицу.

Код:
var
  Form3: TForm3;
  Ap:Variant;
  v,d:integer;
implementation
  uses Unit1;
{$R *.dfm}




procedure TForm3.BitBtn1Click(Sender: TObject);
begin
Form1.Show;
Form3.Close;
end;



procedure TForm3.FormCreate(Sender: TObject);
begin
 Ap := CreateOleObject('Excel.Application');

end;

procedure TForm3.Button1Click(Sender: TObject);
begin
 Ap.Workbooks.Open(ExtractFilePath(ParamStr(0))+'rabota2.xls');
 Ap.WorkSheets[1].Activate;
 d:=Ap.ActiveSheet.UsedRange.Rows.Count+1;// подсчет кол-во знятых строк+1
    Ap.Cells.Item[d,1] :=Edit9.Text;
    Ap.Cells.Item[d,2] :=Edit10.Text;
    Ap.Cells.Item[d,3] :=Edit11.Text;
    Ap.Cells.Item[d,4] :=Edit12.Text;
    Ap.Cells.Item[d,5] :=Edit13.Text;
    Ap.Cells.Item[d,6] :=Edit14.Text;
    Ap.Cells.Item[d,7] :=Edit15.Text;
    Ap.Cells.Item[d,8] :=Edit16.Text;
    Ap.Cells.Item[d,9] :=Edit17.Text;
 Ap.DisplayAlerts:=False;
 Ap.ActiveWorkbook.SaveAs(ExtractFilePath(ParamStr(0))+'rabota2.xls');
 showmessage('сохранил ');
 Ap.ActiveWorkbook.Close;
 Ap.Application.Quit;

end;

procedure TForm3.Button2Click(Sender: TObject);
begin
 Ap.Workbooks.Open(ExtractFilePath(ParamStr(0))+'rabota2.xls');
 Ap.WorkSheets[2].Activate;
 v:=Ap.ActiveSheet.UsedRange.Rows.Count+1;// подсчет кол-во занятых строк+1
    Ap.Cells.Item[v,1] :=Edit1.Text;
    Ap.Cells.Item[v,2] :=Edit2.Text;
    Ap.Cells.Item[v,3] :=Edit3.Text;
    Ap.Cells.Item[v,4] :=Edit4.Text;
    Ap.Cells.Item[v,5] :=Edit5.Text;
    Ap.Cells.Item[v,6] :=Edit6.Text;
    Ap.Cells.Item[v,7] :=Edit7.Text;
    Ap.Cells.Item[v,8] :=Edit8.Text;
 Ap.DisplayAlerts:=False;
 Ap.ActiveWorkbook.SaveAs(ExtractFilePath(ParamStr(0))+'rabota2.xls');
 showmessage('сохранил ');
 Ap.ActiveWorkbook.Close;
 Ap.Application.Quit;
end;

procedure TForm3.ExcelApplication1NewWorkbook(ASender: TObject;
  const Wb: _Workbook);
begin

end;

end.
Все работает. Теперь возникло два вопроса:
1. Нам надо сделать Кнопку ПОИСК по фамилии и вывод на экран.
2. Удалить необходимые строки через кнопу УДАЛЕНИЕ.

Уже взорвали себе мозг и интерет. Ранее с компонентом ExcelApplication не сталкивалась. Создавала связь с базой через ADOConnection ну и со всеми вытекающими компонентами, но столкнулась с проблемой переноса базы на другой комп. Теряется связь с таблицей.
Помогите мне, пожалуйста, гении!
Полный тупик в голове....

Последний раз редактировалось Аватар; 12.01.2017 в 08:51.
Torry_Witch вне форума Ответить с цитированием
Старый 12.01.2017, 10:45   #2
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,515
По умолчанию

Цитата:
Ранее с компонентом ExcelApplication не сталкивалась. Создавала связь с базой через ADOConnection
может стоит продолжать так и работать?
Цитата:
но столкнулась с проблемой переноса базы на другой комп. Теряется связь с таблицей.
Для работы на другом достаточно модифицировать (программно!!!) строку подключения ADOconnection.ConnectingString
берете свою "рабочую" строку подключения
находите в ней путь+имя подключаемого файла
подставляете туда требуемый путь + имя
примерно так как показано здесь
http://www.programmersforum.ru/showt...xtractFilePath
программа — запись алгоритма на языке понятном транслятору
evg_m вне форума Ответить с цитированием
Старый 12.01.2017, 13:29   #3
Torry_Witch
Новичок
Джуниор
 
Регистрация: 12.01.2017
Сообщений: 2
По умолчанию

Спасибо большое! Попробую.
Torry_Witch вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Работа с Excel через Delphi Умфарг Помощь студентам 1 11.05.2012 13:31
Delphi-оболочка для MS SQL Server (создание, присоединение, восстановление, резерв. копирование БД) Машуля Помощь студентам 0 28.11.2009 11:27
Ссылка на Excel-файл через поле таблицы megaten БД в Delphi 1 29.05.2009 01:18
График в excel через delphi RoZi БД в Delphi 2 04.04.2009 09:53