Форум программистов, компьютерный форум, киберфорум
Delphi: Базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.57/7: Рейтинг темы: голосов - 7, средняя оценка - 4.57
0 / 0 / 0
Регистрация: 08.11.2013
Сообщений: 34

Вычитание количества

30.11.2013, 21:09. Показов 1483. Ответов 10
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
всем привет, помоготи пожалуйста! Существует 2 формы на каждой форме есть DBGRid, Table,DataSours. Первая табл склад. вторая подажи. Как сделать, чтобы когда вводишь данные в табл продажи (Form2) по нажатию кнопки сохранить вычислялось кол-во из первой таблицы (Form1)склада. Наименование товара у меня совпадает т к я сделал выпадающий список.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
30.11.2013, 21:09
Ответы с готовыми решениями:

Вычитание таблиц БД
Привет! Подскажите немогу сообразить. Есть програмка на делфи + БД Интербас. Нужно из одного SQL запросы вычесть другой. 1. select...

Вычитание полей
Доброго времени суток! У меня такой вопрос: - Есть таблицы склад и филиал, как сделать так, чтобы товар. который храниться на...

Вычитание в hex
Добрый день! Не могу разобраться с вычитанием в hex-e: нужна программа, которая при нажатии кнопки будет вычитать из одного числа,...

10
 Аватар для ZfoxAK
670 / 560 / 242
Регистрация: 26.11.2012
Сообщений: 2,191
02.12.2013, 09:05
Delphi
1
2
Form1.ADOTable1.Edit;
Form1.ADOTable1.Fields.FieldByName('Имя_поля').Value:=Form1.ADOTable1.Fields.FieldByName('Имя_поля').Value - требуемое значение;
Работать с БД с использованием Table не есть хорошо. Лучше ADOQuery, DataSet и т.д.
0
0 / 0 / 0
Регистрация: 08.11.2013
Сообщений: 34
03.12.2013, 18:14  [ТС]
Цитата Сообщение от ZfoxAK Посмотреть сообщение
Delphi
1
2
Form1.ADOTable1.Edit;
Form1.ADOTable1.Fields.FieldByName('Имя_поля').Value:=Form1.ADOTable1.Fields.FieldByName('Имя_поля').Value - требуемое значение;
Работать с БД с использованием Table не есть хорошо. Лучше ADOQuery, DataSet и т.д.
Вы чуть -чуть меня не поняли я использовал Table. Только как теперь сделать чтобы у всех записей вычитывалось кол-во, а то у меня только у первой вычитывается
Delphi
1
2
3
4
5
6
7
if Form2.Table1.FieldByName('Name').te xt=Form3.Table1.FieldByName('Name') .text
then begin
Form2.Table1.edit;
x:=Form2.Table1.FieldByName('Kol' ).AsInteger;
y:=Form3.Table1.FieldByName('Kol' ).AsInteger;
Form2.Table1.FieldByName('Kol').A sString:=IntToStr(x-y) ;
Form2.table1.Post; end;
0
 Аватар для ZfoxAK
670 / 560 / 242
Регистрация: 26.11.2012
Сообщений: 2,191
04.12.2013, 05:31
Цитата Сообщение от Bos_00 Посмотреть сообщение
Только как теперь сделать чтобы у всех записей вычитывалось кол-во, а то у меня только у первой вычитывается
Для этого существует циклы
Delphi
1
2
3
4
5
6
Table1.First;
while not Table1.Eof do
begin
 // ваши действия
table1.next;
end;
0
0 / 0 / 0
Регистрация: 08.11.2013
Сообщений: 34
05.12.2013, 09:28  [ТС]
Цитата Сообщение от ZfoxAK Посмотреть сообщение
Для этого существует циклы
Delphi
1
2
3
4
5
6
Table1.First;
while not Table1.Eof do
begin
 // ваши действия
