powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Добавление записи в таблицу
8 сообщений из 8, страница 1 из 1
Добавление записи в таблицу
    #33146964
Денг
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
У меня такая проблема: Имеется список лекарств ну таблица, дак вот
при добавлении в эту таблицу лекарств как сделать так, чтобы когда добавляешь лекарство которое есть уже в таблице, оно оставалось одной записью а количество добавлялось к существующему.Например(в таблице
запись Йод количество 60, мы добавляем запись в таблицы с таким же названием Йод количество 30 и вот как сделать так чтобы он в старую запись добавил количество 30 тобишь чтоб было не Йод количество 60, Йод количество 30, а было чтоб вот так Йод количество 90).Как это сделать??? Помогите пожалуйста!
...
Рейтинг: 0 / 0
Добавление записи в таблицу
    #33146985
Иван Махно
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
* Добавление:
m.ID_DRUG = NewIdDrug(...) && твоя функция геренации нового ID
m.NameDrug = < наименование лекарства>
m.KOL = 100.00

SELECT cnt(t1.NameDrug) FROM TDRUG t1 WHERE;
t1.NameDrug In (Select t2.NameDrug FROM TDRUG t2 ) INTO ARRAY a_CNT
group BY NameDrug

IF _tally > 0
UPDATE TDRUG SET KOL = KOL+ a_CNT(1) WHERE NameDrug = m.NameDrug
ELSE
INSERT INTO TDRUG VALUES (m.ID_DRUG , m.NameDrug, m.KOL)
endif

Пойдет так ?
...
Рейтинг: 0 / 0
Добавление записи в таблицу
    #33147000
Иван Махно
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
CREATE TABLE TDRUG (ID_DRUG N(10), NameDrugc(30), KOL N(10,2)) && Это как частный случай твоей задачи ,пример решения которой приведено выше.
...
Рейтинг: 0 / 0
Добавление записи в таблицу
    #33147002
Денг
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Значит вот как мне нужно:
У меня две таблицы tovar(id_склада,id_товара,название,количество,цена) вторая таблица
Чек(номер_склада,номер_товара,название,количество,цена)

Я продаю товары, выбираю определенный товар из таблицы tovar, ввожу нужное мне количество товара,
нажимаю кнопку продать и этот выбранный товар переносится в таблицу Чек и вот проблема то в том, что
когда я например снова этот же товар выбираю из таблицы tovar
он заносится как 2я уже запись в таблицу чек, а мне нужно чтоб, если в таблице Чек, уже есть товар с таким названием
то он к этому товару просто добавляет количество которое я указал вот, а если нет такого названия товара, то он тогда добавляет как новую запись.
Вот код который переводит из таблицы tovar в таблицу ЧЕК указанный мной товар:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
 
SELECT Чек
IF tovar.kolv<= 0  then
messagebox("Извините, но этой продукции на складе нет", 0 + 32 + 256 ) 
thisform.Release
ELSE
append blank
replace название_аптеки WITH Аптеки.название
replace номер_склада WITH tovar.id_c;
номер_товара WITH tovar.id_tov;
товар WITH tovar.tovar;
количество WITH tovar.kolv;
цена WITH tovar.price
thisform.pageframe1.page2.grid1.column5.text1.value=thisform.pageframe1.page1.text2.Value
thisform.pageframe1.page2.grid1.column7.text1.value=(Чек.Цена*Чек.количество)
thisform.pageframe1.page1.grid1.column3.text1.value=(tovar.kolv-Чек.количество)
thisform.pageframe1.page2.setfocus
thisform.pageframe1.page2.grid1.setfocus
thisform.Refresh
ENDIF
...
Рейтинг: 0 / 0
Добавление записи в таблицу
    #33147006
Иван Махно
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Стоп- стоп
вторая таблица Чек (номер склада...
Может ID склада ? тот который ---> tovar.id_склада ?
...
Рейтинг: 0 / 0
Добавление записи в таблицу
    #33147011
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У Вас не совсем правильный подход к организации всего процесса. В принципе, не должно быть ничего страшного, если один и тот же артикул введут несколько раз в одном чеке. Ну и что? Запись в базу данных будет происходить все равно по одной записи за раз.

Кроме того, представь, как эту ситуацию воспримет кассир: Он ввел товар, а эта строка внезапно пропала! И попробуй докажи, что она просто сложилась с предыдущей строкой! А если таких строк несколько десятков?

Однако если это все-таки необходимо, то надо просто чуть-чуть изменить логику создания новой записи.

Имеем список записей одного чека

Добавление новой записи в этот же чек начинается с вызова справочника артикулов (товара)

После выбора артикула (товара) делаем поиск по уже введенным записям в чеке. Если такой товар есть, то просто устанавливаем указатель записи на этот товар и кассир дополняет количество. Если такого товара нет, то создаем новую запись

Изменять выбранный товар в чеке нельзя. Только удалить строку и создать заново с новым товаром.

Если ты все-таки хочешь работать по выбранной тобой схеме (с исчезновением введенной записи), то посмотри в сторону буферизации. Можно отменить ввод одной (конкретной) записи в буфере таблицы
...
Рейтинг: 0 / 0
Добавление записи в таблицу
    #33147026
Денг
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Иван МахноСтоп- стоп
вторая таблица Чек (номер склада...
Может ID склада ? тот который ---> tovar.id_склада ?
нет там именно номер_склада
...
Рейтинг: 0 / 0
Добавление записи в таблицу
    #33147027
Денг
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Впринципе да поробуй ка докажи этому кассиру.А вот идея авторИмеем список записей одного чека

Добавление новой записи в этот же чек начинается с вызова справочника артикулов (товара)

После выбора артикула (товара) делаем поиск по уже введенным записям в чеке. Если такой товар есть, то просто устанавливаем указатель записи на этот товар и кассир дополняет количество. Если такого товара нет, то создаем новую запись

Изменять выбранный товар в чеке нельзя. Только удалить строку и создать заново с новым товаром.

Мне понравилась, только как мне релиазовать это условие подскажите,
если не сложно!
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Добавление записи в таблицу
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]