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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 04.11.2016, 00:28   #1
Qwerty169
 
Регистрация: 04.11.2016
Сообщений: 5
По умолчанию Работа с Excel БД в Delphi XE7

Посоветуйте пожалуйста литературу из которой можно почитать по конкретно работе в Delphi с БД Excel. Нужно не много, фильтрация по столбцам на отклонение от заданных пользователем критериев, вывод соответственно отфильтрованных данных в окно и вывод информации в цифре и в %, сколько не соответствует заданным критериям. Сложность заключается, еще в том, что необходимо по каждому из уникальных имен (а таких порядка 40 из 8000 строк) сделать своего рода суммирование, то есть не только сколько всего файлов вне допуска по критерию, а так е сколько вне допуска еще и по каждому из 40 уникальных имен. В самом Excel благодаря макросам все это сделать просто, но хочется как то окультурить это все в программу, а не менять передавать постоянно экселевский фаил. Я в программировании ничего почти не знаю, но учусь быстро, возможно проще мою задачу воплотить не в Delphi, а другой среде и на другом языке программирования?

Последний раз редактировалось Qwerty169; 04.11.2016 в 00:30.
Qwerty169 вне форума Ответить с цитированием
Старый 04.11.2016, 01:11   #2
xxbesoxx
Участник клуба
 
Регистрация: 10.08.2010
Сообщений: 1,389
По умолчанию

Цитата:
Посоветуйте пожалуйста литературу из которой можно почитать по конкретно работе в Delphi с БД Excel.
1) Кнмга: http://bourabai.ru/library/korniakov.pdf
2) Примеров очень много на это форуме
xxbesoxx вне форума Ответить с цитированием
Старый 04.11.2016, 12:38   #3
Qwerty169
 
Регистрация: 04.11.2016
Сообщений: 5
По умолчанию

Спасибо буду разбираться, ато куда копать даже понятия не имею, чтобы решить задачу мою. Еще если есть что то буду благодарен, на форуме в основном обсуждают БД Aцесс, хотя возможно разница не столь велика между Excel и Ацесс
Qwerty169 вне форума Ответить с цитированием
Старый 04.11.2016, 22:55   #4
Qwerty169
 
Регистрация: 04.11.2016
Сообщений: 5
По умолчанию Что это за ошибка кто знает?

Наверняка глупый вопрос, но выдает ошибку я хз уже что делать с ней.
Изображения
Тип файла: jpg что это.jpg (85.1 Кб, 134 просмотров)
Qwerty169 вне форума Ответить с цитированием
Старый 04.11.2016, 23:56   #5
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 19,042
По умолчанию

Для начала правильно написать имя кнопки
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 14.11.2016, 20:07   #6
Qwerty169
 
Регистрация: 04.11.2016
Сообщений: 5
По умолчанию

Подскажите пожалуйста, несколько моментов. Буду очень благодарен, в программировании я не спец как многие с этого форума, но хочется познать некоторые моменты) подскажите куда копать, или (что будет просто отлично) подскажите код. Мой код программы ниже. Интересует:
1. Как сделать фильтрацию и отображение отфильтрованной информации в гриде?
2. Как сделать не забивая руками в код заголовки из файла excel?
3. Как выбирать фаил excel, который будет загружен в БД, а не один и тот же с конкретным именем?

Смысл программы простой, (1) загрузить фаил (или на крайний случай загрузить без выбора как в коде ниже), (2) определить заголовки по 1-м буквам например по столбцам (т.к. столбцы в разном порядке часто стоят, но это не принципиально если слишком не просто сделать так), (3) Отфильтровать по указанным критериям и вывести в табличном виде так же(тут есть 1 момент, критерий для фильтрации иногда необходимо будет менять). Таблица вида 10 столбцов с названиями столбцов и 10 строк с параметрами в цифре.


PHP код:
unit Unit3;

interface

uses
  Winapi
.WindowsWinapi.MessagesSystem.SysUtilsSystem.VariantsSystem.ClassesVcl.Graphics,
  
Vcl.ControlsVcl.FormsVcl.DialogsVcl.StdCtrlsData.DBData.Win.ADODB,
  
Vcl.GridsVcl.DBGrids;

type
  TForm3 
= class(TForm)
    
DBGrid1TDBGrid;
    
