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

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

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

Восстановить пароль

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

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 20.08.2008, 00:06   #1
Killbrum
Форумчанин
 
Регистрация: 05.12.2007
Сообщений: 206
По умолчанию BD

Всем доброго времени суток! Вот тут пишу Базу Данных. И вопрос почему когда я пишу
Код:
if not (BookName.Locate('Фамилия', Edit1.Text, [loCaseInsensitive])) or (BookName.Locate('Имя', Edit2.Text, [loCaseInsensitive])) or (BookName.Locate('Отчество', Edit3.Text, [loCaseInsensitive])) then
то эта прцедура не выполняетса? тоисть если
Код:
if not BookName.Locate('Фамилия', Edit1.Text, [loCaseInsensitive]) then
то идет проверка на наличие чегото в поле 1, а если как первый вариант то проверка не идет вобще? Почему так?
Почему когда я переношу это все на Форм2 у меня подчеркиваетса loCaseInsensitive и говорит что неправильная команда хотя я пишу
Код:
if not Form1.BookName.Locate('Фамилия', Edit1.Text, [loCaseInsensitive] ...
Как зделать правильное удаление?
Я пишу

Код:
if BookName.IndexFieldCount<0 then
begin
Application.MessageBox('Больше нечего удалять','Внимание');
exit;
end
else
if MessageDlg('Удалить текущую запись?', mtConfirmation, [mbYes, mbNo], 0)=mrYes then
BookName.Delete;
что тут нетак?

И последнее чем отличаетса AppendRecord от InsertRecord ? На практике разницы не заметил
Зарание большое спасибо за ответы
Killbrum вне форума
Старый 20.08.2008, 08:59   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
то эта прцедура не выполняетса?
Думается мне что дело в том что locate перескакивает на найденую запись, тем самым мешая другим locate в этой упряжке.
Попробуй замени его на lookup
Цитата:
Почему когда я переношу это все на Форм2 у меня подчеркиваетса loCaseInsensitive и говорит что неправильная команда
НАпример модуль DB не подключен на форме...
Цитата:
что тут нетак?
Да все тут так. Пройдись по шагам. Доходит ли выполнение до удаления?
Цитата:
И последнее чем отличаетса AppendRecord от InsertRecord ?
А в хелп заглянуть?
I'm learning to live...
Stilet вне форума
Старый 20.08.2008, 10:55   #3
Killbrum
Форумчанин
 
Регистрация: 05.12.2007
Сообщений: 206
По умолчанию

Пробовал с lookup и оно мне орет что Стринг и Сет разные команды
Прошолся шагами. Самое интересное что до удаления то доходит )))) но манипулируя знаками и т.д. я не добилса того чтоб оно проверило или строк в таблице менше нуля. Тоисть в
Код:
   if BookName.IndexFieldCount<0 then  
   begin  
   Application.MessageBox('Больше нечего удалять','Внимание');  
   exit;  
   end  
   else  
    if MessageDlg('Удалить текущую запись?', mtConfirmation, [mbYes, mbNo], 0)=mrYes then  
    BookName.Delete;
Делает оно всегда так

Код:
if BookName.IndexFieldCount<0 then  
   begin
else  
    if MessageDlg('Удалить текущую запись?', mtConfirmation, [mbYes, mbNo], 0)=mrYes then  
    BookName.Delete;
Killbrum вне форума
Старый 20.08.2008, 18:57   #4
Killbrum
Форумчанин
 
Регистрация: 05.12.2007
Сообщений: 206
По умолчанию

Вот ещо проблемка
Почему когда я ввожу
Код:
if Edit1.Text<>'' then
Form1.BookName.Filtered:=true
else
Form1.BookName.Filtered:=false;
Form1.BookName.Filter:='Фамилия>'''+Edit1.Text+'''';
То оно коректно не ищет? Что тут не так?
Killbrum вне форума
Старый 21.08.2008, 21:27   #5
Killbrum
Форумчанин
 
Регистрация: 05.12.2007
Сообщений: 206
По умолчанию

Вот ещо в догонку вопросик. Почему когда я пишу
Код:
if Length(Edit7.Text)>0 then
Form1.BookName.Filtered:=true
else
Form1.BookName.Filtered:=false;
Form1.BookName.Filter:='Дом. Тел.>'''+Edit7.Text+'''';
то у меня возникает ошибка? "Аргументы имеют неверный тип, выходят за пределы диапазона, или входят в конфликт друг с другом" . Что я неправильно зделал?
Killbrum вне форума
Старый 21.08.2008, 22:22   #6
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

а скажите, Вы сознательно для текстовых (строковых) полей задаёте в фильтре условие "больше" ?
Теоретически, конечно, фамилия 'Сидоров' > фамилии 'Брежнев' :-)) но я бы на Вашем месте проверил.
Я думал, что Вы хотели отфильтровать записи, которые РАВНЫ заданным в EditXXX условиям...

Кстати, а "Дом.Тел." - это не числовое поле? :-)
Структуру исходной таблицы посмотрите...
Serge_Bliznykov вне форума
Старый 22.08.2008, 10:21   #7
Killbrum
Форумчанин
 
Регистрация: 05.12.2007
Сообщений: 206
По умолчанию

Извените просто я не до конца понимаю что вы сказали . Я просто читаю 2 книги и в них все написано именно так как я тут выложил. Как проверять?
Да Дом.Тел - числовое а там по другому надо переводить? Извените меня просто я делаю как написано в книге а оно не получается :Р . Помогите исправить ошибки пожалуйста. Зарание большое спасибо!
Killbrum вне форума
Старый 22.08.2008, 10:35   #8
дмидми
Форумчанин
 
Аватар для дмидми
 
Регистрация: 06.03.2008
Сообщений: 352
Смех Помогаю

Цитата:
Сообщение от Killbrum Посмотреть сообщение
Помогите исправить ошибки пожалуйста
1. "Извините" пишется через "и".
2. Между "понимаю" и "что" нужна запятая. А также между "так" и "как", "Да" и "Дом.Тел.", "числовое" и "а" etc. вплоть до "ошибки" и "пожалуйста".
3. Показывать язык малознакомому человеку неприлично.
4. В слове "заранее" нет и никогда не было буквы "и".
5. Заранее - большое "пожалуйста".

(Добавлено.)
Уж если имитировать просторечие, то не "тоисть", а "тоись".
дмидми вне форума
Старый 22.08.2008, 15:49   #9
Killbrum
Форумчанин
 
Регистрация: 05.12.2007
Сообщений: 206
По умолчанию

Извините меня пожалуйста просто учился я в Украинской школе. А Русское правописание изучаю в Мозиле
Killbrum вне форума
Старый 22.08.2008, 16:47   #10
дмидми
Форумчанин
 
Аватар для дмидми
 
Регистрация: 06.03.2008
Сообщений: 352
По умолчанию

Ну уж лапшу-то на уши вешать ни к чему. Украинцы в русском языке совсем другие ошибки делают.
дмидми вне форума
Закрытая тема


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