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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 19.12.2012, 20:16   #1
aL_foks
 
Регистрация: 04.11.2010
Сообщений: 4
По умолчанию Экспорт-импорт Excel <-> ADO + DBGrid <-> Access

Доброго времени суток уважаемые форумчане! Я неделю колдую над одним нюансом вставшим у меня на пути при написании проекта (проект честное слово пишу для себя).

Проект - система управления данными школьной библиотеки.

Суть вопроса такова. У меня есть Excel файл лежащий в папке export (Книга_суммарного_учета), и есть файл db1.mdb находящийся в папке с проектом. В самом проекте реализовано открытие, добавление, удаление записей по полям любых таблиц (ADO+SQL). В том числе реализовано сохранение данных при изменении записей в таблице БД. Плюс ко всему этому присутствует возможность импорта из xls файла во время работы приложения.

Проблема заключается в невозможности сохранения данных в таблицу Access при импорте данных из excel через DBGrid (+ADO), ну или я такой чайник... Прошу помощи в коде... Проект по ссылке.

Мыло
Вложения
Тип файла: rar LIBRARY.rar (760.5 Кб, 112 просмотров)
aL_foks вне форума Ответить с цитированием
Старый 20.12.2012, 08:15   #2
aL_foks
 
Регистрация: 04.11.2010
Сообщений: 4
По умолчанию Господа! Обращаюсь к вам еще раз и привожу пример кода...

Господа! Обращаюсь к вам еще раз и привожу пример кода... Перепробовал все, но не получается сохранить данные импортированные из Excel в Access таблицу указанную в настройках компонентов ADO.

Привожу способы загрузки из Excel - файла в компонент DBGrid через ADO:

1 способ - В настройках Access выбрать:

Файл - Внешние данные - Связь с таблицами .... Импортировать из Excel

Для отображения в DBGrid сделал так;

Код:
form2.ADOQuery1.SQL.Clear;
form2.ADOTable1.TableName:='имя таблицы связанной с Excel';
form2.ADOQuery1.SQL.Add('select * from имя таблицы связанной с Excel');
form2.ADOQuery1.Active:=true;
отображается на УРА! НО! Для сохранения данных я пользую код;

Код:
try
adoquery1.Edit;
ADOQuery1.Active:=True;
ADOQuery1.Post;
except
on e:Exception do
end;
и ничего не происходит, если быть точнее не сохраняются изменения

2 способ - программная загрузка Excel файла в DBGrid

Код:

private
  procedure ConnectToExcel;
  procedure FetchData;
....

procedure TForm2.ConnectToExcel; 
var strConn: widestring;
begin
strConn:='Provider=Microsoft.Jet.OLEDB.4.0;' +  'Data Source=' + opendialog1.FileName + ';' + 'Extended Properties=Excel 8.0;';
AdoConnection1.Connected:=False;
AdoConnection1.ConnectionString:=strConn;
try
AdoConnection1.Open;
except
ShowMessage('Нет подключения к Excel книге'+opendialog1.FileName+' !');
raise;
end;
end;

procedure TForm2.FetchData;
begin
opendialog1.execute;
ConnectToExcel;
AdoQuery1.Close;
AdoQuery1.SQL.Text:='SELECT * FROM [Лист1$]';
try
AdoQuery1.Open;
except
ShowMessage( 'Не выполнен SQL запрос ' + opendialog1.FileName +'!');
raise;
end;
end;

procedure TForm2.Button1Click(Sender: TObject);
begin
FetchData;
end;
И ОПЯТЬ ЖЕ отображается на УРА! НО!

Код:
try
adoquery1.Edit;
ADOQuery1.Active:=True;
ADOQuery1.Post;
except
on e:Exception do
end;
при использовании ничего не происходит, если быть точнее не сохраняются изменения в Access таблице.

без использования AdoQuery1.Edit программа выдает сообщение о том, что данные datasource не были изменены или данных вообще нет.

Помогите разобраться с сохранением....

Последний раз редактировалось aL_foks; 20.12.2012 в 08:19.
aL_foks вне форума Ответить с цитированием
Старый 22.12.2012, 07:18   #3
aL_foks
 
Регистрация: 04.11.2010
Сообщений: 4
По умолчанию

Ну помогите кто нибудь! Что вам сложно чтоли? Или вы можете только постить и тролить к безобидным юзерам. Прошу помощи по импорту из ексель и сохранения после импорта в базу а вы обходите стороной даже не присмотревшись....
aL_foks вне форума Ответить с цитированием
Старый 17.02.2013, 13:26   #4
aL_foks
 
Регистрация: 04.11.2010
Сообщений: 4
По умолчанию

! ... Cпасибо. Разобрался самостоятельно.
aL_foks вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Импорт таблицы Access в существующую базу MS SQL Server (Delphi+Ado+MSS) Delphi_developer БД в Delphi 4 22.09.2012 00:35
Импорт-экспорт данных Excel-Access, и из Access-Excel Людвиг Microsoft Office Access 3 27.10.2011 14:38
Импорт/Экспорт данных Excel на C# МаксимFr Помощь студентам 0 15.09.2010 21:13
импорт таблицы *.dbf в ms access через ADO ADO БД в Delphi 6 17.11.2008 15:01
Экспорт из Access в Excel, Экспорт из отчётов в таблицу Excel Kissedbythegod Microsoft Office Access 1 31.05.2008 22:15