table1.next;
end;
Выходит ошибка не могу разобраться(
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
procedure TForm3.Button2Click(Sender: TObject);
var x,y:integer;
begin
Form2.Table1.First;
while not Form2.Table1.Eof do
begin
Form2.Table1.edit;
if Form2.Table1.FieldByName('Name').text=Form3.Table1.FieldByName('Name').text
then begin
Form2.Table1.edit;
x:=Form2.Table1.FieldByName('Kol').AsInteger;
y:=Form3.Table1.FieldByName('Kol').AsInteger;
Form2.Table1.FieldByName('Kol').AsString:=IntToStr(x-y) ;
Form2.Table1.Next; end;
Form2.table1.Post;end;
ShowMessage('Данные изменяны!');
end;
0
 Аватар для ZfoxAK
670 / 560 / 242
Регистрация: 26.11.2012
Сообщений: 2,191
05.12.2013, 09:50
Во первых: Какая ошибка и в какой строке?
Во вторых: Form3.Table1.FieldByNa me('Name') - зачем здесь пробел?
Цитата Сообщение от Bos_00 Посмотреть сообщение
if Form2.Table1.FieldByName('Name').text=Fo rm3.Table1.FieldByNa me('Name').text
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
 Аватар для volvo
33399 / 21509 / 8236
Регистрация: 22.10.2011
Сообщений: 36,907
Записей в блоге: 12
05.12.2013, 10:04
Цитата Сообщение от ZfoxAK Посмотреть сообщение
зачем здесь пробел?
Это движок форума разбивает строку пробелами, в коде изначально этого не было, достаточно добавить теги и все становится на свои места...
0
0 / 0 / 0
Регистрация: 08.11.2013
Сообщений: 34
05.12.2013, 10:12  [ТС]
Цитата Сообщение от ZfoxAK Посмотреть сообщение
Во первых: Какая ошибка и в какой строке?
Во вторых: Form3.Table1.FieldByNa me('Name') - зачем здесь пробел?
Там нет пробела .
ошибка происходит по нажатию кнопки. появляется окно с сообщением
Ошибка Project project1.exe raiced exception class EDatabase wiht message 'Table1: Dataset not in edit or insert mode'. Process stopped. Use Step or Run to continue
0
 Аватар для ZfoxAK
670 / 560 / 242
Регистрация: 26.11.2012
Сообщений: 2,191
05.12.2013, 10:41
Для уточнения в какой строке ошибка используют режим отладки когда возможно выполнение кода по строка.
Цитата Сообщение от Bos_00 Посмотреть сообщение
'Table1: Dataset not in edit or insert mode'
Здесь говорится, что у набора данных (Dataset) Table1 режим не для вставки или редактирования.
См свойство ReadOnly:= false;
0
0 / 0 / 0
Регистрация: 08.11.2013
Сообщений: 34
05.12.2013, 10:52  [ТС]
Цитата Сообщение от ZfoxAK Посмотреть сообщение
Для уточнения в какой строке ошибка используют режим отладки когда возможно выполнение кода по строка.

Здесь говорится, что у набора данных (Dataset) Table1 режим не для вставки или редактирования.
См свойство ReadOnly:= false;
Посмотрел в Тable там так и стоит false на обоих таблицах
0
 Аватар для ZfoxAK
670 / 560 / 242
Регистрация: 26.11.2012
Сообщений: 2,191
05.12.2013, 11:25
Еще одним место где устанавливается режим это при создании альяса open mode = read/write
С BDE практически не работал . ХЗ знает иначе. Может кто из Мастеров подскажет.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
05.12.2013, 11:25
Помогаю со студенческими работами здесь

Вычитание времени
Здравствуйте, прошу помочь в написания программы на делфи для вычитания времени ( например 14:45:53 - 15:23:12) чтобы время задавалось ...

Пример на вычитание
Делаю пример на вычитание rand:=100;//числа в пределах repeat randomize; a:=random(rand); b:=random(rand); until a>b; ...

Вычитание чисел
e:=9999999.999; e:=e-9999999; Почему e <> 0,999. Как исправить эту ошибку.

Вычитание времени
Добрый день. Я написал программку простейшую на делфи для вычитания и суммирования времени,выглядит она так : procedure...

Вычитание массивов
Не получается решить задачу, помогите найти ошибки. При компиляции вылетает Error. program Project2; {$APPTYPE CONSOLE} ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Новые блоги и статьи
Переходник USB-CAN-GPIO
Eddy_Em 20.03.2026
Достаточно давно на работе возникла необходимость в переходнике CAN-USB с гальваноразвязкой, оный и был разработан. Однако, все меня терзала совесть, что аж 48-ногий МК используется так тупо: просто. . .
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru