|
#16
|
|||
|
|||
Разобрался! вроде всё работает!
спасибо Последний раз редактировалось JcN, 07.05.2009 в 18:36. |
#17
|
|||
|
|||
Возник вот какой вопрос
Сейчас работаю над формой для добавления сотрудника Сделал запрос на выборку из табл Adres,Tel,Dolgnost,FIO,Sotrud Вопрос следующий Я хочу добавить adres для sotrud. Но ведь я не смогу всё это селать одним запросом insert (т.к. запрос может работать только с одной таблице) и получается чтобы добавить adres мне сначала надо добавить самого sotrud и только потом добавить adres (ссылаясь на LinkSAkey) Значит мне надо сделать два отдельных запроса на добавление? |
#18
|
||||
|
||||
Конечно. Обычно для таких однотипных операций делают запросы с параметрами или хранимки пишут.
Жизнь такова какова она есть и больше никакова. Помогаю за спасибо. |
#19
|
|||
|
|||
хранимки? поподробней можно
|
#20
|
|||
|
|||
Пока в голову пришло вот что
поместить на форму Edit1... в которую будет тобавляться Skey сотрудника после выполнения запроса на добавления этого сотрудника. потом значение в Edit1 используем как параметр для LinkSAkey и соответвенно добавляем |
#21
|
||||
|
||||
Хранимые процедуры реализованы на большинстве SQL-серверов. Хранимки могут быть, как очень простые, возвращающие какой-то набор данных и в этом случае они ничем не отличаются от обычного запроса, а могут быть и очень сложными с сотнями запросов разного типа.
К сожалению в локальной версии Акцеса этого счастья, нет. Но вот если это ADP-проект который подключается к MSSQL то тогда все это удовольствие вполне доступно. Жизнь такова какова она есть и больше никакова. Помогаю за спасибо. |
#22
|
|||
|
|||
При удалении надо чтобы в акцессе стояла галочка на парметре «Каскадное удаление связанных записей» и тогда проблем с удалением не будет.
для обновления всё просто....ссылаешься на запись в главной табл, которую редактируешь (например используешь от основной таблицы DBEdit в качестве парметра) поправьте если что не так |
#23
|
|||
|
|||
У меня проблема со схемой появилась
Postavshik Sotrud Adres в получается что в таблицу Adres надо вводить №Сотрудника и №поставщика). но ведь такого не может быть чтобы один адрес у них был и при этом ввести № только сотрудника или только поставщика я не могу это я исправил)) Последний раз редактировалось JcN, 08.05.2009 в 02:58. |
#24
|
||||
|
||||
В общем-то правильно, но вот с каскадным удалением вам надо поэкспериментировать т.к. иногда оно работает не так как вы ожидали. Да и использовать его надо, только если уверен в том что делаешь, а то почистите константные справочники до кучи.
Цитата:
Жизнь такова какова она есть и больше никакова. Помогаю за спасибо. |
#25
|
|||
|
|||
например вот так)
но в итоговом вариатне я решил, что у сотрудника или поставщика будет только один адрес. как вот в этоом варианте http://www.delphisources.ru/forum/at...5&d=1241541037 |
#26
|
|||
|
|||
Не могу ссобразить
добавляю адрес.... хочу чтобы в Edit выводил значения ключ поля Adres может организовать чтобы в Edit выводилось занчения последней добавленной записи? как это реализовать? |
#27
|
||||
|
||||
Поскольку последяняя запись имеет максимальное значение ключа IDAdress то можно просто выполнить запрос на получение этого ключа:
Код:
select Max(IDAdress) from Adres Жизнь такова какова она есть и больше никакова. Помогаю за спасибо. |
#28
|
|||
|
|||
всё гениально и просто!=)
Спасибо |
#29
|
|||
|
|||
Добрый вечер!
Возникла вот какая проблема Если посмтрите на схему Мне надо осуществить возврат товара.... (Vozvr) И возвращнный товар должен влият на количество товара на складе. а точней Если арт. товара и поле брак совпадают, то к данной записи (Склад) прибавляем кол-во товара (из Возврат) Update Sklad ??????? set Skad.kol=Skad.kol+Vozvr.kl Where Vozvr.IDVozv=X подскажите что вмест "?" должно быть Пока додумался только до, того чтобы изменить табл. Vozvr на Vozvr(IDvozv, LinkTov (свзян с IDTov(табл.Tovar)),LinkKlient, Data, Prichina,kl) и тогда апдейт сделать проще будет подскажите возможные варианты) спасибо |
#30
|
||||
|
||||
Приветствую.
Сначала не по теме вопроса. Приведите все поля в таблицах к одному виду, а то у вас окрошка получается. поставка - Kolvo, покупка - Kolvo1, склад - kol, возврат - kl склад - Brack, возврат - Brak. Если вы это намеренно сделали, что-бы облегчить написание запросов, то это сомнительное удобство - читабельность ухудшается. Несмотря на некую громоздкость запись вида: Код:
select Vozvr.Kolvo,Sklad.Kolvo from Vozvr,Sklad; Код:
select Kolvo,Kol from Vozvr,Sklad; Теперь по вашему вопросу: У меня вызывет сомнения верность связи SodergPokup->Vozvr. Как я понимаю есть покупка (Телевизор,Утюг,Памперсы) И есть возврат бракованых Памперсов. Следовательно прослеживается связь один к одному по двум ключам Покупка,Товар, а не Покупка, а поля Товар вообще нет в возврате, и потому у вас неполучается запрос, т.к. непонятно какой Товар в покупке бракованый. Жизнь такова какова она есть и больше никакова. Помогаю за спасибо. |