![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
![]() Здравствуйте!!! Сразу к делу... Есть таблица в Excel, состоящая из 6 столбцов и множества строк... Нужна программа поиска информации в строке и вывода информации на экран по одному из параметров. Пример таблицы прикреплен, в нем же и примеры визуализации программы. Пожалуйста))
Пишу что нужна, т.к. уже позабыл язык программирования совсем, да и нет уже и программ и навыков. Заранее спасибо тому кто сделает. (будет небольшой бонус) |
#2
|
|||
|
|||
![]() А не проще в этом случае считать всю таблицу в память и потом уже в памяти все искать?
|
#3
|
||||
|
||||
![]() Тут делов то на 15 минут. Подключить файл экселя как таблицу БД и собственно все. Мне неясно только во втором примере, почему при запросе на значение 123456789126 получаем еще 3 "левых" строки?
Жизнь такова какова она есть и больше никакова. Помогаю за спасибо. |
#4
|
||||
|
||||
![]() Цитата:
И почему так активизировались в некротеме после поста спам-бота?... jmp $ ; Happy End! The Cake Is A Lie. |
#5
|
||||
|
||||
![]() Да я даже и не глянул на дату вопроса
![]() Ладно, не пропадать же ответу. Может кому сгодится. Код:
unit Unit28; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, DB, Grids, DBGrids, ADODB; type TForm28 = class(TForm) ADOTable1: TADOTable; DataSource1: TDataSource; DBGrid1: TDBGrid; ComboBox1: TComboBox; Edit1: TEdit; Button1: TButton; procedure FormActivate(Sender: TObject); procedure Button1Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form28: TForm28; implementation {$R *.dfm} procedure TForm28.Button1Click(Sender: TObject); begin if AdoTable1.Filtered then AdoTable1.Filtered := not AdoTable1.Filtered else begin AdoTable1.Filter := Format('[%s]=''%s''',[ComboBox1.Items.Strings[ComboBox1.ItemIndex], Edit1.Text]); AdoTable1.Filtered := True; end; end; procedure TForm28.FormActivate(Sender: TObject); Const XLSXConnectStr = 'Provider=Microsoft.ACE.OLEDB.12.0;Data Source=%s;Extended Properties="Excel 12.0 Xml;HDR=YES";'; Var i: Integer; begin AdoTable1.ConnectionString := Format(XLSXConnectStr, ['D:\2\список.xlsx']); AdoTable1.TableName := '[Лист1$]'; AdoTable1.Open; for i := 0 to 5 {AdoTable1.Fields.Count - 1} do ComboBox1.Items.Add(AdoTable1.Fields[i].FieldName); ComboBox1.ItemIndex := 1; end; end. Жизнь такова какова она есть и больше никакова. Помогаю за спасибо. |