Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Базы данных
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 16.10.2011, 14:59
Lenovo Lenovo вне форума
Прохожий
 
Регистрация: 16.12.2010
Сообщения: 39
Репутация: -2254
Восклицание Добавление информации DBGrida в базу Access

Здравствуйте, такой вопросец назрел: Как информацию из грида нажатием на enter сделать добавление в базу? Т.е есть например такие поля как №1, №2, №3 по заполнению последнего поля нажимаю enter и вся информация добавляется в таблицу БД!

Вопрос второй: Как сделать чтобы последняя числовая строка в ГРИДЕ складывалась с заданным числом в едите и отображение показывалось в лэйбеле!

Заранее спасибо!

Если что-то не понятно, спрашивайте постараюсь объяснить!
Ответить с цитированием
  #2  
Старый 16.10.2011, 15:53
Lenovo Lenovo вне форума
Прохожий
 
Регистрация: 16.12.2010
Сообщения: 39
Репутация: -2254
По умолчанию

Никто не знает??
Ответить с цитированием
  #3  
Старый 16.10.2011, 15:59
Аватар для Ildar-tsr
Ildar-tsr Ildar-tsr вне форума
Местный
 
Регистрация: 09.08.2011
Адрес: г.Сургут, ХМАО
Сообщения: 453
Репутация: 7402
По умолчанию

Как у тебя грид с БД связан?
__________________
Google в помощь
Ответить с цитированием
  #4  
Старый 16.10.2011, 16:26
Lenovo Lenovo вне форума
Прохожий
 
Регистрация: 16.12.2010
Сообщения: 39
Репутация: -2254
По умолчанию

Цитата:
Сообщение от Ildar-tsr
Как у тебя грид с БД связан?
Через АДО! Тобишь АДОтэйбл, АДОконекшин! База не СКУэловская..
Смотри, например существуют 4 столбца да?! Тобишь в 1-ой строке 4-е поля! Вот при заполнении последнего поля вручную, нажимаю enter и вся забитая инфа записывается в таблицу БД и автоматом переходит на след строку.
Ответить с цитированием
  #5  
Старый 16.10.2011, 16:41
Аватар для Ildar-tsr
Ildar-tsr Ildar-tsr вне форума
Местный
 
Регистрация: 09.08.2011
Адрес: г.Сургут, ХМАО
Сообщения: 453
Репутация: 7402
По умолчанию

Цитата:
Сообщение от Lenovo
Вопрос второй: Как сделать чтобы последняя числовая строка в ГРИДЕ складывалась с заданным числом в едите и отображение показывалось в лэйбеле!
Код:
ADOTable1.Last;
Label1.Caption:= FloatToStr(ADOTable1.FieldByName('тут название нужного столбца').AsFloat + StrToFloat(edit1.Text));
Если я правильно понял, что тебе именно нужно.
__________________
Google в помощь
Ответить с цитированием
  #6  
Старый 16.10.2011, 16:46
Lenovo Lenovo вне форума
Прохожий
 
Регистрация: 16.12.2010
Сообщения: 39
Репутация: -2254
По умолчанию

Цитата:
Сообщение от Ildar-tsr
Код:
ADOTable1.Last;
Label1.Caption:= FloatToStr(ADOTable1.FieldByName('тут название нужного столбца').AsFloat + StrToFloat(edit1.Text));
Если я правильно понял, что тебе именно нужно.
Скорее всего, спасибо большое! Хотелось бы получить ответ на первый вопросец с забивание информации!

