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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 18.06.2012, 00:24   #1
igi3
 
Регистрация: 19.06.2011
Сообщений: 5
По умолчанию Поиск в базе данных 1 группа радиокнопок, 1 поле ввода, 1 кнопка делфи.

Как можно осуществить поиск в таблице? Поиск запускается кнопкой, критерий поиска вводится в поле ввода, столбци по которым бутет проходить поиск определяется группой радиокнопок (0-номеру, 1-дате, 2-названию).
igi3 вне форума Ответить с цитированием
Старый 18.06.2012, 00:58   #2
Npwas
Форумчанин
 
Аватар для Npwas
 
Регистрация: 26.09.2011
Сообщений: 158
По умолчанию

Таблица на ООП, это тоже самое что матрица, нумеруется все с нуля. Вот и передаем в процедуру поиска номер нужного столбца или строки( в зависимости от того что тебе надо), а потом начиная с 0 до N-1 ищем нужную запись как в обычном массиве, в строках или в столбцах!!! =)
<----Весы Там.
Npwas вне форума Ответить с цитированием
Старый 18.06.2012, 01:00   #3
Valio
Сливочное масло
Участник клуба
 
Аватар для Valio
 
Регистрация: 01.01.2011
Сообщений: 1,149
По умолчанию

Что за БД?
Сливочное масло Valio - компиляция как по маслу
Valio вне форума Ответить с цитированием
Старый 18.06.2012, 01:23   #4
Npwas
Форумчанин
 
Аватар для Npwas
 
Регистрация: 26.09.2011
Сообщений: 158
По умолчанию

Цитата:
Сообщение от Valio Посмотреть сообщение
Что за БД?
Може он имел ввиду компонент DBGrid.


Пробуй так с помощью StringGrid, действует и удобно:


Код:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ExtCtrls, Grids, DBGrids;

type
  TForm1 = class(TForm)
    SG1: TStringGrid;
    SG2: TStringGrid;
    RadioGroup1: TRadioGroup;
    Edit1: TEdit;
    Button1: TButton;
    Edit2: TEdit;
    Edit3: TEdit;
    Edit4: TEdit;
    Button2: TButton;
    procedure FormCreate(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}
{НАЧАЛЬНЫЕ ПАРАМЕТРЫ}
procedure TForm1.FormCreate(Sender: TObject);
begin
RadioGroup1.ItemIndex:=1;
With RadioGroup1.Items do
  Begin
    Add('номер');
    Add('дата');
    Add('название');
  End;
  SG1.RowCount:=2;
  SG1.ColCount:=3;
  SG1.FixedCols:=0;
  SG2.RowCount:=2;
  SG2.ColCount:=3;
  SG2.FixedCols:=0;
end;
{ДОБАВЛЕНИЕ ЭЛЕМЕНТА}
procedure TForm1.Button1Click(Sender: TObject);
Var
 k:integer;
begin
  SG1.Cells[0,SG1.RowCount-1]:=Edit1.Text;
  SG1.Cells[1,SG1.RowCount-1]:=Edit2.Text;
  SG1.Cells[2,SG1.RowCount-1]:=Edit3.Text;
  SG1.RowCount:=SG1.RowCount+1;
end;
{ПОИСК ЭЛЕМЕНТА}
procedure TForm1.Button2Click(Sender: TObject);
 Var
  j,k:integer;
begin
{ОЧИСТКА ТАБЛИЦЫ 2}
 IF SG2.RowCount<> 2 Then
  Begin
    For j:=0 to SG2.RowCount-2 do
     For k:=0 to SG2.ColCount-1 do
     SG2.Cells[k,j]:='';
    SG2.RowCount:=2;
  End;
  {ПОИСК ЭЛЕМЕНТОВ В ТАБЛИЦЕ}
 For j:=0 to SG1.RowCount-2 do
   begin
   IF Edit4.Text=SG1.Cells[RadioGroup1.ItemIndex,j] Then
       Begin
        //ВЫВОД НАЙДЕННОГО В ТАБЛИЦУ 2
         k:=SG2.RowCount-1;
         SG2.Cells[0,k]:=SG1.Cells[0,j];
         SG2.Cells[1,k]:=SG1.Cells[1,j];
         SG2.Cells[2,k]:=SG1.Cells[2,j];
         SG2.RowCount:=SG2.RowCount+1;
       End
   end
end;

end.
<----Весы Там.
Npwas вне форума Ответить с цитированием
Старый 20.06.2012, 15:37   #5
igi3
 
Регистрация: 19.06.2011
Сообщений: 5
По умолчанию

БД(bde) из 8 таблиц парадокс. Поиск проиходит 1 таблице но с1 подстановочным полем в DBGrid. Tables и DataSource на модуле данных.
igi3 вне форума Ответить с цитированием
Старый 20.06.2012, 15:48   #6
igi3
 
Регистрация: 19.06.2011
Сообщений: 5
По умолчанию

БД на bde из 8 таблиц парадокс. Поиск по 1 таблице но сподстановочным полем. Открывается через DBGrid. Table и DataSource на модуле данных.
igi3 вне форума Ответить с цитированием
Старый 20.06.2012, 16:02   #7
Npwas
Форумчанин
 
Аватар для Npwas
 
Регистрация: 26.09.2011
Сообщений: 158
По умолчанию

15:59
oO А зачем такое извращение?!

16:02
Проще и удобней воспользоваться StringGrid, как я пример привел!!!



_________________
Не используйте форум как чат - не пишите несколько коротких сообщений подряд! Это нарушение правил!
Есть что добавить - нажимайте кнопку "Правка/Редактировать" на своём крайнем сообщении
и изменяйте, добавляйте....

Прошу учесть на будущее...

Модератор.
<----Весы Там.

Последний раз редактировалось Serge_Bliznykov; 20.06.2012 в 16:16.
Npwas вне форума Ответить с цитированием
Старый 20.06.2012, 16:05   #8
Npwas
Форумчанин
 
Аватар для Npwas
 
Регистрация: 26.09.2011
Сообщений: 158
По умолчанию

Цитата:
Сообщение от igi3 Посмотреть сообщение
Поиск по 1 таблице но с подстановочным полем.
И что ты имеешь ввиду под подстановочным полем?!
<----Весы Там.
Npwas вне форума Ответить с цитированием
Старый 20.06.2012, 16:07   #9
AlexMas
Пользователь
 
Аватар для AlexMas
 
Регистрация: 30.05.2012
Сообщений: 69
По умолчанию

можно так попробовать:
Код:
case RadioGroup1.ItemIndex of
   0: FieldName:='Name';
   1: FieldName:='Date';
   2: FieldName:='State';
end;
FieldValue:=Edit1.Text;
Table.Locate(FieldName, FieldValue, [loCaseInsensitive, loPartialKey]);

Последний раз редактировалось AlexMas; 20.06.2012 в 16:09.
AlexMas вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Делфи. Перемещение по базе данных RikkiTan Помощь студентам 12 04.06.2012 14:57
На форме кнопка и поле ввода MrJohnson Общие вопросы Delphi 2 18.10.2010 14:33
Запрет ввода данных в поле DBGrid-а WPROF Компоненты Delphi 6 16.12.2009 18:20
Ограничение ввода данных в поле pgerasimov JavaScript, Ajax 1 11.08.2009 19:01
Кнопка выбора пути к базе данных Слава Троцак БД в Delphi 1 14.01.2008 13:22