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

Delphi Sources



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

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #16  
Старый 06.05.2009, 14:38
JcN JcN вне форума
Прохожий
 
Регистрация: 27.04.2009
Сообщения: 35
Репутация: 10
По умолчанию

Разобрался! вроде всё работает!
спасибо

Последний раз редактировалось JcN, 07.05.2009 в 18:36.
Ответить с цитированием
  #17  
Старый 08.05.2009, 00:55
JcN JcN вне форума
Прохожий
 
Регистрация: 27.04.2009
Сообщения: 35
Репутация: 10
По умолчанию

Возник вот какой вопрос
Сейчас работаю над формой для добавления сотрудника
Сделал запрос на выборку из табл Adres,Tel,Dolgnost,FIO,Sotrud
Вопрос следующий Я хочу добавить adres для sotrud. Но ведь я не смогу всё это селать одним запросом insert (т.к. запрос может работать только с одной таблице) и получается чтобы добавить adres мне сначала надо добавить самого sotrud и только потом добавить adres (ссылаясь на LinkSAkey)
Значит мне надо сделать два отдельных запроса на добавление?
Ответить с цитированием
  #18  
Старый 08.05.2009, 01:01
Аватар для Страдалецъ
Страдалецъ Страдалецъ вне форума
Гуру
 
Регистрация: 09.03.2009
Адрес: На курорте, из окна вижу теплое Баренцево море. Бррр.
Сообщения: 4,721
Репутация: 52347
По умолчанию

Конечно. Обычно для таких однотипных операций делают запросы с параметрами или хранимки пишут.
__________________
Жизнь такова какова она есть и больше никакова.
Помогаю за спасибо.
Ответить с цитированием
  #19  
Старый 08.05.2009, 01:07
JcN JcN вне форума
Прохожий
 
Регистрация: 27.04.2009
Сообщения: 35
Репутация: 10
По умолчанию

хранимки? поподробней можно
Ответить с цитированием
  #20  
Старый 08.05.2009, 01:36
JcN JcN вне форума
Прохожий
 
Регистрация: 27.04.2009
Сообщения: 35
Репутация: 10
По умолчанию

Пока в голову пришло вот что
поместить на форму Edit1... в которую будет тобавляться Skey сотрудника после выполнения запроса на добавления этого сотрудника.
потом значение в Edit1 используем как параметр для LinkSAkey и соответвенно добавляем
Ответить с цитированием
  #21  
Старый 08.05.2009, 01:45
Аватар для Страдалецъ
Страдалецъ Страдалецъ вне форума
Гуру
 
Регистрация: 09.03.2009
Адрес: На курорте, из окна вижу теплое Баренцево море. Бррр.
Сообщения: 4,721
Репутация: 52347
По умолчанию

Хранимые процедуры реализованы на большинстве SQL-серверов. Хранимки могут быть, как очень простые, возвращающие какой-то набор данных и в этом случае они ничем не отличаются от обычного запроса, а могут быть и очень сложными с сотнями запросов разного типа.
К сожалению в локальной версии Акцеса этого счастья, нет. Но вот если это ADP-проект который подключается к MSSQL то тогда все это удовольствие вполне доступно.
__________________
Жизнь такова какова она есть и больше никакова.
Помогаю за спасибо.
Ответить с цитированием
  #22  
Старый 08.05.2009, 01:56
JcN JcN вне форума
Прохожий
 
Регистрация: 27.04.2009
Сообщения: 35
Репутация: 10
По умолчанию

При удалении надо чтобы в акцессе стояла галочка на парметре «Каскадное удаление связанных записей» и тогда проблем с удалением не будет.
для обновления всё просто....ссылаешься на запись в главной табл, которую редактируешь (например используешь от основной таблицы DBEdit в качестве парметра)
поправьте если что не так
Ответить с цитированием
  #23  
Старый 08.05.2009, 02:17
JcN JcN вне форума
Прохожий
 
Регистрация: 27.04.2009
Сообщения: 35
Репутация: 10
По умолчанию

У меня проблема со схемой появилась
Postavshik
Sotrud
Adres
в получается что в таблицу Adres надо вводить №Сотрудника и №поставщика). но ведь такого не может быть чтобы один адрес у них был
и при этом ввести № только сотрудника или только поставщика я не могу


это я исправил))

Последний раз редактировалось JcN, 08.05.2009 в 02:58.
Ответить с цитированием
  #24  
Старый 08.05.2009, 08:09
Аватар для Страдалецъ
Страдалецъ Страдалецъ вне форума
Гуру
 
Регистрация: 09.03.2009
Адрес: На курорте, из окна вижу теплое Баренцево море. Бррр.
Сообщения: 4,721
Репутация: 52347
По умолчанию

В общем-то правильно, но вот с каскадным удалением вам надо поэкспериментировать т.к. иногда оно работает не так как вы ожидали. Да и использовать его надо, только если уверен в том что делаешь, а то почистите константные справочники до кучи.
Цитата:
У меня проблема со схемой появилась
Postavshik
Sotrud
Adres
в получается что в таблицу Adres надо вводить №Сотрудника и №поставщика). но ведь такого не может быть чтобы один адрес у них был
и при этом ввести № только сотрудника или только поставщика я не могу