Я всегда делал это на баттон, добавление! А теперь встал вопрос избежать кнопок, и сделать забивание через ентер =(
Ответить с цитированием
  #7  
Старый 16.10.2011, 17:45
Lenovo Lenovo вне форума
Прохожий
 
Регистрация: 16.12.2010
Сообщения: 39
Репутация: -2254
По умолчанию

Поможет кто?
Ответить с цитированием
  #8  
Старый 16.10.2011, 19:28
lmikle lmikle сейчас на форуме
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,015
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Цитата:
Сообщение от Lenovo
Поможет кто?

Кидаешь ActionList.
Создаешь в нем action с горячей клавишей Enter.
в обработчике события надо написать что-то типа
Код:
If ADOTable1.State in [dsInsert,dsEdit] Then ADOTable1.Post;
Ответить с цитированием
  #9  
Старый 16.10.2011, 21:28
Lenovo Lenovo вне форума
Прохожий
 
Регистрация: 16.12.2010
Сообщения: 39
Репутация: -2254
По умолчанию

Цитата:
Сообщение от lmikle
Кидаешь ActionList.
Создаешь в нем action с горячей клавишей Enter.
в обработчике события надо написать что-то типа
Код:
If ADOTable1.State in [dsInsert,dsEdit] Then ADOTable1.Post;
А при чем тут ЛИСТ этот? И это разъясните пожалуйста "Создаешь в нем action с горячей клавишей Enter"
И в обработчике события в ДБ гриде писать? Или на самом компоненте?
Ответить с цитированием
  #10  
Старый 17.10.2011, 01:07
lmikle lmikle сейчас на форуме
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,015
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

ActionList и Action в нем нужны для "отлова" нажатия клавиши. Можно отловить и другими способами, но этот удобнее. Код надо писать в обработчике OnExecute Action'а.
Ответить с цитированием
  #11  
Старый 17.10.2011, 12:23
Lenovo Lenovo вне форума
Прохожий
 
Регистрация: 16.12.2010
Сообщения: 39
Репутация: -2254
По умолчанию

Цитата:
Сообщение от lmikle
ActionList и Action в нем нужны для "отлова" нажатия клавиши. Можно отловить и другими способами, но этот удобнее. Код надо писать в обработчике OnExecute Action'а.
Скажите пожалуйста, что за компоненты DSEdit? Просто выдает ошибку на DSEdit и на DSInsert

Последний раз редактировалось Lenovo, 17.10.2011 в 13:03.
Ответить с цитированием
  #12  
Старый 17.10.2011, 19:21
Аватар для Страдалецъ
Страдалецъ Страдалецъ вне форума
Гуру
 
Регистрация: 09.03.2009
Адрес: На курорте, из окна вижу теплое Баренцево море. Бррр.
Сообщения: 4,721
Репутация: 52347
По умолчанию

Это не компоненты, а константы информирующие о текущем состоянии таблицы. Описаны они в модуле DB. Обычно он автоматом прописывается в секции uses как только на форме появляется любой из компонентов работы с базами данных.
__________________
Жизнь такова какова она есть и больше никакова.
Помогаю за спасибо.
Ответить с цитированием
  #13  
Старый 17.10.2011, 19:45
Lenovo Lenovo вне форума
Прохожий
 
Регистрация: 16.12.2010
Сообщения: 39
Репутация: -2254
По умолчанию

Цитата:
Сообщение от Страдалецъ
Это не компоненты, а константы информирующие о текущем состоянии таблицы. Описаны они в модуле DB. Обычно он автоматом прописывается в секции uses как только на форме появляется любой из компонентов работы с базами данных.
Зайди пожалуйста в асю, по тимспику подскажи если не сложно)))) я уже там сделал может быть подправите?) В вашей аси я есть)
Ответить с цитированием
  #14  
Старый 17.10.2011, 19:54
Аватар для Страдалецъ
Страдалецъ Страдалецъ вне форума
Гуру
 
Регистрация: 09.03.2009
Адрес: На курорте, из окна вижу теплое Баренцево море. Бррр.
Сообщения: 4,721
Репутация: 52347
По умолчанию

Не выйдет пока оказать так помощь. Нет у меня тут такой возможности.
__________________
Жизнь такова какова она есть и больше никакова.
Помогаю за спасибо.
Ответить с цитированием
  #15  
Старый 17.10.2011, 19:58
Lenovo Lenovo вне форума
Прохожий
 
Регистрация: 16.12.2010
Сообщения: 39
Репутация: -2254
По умолчанию

Цитата:
Сообщение от Страдалецъ
Не выйдет пока оказать так помощь. Нет у меня тут такой возможности.
Как поступить тогда-то) Ну давайте так разберем здесь? Вот смотрите, у меня есть ДБ грид на форме подключенный к базе акцесс да!
Кидаю на форму Актион лист, кликаю на него два раза и создаю актион! И в актионе уже прописываю это
Код:
If DataModule3.ADOTable1.State in [dsInsert,dsEdit] Then DataModule3.ADOTable1.Post;
Все нормально, но ошибку выдает на dsinsert и dsedit!
Что мне делать? Подскажите пожалуйста, очень надо..

И еще знаете какую интересную штуку я нашел! То что в дбгриде нажимаешь просто TAB и он автоматом переходит на след столбец и сохраняет данные в бд и далее переходит на след строку заполнения..МБ вообще не стоит этот ентер забивать?

Последний раз редактировалось Lenovo, 17.10.2011 в 20:01.
Ответить с цитированием
Ответ


Delphi Sources

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

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 01:01.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter