Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2008.07.27;
Скачать: [xml.tar.bz2];

Вниз

Записи в таблице   Найти похожие ветки 

 
Муслик   (2008-06-27 13:48) [0]

Помогите разобратся с проблемой.
Есть три таблицы.

С первой таблицы я по двойному клику добавляю во вторую позиции и количество(позиции все разные) после того как всё сделано мне нужно в третью добавить данные из второй(это без проблем)
Проблема:
после я таблицу очищаю и заполняю новую, как мне добавить кол-во товара к существующему товару если товар из второй таблицы равен третьей, если товара не существует в третьей таблице добавить новый


 
Sergey13 ©   (2008-06-27 13:53) [1]

> [0] Муслик   (27.06.08 13:48)
> Помогите разобратся с проблемой.

Это уголовное дело. 8-)


 
clickmaker ©   (2008-06-27 13:54) [2]

if Table3.Locate("TovarID", TovarID, []) then
 увеличить количество
else
 добавить товар


 
Муслик   (2008-06-27 14:10) [3]

а если товар уже есть там


 
Palladin ©   (2008-06-27 14:50) [4]

тогда увеличить количество

тебе с lewka-serdceed надо скооперироваться, вы с ним вдвоем горы свернете...


 
Муслик   (2008-06-27 15:02) [5]

почесу не срабатывает

if form6.Table1.Locate("Naimen", "Naimen", [loPartialKey]) then
    showmessage("Существует");


 
Поросенок Винни-Пух ©   (2008-06-27 15:06) [6]

срабатывает


 
Поросенок Винни-Пух ©   (2008-06-27 15:08) [7]

шоумессаджа не видишь?

это потому что локейт срабатывает как надо.


 
Муслик   (2008-06-27 15:32) [8]

но если я добавляю другое наименование которое не существует он всё равно не срабатывает


 
Поросенок Винни-Пух ©   (2008-06-27 15:34) [9]

ты хочешь чтобы локейт всегда возвращал true вне зависимости от того, найдена запись или нет?


 
Поросенок Винни-Пух ©   (2008-06-27 15:35) [10]

if True or form6.Table1.Locate("Naimen", "Naimen", [loPartialKey]) then
   showmessage("Существует");


 
Игорь Шевченко ©   (2008-06-27 16:36) [11]

Поросенок Винни-Пух ©   (27.06.08 15:35) [10]

locate можно смело убрать


 
Поросенок Винни-Пух ©   (2008-06-27 16:38) [12]

if form6.Table1.Locate("Naimen", "Naimen", [loPartialKey]) or True then
  showmessage("Существует");

Вдруг по честному найдет
:)


 
Муслик   (2008-06-30 10:34) [13]

в последнем случае теперь прилюбом раскладе возвращает истину, даже если нет там такой позиции:(


 
Поросенок Винни-Пух ©   (2008-06-30 10:37) [14]

А ты не этого хотел?


 
Муслик   (2008-06-30 10:38) [15]

Ye Ну впринципе мне нужно добится того что если товар в списке уже есть то брибавить только количество а если нет прибавить и товар и количество


 
Поросенок Винни-Пух ©   (2008-06-30 10:39) [16]

почесу не срабатывает

if form6.Table1.Locate("Naimen", "Naimen", [loPartialKey]) then
   showmessage("Существует");


Потому что локейт ничего не нашел.


 
Муслик   (2008-06-30 10:43) [17]

Та колучается

if form6.Table1.Locate("Naimen", "Naimen", [loPartialKey]) or True then
 showmessage("Не существует");    end;


Хотя я добавляю товар который там уже есть но всё равно пишет


 
Поросенок Винни-Пух ©   (2008-06-30 10:47) [18]

Если ты силой мысли определяешь, что запись там точно есть, то ты локейт зачем используешь?
Если же те программист, то используй локейт, но только верь тому что он возвращает.
Если же ты маг и волшебник то тебе локейт не нужен.


 
Муслик   (2008-06-30 10:52) [19]

не ну полчается я локейтом проверку то делаю, и почему он мне возвращает что нет записи а она то есть


 
Поросенок Винни-Пух ©   (2008-06-30 10:55) [20]

Ну о чем я и говорю.
Зачем тебе тупой и неправильный локейт, если ты сам наперед знаешь, что запись там точно есть?


 
Муслик   (2008-06-30 10:56) [21]

проблема в том:
к примеру там 3 наименования товара как мне к определённому товару добавить количество а не ко всему вот что яф не могу разобратся вот и использую локейт


 
Поросенок Винни-Пух ©   (2008-06-30 10:57) [22]

В той таблице есть запись, содержащая в поле "Naimen" значение "Naimen"?

Ты вне зависимости от того, что там было добавлено ранее всегда ищешь строку "Naimen" ???

Голова!


 
Муслик   (2008-06-30 11:00) [23]

я предпологаю что так надо?
if form6.Table1.Locate("Naimen", table1.Fields.Fields[1].Value, [loPartialKey]) or True then
 showmessage("Не Существует");    end;


 
Поросенок Винни-Пух ©   (2008-06-30 11:02) [24]

я предпологаю что так надо?

Надо верить локейту, если используешь локейт.
Вот это точно надо.


 
Dennis I. Komarov ©   (2008-06-30 11:11) [25]

Пора орешник возраждать... Соскучился я по падающим шарам :)


 
Поросенок Винни-Пух ©   (2008-06-30 11:11) [26]