это я исправил))
И что в итоге получилось?
__________________
Жизнь такова какова она есть и больше никакова.
Помогаю за спасибо.
Ответить с цитированием
  #25  
Старый 08.05.2009, 11:18
JcN JcN вне форума
Прохожий
 
Регистрация: 27.04.2009
Сообщения: 35
Репутация: 10
По умолчанию

например вот так)
но в итоговом вариатне я решил, что у сотрудника или поставщика будет только один адрес.
как вот в этоом варианте http://www.delphisources.ru/forum/at...5&d=1241541037
Изображения
Тип файла: jpg ЧС.jpg (25.0 Кбайт, 6 просмотров)
Ответить с цитированием
  #26  
Старый 08.05.2009, 13:13
JcN JcN вне форума
Прохожий
 
Регистрация: 27.04.2009
Сообщения: 35
Репутация: 10
По умолчанию

Не могу ссобразить
добавляю адрес.... хочу чтобы в Edit выводил значения ключ поля Adres
может организовать чтобы в Edit выводилось занчения последней добавленной записи? как это реализовать?
Ответить с цитированием
  #27  
Старый 08.05.2009, 13:55
Аватар для Страдалецъ
Страдалецъ Страдалецъ вне форума
Гуру
 
Регистрация: 09.03.2009
Адрес: На курорте, из окна вижу теплое Баренцево море. Бррр.
Сообщения: 4,721
Репутация: 52347
По умолчанию

Поскольку последяняя запись имеет максимальное значение ключа IDAdress то можно просто выполнить запрос на получение этого ключа:
Код:
select Max(IDAdress) from Adres
__________________
Жизнь такова какова она есть и больше никакова.
Помогаю за спасибо.
Ответить с цитированием
  #28  
Старый 08.05.2009, 14:05
JcN JcN вне форума
Прохожий
 
Регистрация: 27.04.2009
Сообщения: 35
Репутация: 10
По умолчанию

всё гениально и просто!=)
Спасибо
Ответить с цитированием
  #29  
Старый 12.05.2009, 00:41
JcN JcN вне форума
Прохожий
 
Регистрация: 27.04.2009
Сообщения: 35
Репутация: 10
По умолчанию

Добрый вечер!
Возникла вот какая проблема
Если посмтрите на схему Мне надо осуществить возврат товара.... (Vozvr)
И возвращнный товар должен влият на количество товара на складе.
а точней Если арт. товара и поле брак совпадают, то к данной записи (Склад) прибавляем кол-во товара (из Возврат)
Update Sklad ???????
set Skad.kol=Skad.kol+Vozvr.kl
Where Vozvr.IDVozv=X
подскажите что вмест "?" должно быть

Пока додумался только до, того чтобы изменить табл. Vozvr на Vozvr(IDvozv, LinkTov (свзян с IDTov(табл.Tovar)),LinkKlient, Data, Prichina,kl)
и тогда апдейт сделать проще будет
подскажите возможные варианты)
спасибо
Изображения
Тип файла: jpg ЧС.jpg (32.7 Кбайт, 4 просмотров)
Ответить с цитированием
  #30  
Старый 12.05.2009, 10:15
Аватар для Страдалецъ
Страдалецъ Страдалецъ вне форума
Гуру
 
Регистрация: 09.03.2009
Адрес: На курорте, из окна вижу теплое Баренцево море. Бррр.
Сообщения: 4,721
Репутация: 52347
По умолчанию

Приветствую.
Сначала не по теме вопроса. Приведите все поля в таблицах к одному виду, а то у вас окрошка получается.
поставка - Kolvo, покупка - Kolvo1, склад - kol, возврат - kl
склад - Brack, возврат - Brak.
Если вы это намеренно сделали, что-бы облегчить написание запросов, то это сомнительное удобство - читабельность ухудшается. Несмотря на некую громоздкость запись вида:
Код:
select Vozvr.Kolvo,Sklad.Kolvo from Vozvr,Sklad;
читается и понимается легче чем ваш текущий вариант:
Код:
select Kolvo,Kol from Vozvr,Sklad;

Теперь по вашему вопросу:
У меня вызывет сомнения верность связи SodergPokup->Vozvr. Как я понимаю есть покупка (Телевизор,Утюг,Памперсы)
И есть возврат бракованых Памперсов. Следовательно прослеживается связь один к одному по двум ключам Покупка,Товар, а не Покупка, а поля Товар вообще нет в возврате, и потому у вас неполучается запрос, т.к. непонятно какой Товар в покупке бракованый.
__________________
Жизнь такова какова она есть и больше никакова.
Помогаю за спасибо.
Ответить с цитированием
Ответ


Delphi Sources

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

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

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

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


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


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

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

ВКонтакте   Facebook   Twitter