DataSource1TDataSource;
    
ADOConnection1TADOConnection;
    
ADOQuery1TADOQuery;
    
Button1TButton;
    
procedure Button1Click(SenderTObject);
  private
    { Private 
declarations }
  public
    { Public 
declarations }
  
end;

var
  
Form3TForm3;

implementation

{$R *.dfm}

procedure TForm3.Button1Click(SenderTObject);
begin
 
try
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('SELECT * FROM [report$]');
ADOQuery1.Active:=True;
except
on e
:Exception do
end;
end;

end
Изображения
Тип файла: png кнопка.png (40.5 Кб, 132 просмотров)
Qwerty169 вне форума Ответить с цитированием
Старый 15.11.2016, 09:59   #7
Replicant
Форумчанин
 
Аватар для Replicant
 
Регистрация: 17.08.2009
Сообщений: 139
По умолчанию

Цитата:
Сообщение от Qwerty169 Посмотреть сообщение
1. Как сделать фильтрацию и отображение отфильтрованной информации в гриде?
Фильтрация/ поиск по базе через изменения эдита
Код:
procedure TForm1.Edit1Change(Sender: TObject);
begin
  ADOQuery1.Close;
  ADOQuery1.SQL.Clear;
  ADOQuery1.SQL.Add('SELECT * FROM [Лист1$] WHERE Поле LIKE "%'+Edit1.Text+'%"');
  ADOQuery1.Open;
end;
Цитата:
Сообщение от Qwerty169 Посмотреть сообщение
2. Как сделать не забивая руками в код заголовки из файла excel?
Программно читать шапку таблицы и заполнять свойство Columns DBGrid-a.

Цитата:
Сообщение от Qwerty169 Посмотреть сообщение
3. Как выбирать фаил excel, который будет загружен в БД, а не один и тот же с конкретным именем?
Меняйте адрес файла в свойстве ConnectionString компонента ADOConnection, примерно так оно у вас выглядит:
Код:
Provider=MSDASQL.1;
Persist Security Info=False;
Extended Properties="DSN=Excel Files;
DBQ=C:\1.xlsx; 
DefaultDir=C:\;
DriverId=1046;
MaxBufferSize=2048;
PageTimeout=5;"

Последний раз редактировалось Replicant; 15.11.2016 в 10:51.
Replicant вне форума Ответить с цитированием
Старый 24.11.2016, 20:00   #8
Qwerty169
 
Регистрация: 04.11.2016
Сообщений: 5
По умолчанию

У меня появилась идея, кто знает как ее реализовать?
Чтобы загрузить текстовый фаил где информация в столбцах, но чтобы у пользователя была возможность указать в каком интервале читать какие значения, например как показано на рисунке и после нажатия ОК в таблицу загружаются данные, суть именно в том, чтобы пользователь мог сам указать в каком интервале какие данные, т.к. расположение столбцом иногда меняется и нет никакой шапки в текстовом файле. Уверен кто нибудь знает как это сделать, хотя бы укажите направление.
Изображения
Тип файла: png для форума.png (13.6 Кб, 90 просмотров)
Qwerty169 вне форума Ответить с цитированием
Старый 06.12.2016, 18:46   #9
cw82
Пользователь
 
Аватар для cw82
 
Регистрация: 14.10.2010
Сообщений: 52
По умолчанию

Напишите мне 4832429@gmail.com возможно смогу помочь, сам только закончил прогу по работе с текстовым файлом. Но я тоже начинающий, в свое время не мог найти нужную мне информацию по подобному вопросу... Хотя вернее не знал что искать...
cw82 вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
TLabel в Delphi xe7 SASFM Общие вопросы Delphi 0 06.01.2016 19:19
Установка на Embarcadero RAD Studio XE7 -->DevExpress VCL 14.1.2 XE7 xxbesoxx Свободное общение 4 03.06.2015 21:54
Delphi 7 Speech API ошибка в Delphi XE7 nobobic Общие вопросы Delphi 0 03.06.2015 13:17
Delphi XE7 и Excel 2010 GNDragonFly Общие вопросы Delphi 6 03.06.2015 12:22
Экспорт из Excel в MS SQL Server 2008 с помощью Delphi XE7 TimurUfa БД в Delphi 0 16.01.2015 12:20