if form6.Table1.Locate("Naimen", table1.Fields.Fields[1].Value, [loPartialKey]) then
showmessage("Не Существует");  
else
with form6.Table1 do
 begin
  ShowMessage("Нету там такой записи");
  First;
  while not eof do
   begin
    ShowMessage("Ищу это:" + table1.Fields.Fields[1].Value + #13#10 + "а там это :" + FieldByName("Naimen").AsString)
    Next;
   end;
 end;


 
Dennis I. Komarov ©   (2008-06-30 11:13) [27]

> [26] Поросенок Винни-Пух ©   (30.06.08 11:11)


> showmessage("Не Существует");  

Тут ты погорячился :)


 
Муслик   (2008-06-30 11:17) [28]

Не срабатывает, почему?



 if form6.Table1.Locate("Naimen", table1.Fields.Fields[2].Value, [loPartialKey]) or True then
 begin
   showmessage("Ñóùåñòâóåò");
   form6.Table1.Edit;
   form6.Table1.Append;
   form6.table1.fields.fields[2].value:=table3.fields.fields[2].value;
   form6.Table1.Post;
   end
       else
       form6.Table1.Edit;
   form6.table1.fields.fields[2].value:=table3.fields.fields[2].value;
   form6.table1.fields.fields[3].value:=table3.fields.fields[3].value;

       form6.Table1.post;
   end;


 
Поросенок Винни-Пух ©   (2008-06-30 11:18) [29]

Удалено модератором


 
Муслик   (2008-06-30 11:20) [30]

Удалено модератором


 
Муслик   (2008-06-30 11:21) [31]

Поросенок Винни-Пух ©
Спасибо за пример... вроде бы разобрался


 
Dennis I. Komarov ©   (2008-06-30 11:23) [32]

> [30] Муслик   (30.06.08 11:20)


> в делфи нулёвый не отрицаю

Так за каким тогда тебе таблицы? Ищи букварь...


 
Муслик   (2008-06-30 11:26) [33]

Dennis I. Komarov ©  ну вот потихоньку и учу.

Поросенок Винни-Пух ©
Скажи а почему шаумесадж показывает только слово до пробела полностью строку не показывает тоесть
"кабель силовой" покажет только кабель


 
Муслик   (2008-06-30 11:31) [34]

ой извеняюсь! всё нормально


 
Поросенок Винни-Пух ©   (2008-06-30 11:32) [35]

потому что после пробела в строке ничего нет


 
Dennis I. Komarov ©   (2008-06-30 11:39) [36]

> ну вот потихоньку и учу.

не верю


 
Муслик   (2008-06-30 12:17) [37]

ну почему несрабатывает вотэтот код


  if form6.Table1.Locate("Naimen", table1.Fields.Fields[1].Value, [loPartialKey]) then
  begin
   with form6.Table1 do
     begin
     if form6.Table1.Fields.Fields[3].IsNull then
      exit
      else
      begin
          ShowMessage("Åñòü òàêàÿ çàïèñü");
          edit;
          fields[4].Value:=form1.Table3.Fields.Fields[4].Value;;
          post;
          end;
   end;
   end
   else
         with form6.Table1 do
   begin
          edit;
          append;
          fields[2].Value:=form1.Table3.Fields.Fields[2].Value;
          fields[4].Value:=form1.Table3.Fields.Fields[4].Value;
          post;

    while not eof do
   begin
          ShowMessage("Èùó ýòî:" + form1.table3.Fields.Fields[2].Value + #13#10 + "à òàì ýòî :" + FieldByName("Naimen").AsString);
          Next;
   end;
   end
   end;


 
Dennis I. Komarov ©   (2008-06-30 12:23) [38]

> [37] Муслик   (30.06.08 12:17)

Чем докажешь?


 
Муслик   (2008-06-30 12:24) [39]

впринципе срабатывает но неправильно срабатывает а ошибку найти не могу


 
ЮЮ ©   (2008-06-30 12:25) [40]

поставь брэкпоинт и пройдись по коду с плмощью F8.

И что значит "не спабатывает"? Кот должен работать, а не срабатывать.



Страницы: 1 2 3 вся ветка

Форум: "Начинающим";
Текущий архив: 2008.07.27;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.54 MB
Время: 0.009 c
2-1214307469
uno-84
2008-06-24 15:37
2008.07.27
Ссылка в тексте


6-1187976122
OrdJONY
2007-08-24 21:22
2008.07.27
Свой протокол


15-1212779576
DillerXX
2008-06-06 23:12
2008.07.27
Хорошая капча


8-1183559340
alex30341
2007-07-04 18:29
2008.07.27
Перехват видео


2-1214386167
TUserClass
2008-06-25 13:29
2008.07.27
Использовать DBGrid без БД...





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский