|
Как правильно написать код
|
|||
---|---|---|---|
#18+
Доброго вечера, форумчане Есть форма. На ней свободные контролы. Кнопка должна обрабатывать данные из контролов и запускать запрос на обновление. Но на строчке начинающейся с FROM код не работает. Строка выделена красным. FAQ смотрел. Но не нашел объяснения. В чем может быть причина? s = "INSERT INTO tblGoodsAllocation ( Код, ОЗМ, Количество, ЕдИзм, АдресЯчейки, АдресСклада, Завод ) SELECT tblGoodsAllocation.Код, tblGoodsAllocation.ОЗМ, tblGoodsAllocation.Количество, tblGoodsAllocation.ЕдИзм, tblGoodsAllocation.АдресЯчейки, tblGoodsAllocation.АдресСклада, tblGoodsAllocation.Завод" FROM tblGoodsAllocation WHERE (((tblGoodsAllocation.Код)=a) AND ((tblGoodsAllocation.ОЗМ)=b) AND ((tblGoodsAllocation.Количество)=c) AND ((tblGoodsAllocation.ЕдИзм)=d) AND ((tblGoodsAllocation.АдресЯчейки)=g) AND ((tblGoodsAllocation.АдресСклада)=f) AND ((tblGoodsAllocation.Завод)=e))"; ... |
|||
:
Нравится:
Не нравится:
|
|||
08.09.2014, 21:08 |
|
Как правильно написать код
|
|||
---|---|---|---|
#18+
Потому что (внезапно!))) перед FROM текстовая строка заканчивается (кавычка закрывается) А оператора FROM в VB как бэ нет ... |
|||
:
Нравится:
Не нравится:
|
|||
08.09.2014, 21:24 |
|
Как правильно написать код
|
|||
---|---|---|---|
#18+
Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8.
... |
|||
:
Нравится:
Не нравится:
|
|||
08.09.2014, 21:26 |
|
Как правильно написать код
|
|||
---|---|---|---|
#18+
Shocker.Pro, Сделал как вы написали. Программа ругается. Пишет Run-time error "3075", ошибка синтаксиса (пропущен оператор) в выражении запроса. Забыл написать, запрос я вызываю командой CurrentDb.Execute s ... |
|||
:
Нравится:
Не нравится:
|
|||
08.09.2014, 23:14 |
|
Как правильно написать код
|
|||
---|---|---|---|
#18+
Admiral67, я не особый спец по запросам, но.... Зачем там много скобок? Без них не работает? И что такое все эти загадочные a,b,c,d,e,f? Это не переменные, случаем? Если переменные - то надо знать, что в них - текст или число. Если это и есть критерии для отбора, то букавки, вроде как надо в апострафы заключать: Код: vbnet 1. 2. 3.
... |
|||
:
Нравится:
Не нравится:
|
|||
08.09.2014, 23:36 |
|
Как правильно написать код
|
|||
---|---|---|---|
#18+
Прошу простить за столь нечитабельный вид запроса. Не привык, что строки внутри кода не переносятся...А переделывать сейчас смысла уже не вижу ... |
|||
:
Нравится:
Не нравится:
|
|||
08.09.2014, 23:38 |
|
Как правильно написать код
|
|||
---|---|---|---|
#18+
The_Prist, Да, это переменные. Вы могли бы подсказать как будет выглядеть код если буквы означают переменные. В них текст ... |
|||
:
Нравится:
Не нравится:
|
|||
08.09.2014, 23:41 |
|
Как правильно написать код
|
|||
---|---|---|---|
#18+
Admiral67, Код: vbnet 1.
и так для всех. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.09.2014, 23:49 |
|
Как правильно написать код
|
|||
---|---|---|---|
#18+
The_PristЗачем там много скобок? Без них не работает?это мастер SQL-запросов напихал The_Prist Код: vbnet 1.
и так для всех.не надо так для всех для числовых констант апострофы не нужны и даже очень вредны Код: vbnet 1.
для текстовых констант нужно удваивать апострофы Код: vbnet 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
09.09.2014, 00:11 |
|
Как правильно написать код
|
|||
---|---|---|---|
#18+
The_Prist, К сожалению ошибка осталась. Приложил скрин ошибки ... |
|||
:
Нравится:
Не нравится:
|
|||
09.09.2014, 00:13 |
|
Как правильно написать код
|
|||
---|---|---|---|
#18+
ну так прямо на сообщении же видно, что перед FROM пропущен пробел. вы уж сами тоже включайте голову, ВСЁ за вас на форуме не сделают ... |
|||
:
Нравится:
Не нравится:
|
|||
09.09.2014, 00:15 |
|
Как правильно написать код
|
|||
---|---|---|---|
#18+
Shocker.Proне надо так для всех Shocker.Pro, это понятно. Я акцент на этом в своем сообщении поставил и получил ответ: Admiral67В них текст ... |
|||
:
Нравится:
Не нравится:
|
|||
09.09.2014, 12:23 |
|
Как правильно написать код
|
|||
---|---|---|---|
#18+
вообще же ни одна не нужна ... |
|||
:
Нравится:
Не нравится:
|
|||
09.09.2014, 12:27 |
|
Как правильно написать код
|
|||
---|---|---|---|
#18+
The_PristЯ акцент на этом в своем сообщении поставил и получил ответ:Admiral67В них текств переменных может быть и текст. Но надо быть очень странным человеком, чтобы поле "Количество" в БД сделать текстовым. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.09.2014, 12:53 |
|
Как правильно написать код
|
|||
---|---|---|---|
#18+
Shocker.Pro, ну...это уже не ко мне :-) А судя по скрину - там вообще почти везде числа. В общем, автору видимо надо хоть какую-то литературку по SQL почитать... ... |
|||
:
Нравится:
Не нравится:
|
|||
09.09.2014, 18:05 |
|
Как правильно написать код
|
|||
---|---|---|---|
#18+
приветствую всех. Поле "кол-во" не числовое, так как количественный учет ведется в корпоративной информационной системе. Но в этой системе нет модуля по адресному хранению материалов и денег на доработку конечно никто не даст. Вот и приходится делать базу данных в MS Access, основное назначение которой будет обработка информации какой материал в какой ячейке лежит. А первичные документы как формировались через КИС, так и будут формироваться. То есть точность остатков в базе особой роли не играет. Вы правы, в выражениях SQL я полный ноль. Поэтому прошу помощи у форума. То, что форум не сделает всё за меня - это понятно :) Вот какой сейчас код. Но ошибка "неправильный синтаксис" осталась. В чем может быть причина? Если кто скинет ссылку на литературу - конечно почитаю. S = "INSERT INTO tblGoodsAllocation Код, ОЗМ, Количество, НомерПаллеты, АдресЯчейки, АдресСклада, Станция + _ "SELECT tblGoodsAllocation.Код, tblGoodsAllocation.ОЗМ, tblGoodsAllocation.Количество " + _ "tblGoodsAllocation.НомерПаллеты, tblGoodsAllocation.АдресЯчейки, tblGoodsAllocation.АдресСклада, tblGoodsAllocation.Станция" + _ "FROM tblGoodsAllocation WHERE tblGoodsAllocation.Код= " & Str(a) & " AND tblGoodsAllocation.ОЗМ= " & Str(b) & " AND" + _ "tblGoodsAllocation.Количество= " & Str(c) & " AND tblGoodsAllocation.НомерПаллеты= '" & Replace(d, "'", "''") & "' AND" + _ "tblGoodsAllocation.АдресЯчейки= '" & Replace(g, "'", "''") & "' AND tblGoodsAllocation.АдресСклада= '" & Replace(f, "'", "''") & "' AND" + _ "tblGoodsAllocation.Станция= '" & Replace(f, "'", "''") & "'"" ... |
|||
:
Нравится:
Не нравится:
|
|||
10.09.2014, 11:09 |
|
Как правильно написать код
|
|||
---|---|---|---|
#18+
Admiral67В чем может быть причина?В первой строке кавычка не закрыта Admiral67Если кто скинет ссылку на литературу - конечно почитаюа если не кинет - не почитаешь? любой учебник по SQL для начинающих подойдет, первые несколько глав Но, сюдя по всему, явно нужен нужен еще учебник по VB ... |
|||
:
Нравится:
Не нравится:
|
|||
10.09.2014, 11:19 |
|
Как правильно написать код
|
|||
---|---|---|---|
#18+
Admiral67Поле "кол-во" не числовое, так как количественный учет ведется в корпоративной информационной системе.апельсины оранжевые так как пингвины живут на южном полюсе. почему в аксессовской базе поле "количество" не должно быть числовым? в вашей КИС количество прописью пишут? ... |
|||
:
Нравится:
Не нравится:
|
|||
10.09.2014, 11:21 |
|
Как правильно написать код
|
|||
---|---|---|---|
#18+
друзья вы бы лучше помогли, вместо того чтобы шутить. Вроде форум для этого создан, а не чтобы свое самолюбие тешить. Исправил код. Он заработал. Публикую - вдруг кому понадобится. DoCmd.SetWarnings (0) SQL = "INSERT INTO tblGoodsAllocation (Код, ОЗМ, Количество, НомерПаллеты, АдресЯчейки, АдресСклада, Станция)" & _ "values (Forms![frmGoodsAllocationAdd]![Код], Forms![frmGoodsAllocationAdd]![ОЗМ], Forms![frmGoodsAllocationAdd]![Количество], Forms![frmGoodsAllocationAdd]![НомерПаллеты], Forms![frmGoodsAllocationAdd]![АдресЯчейки],Forms![frmGoodsAllocationAdd]![АдресСклада], Forms![frmGoodsAllocationAdd]![Станция]) ;" DoCmd.RunSQL SQL ... |
|||
:
Нравится:
Не нравится:
|
|||
11.09.2014, 00:28 |
|
Как правильно написать код
|
|||
---|---|---|---|
#18+
Admiral67друзья вы бы лучше помогли, вместо того чтобы шутитья не вижу в топике ни одной шутки. В то же время, если вы не видите в топике помощи, то помочь вам в принципе проблематично. Admiral67Исправил код. Он заработал.Что интересно, исправленный код делает абсолютно другую вещь. И как же мы могли догадаться, что вам нужно именно это? Ваши синтаксические ошибки мы исправили, а вот придумать за вас ТЗ, не имея никаких исходных данных мы не в состоянии - увы. Даже что вы работаете в Access-е стало понятно только сейчас, для вопросов по аксессу есть другой подфорум, рекомендую на будущее обращаться туда. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.09.2014, 12:03 |
|
Как правильно написать код
|
|||
---|---|---|---|
#18+
Admiral67друзья вы бы лучше помогли, вместо того чтобы шутить. Вроде форум для этого создан, а не чтобы свое самолюбие тешить. Исправил код. Он заработал. Публикую - вдруг кому понадобится. DoCmd.SetWarnings (0) SQL = "INSERT INTO tblGoodsAllocation (Код, ОЗМ, Количество, НомерПаллеты, АдресЯчейки, АдресСклада, Станция)" & _ "values (Forms![frmGoodsAllocationAdd]![Код], Forms![frmGoodsAllocationAdd]![ОЗМ], Forms![frmGoodsAllocationAdd]![Количество], Forms![frmGoodsAllocationAdd]![НомерПаллеты], Forms![frmGoodsAllocationAdd]![АдресЯчейки],Forms![frmGoodsAllocationAdd]![АдресСклада], Forms![frmGoodsAllocationAdd]![Станция]) ;" DoCmd.RunSQL SQL это беда всех российских форумов. обращающийся за помощью автоматом является потехой для завсегдатых. завсегдатые или так называемые гуру сначала поиздеваются втопчут в грязь потешат свое самолюбие и между делом помогут намеками (иногда случается и прямо помогут) как решить проблему. это все гаденькая натура человека который понимает что раз ты сюда обратился то деваться тебе некуда. и это ваша плата за помощь. не обращайте на это внимания и все. будьте выше этого. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.09.2014, 13:15 |
|
Как правильно написать код
|
|||
---|---|---|---|
#18+
Shocker.ProAdmiral67друзья вы бы лучше помогли, вместо того чтобы шутить может у меня юмор какой не такой но разве здесь нет шутки? Shocker.ProПотому что (внезапно!))) перед FROM текстовая строка заканчивается (кавычка закрывается) А оператора FROM в VB как бэ нет кстати вы же меня прилюдно носом в мой русский и каверканья тыкали господин модератор топика а сами что-то неважнецкий пример поадете. далее это более чем просто безобидная шутка. вы же поддеваете автора тыкая его в его незнание. он и без того знаеет что не знает поэтому и обратился сюда. хороша помощь - оскорбить и помочь. что скажете не тешите самолюбие? что здесь тоже шутки нет? Shocker.Proа если не кинет - не почитаешь? или здесь? Antonariyапельсины оранжевые так как пингвины живут на южном полюсе. да к предыдущему моему сообщению. наблюдается еще одна картина. когда отвечающие меряются глубиной знаний чтобы показать у коже глубина длиньше. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.09.2014, 13:19 |
|
Как правильно написать код
|
|||
---|---|---|---|
#18+
капитанская дочка автоматом является потехой для завсегдатых между делом помогут намеками (иногда случается и прямо помогут) Дам совет: не надо мешать всех в одну кучу. Если взять, например, Shocker.Pro и посмотреть процент сколько он помог и сколько "пошутил-потоптал" - скорее всего "пошутил-потоптал" будет практически незаметным на фоне более полезных сообщений. Да Вы и сами это знаете. Я сам завсегдатай не одного форума - и принял Ваши высказывания как обращенные и ко мне лично тоже. Так что прошу аргументировать все свои слова в отношении завсегдатаев форумов. Притом, как я посмотрю, Вы на всех побывали, раз так уверенно пишите. Тогда уж прям со ссылками на каждого :-) ... |
|||
:
Нравится:
Не нравится:
|
|||
11.09.2014, 14:02 |
|
Как правильно написать код
|
|||
---|---|---|---|
#18+
The_Pristкапитанская дочка автоматом является потехой для завсегдатых между делом помогут намеками (иногда случается и прямо помогут) Дам совет: не надо мешать всех в одну кучу. Если взять, например, Shocker.Pro и посмотреть процент сколько он помог и сколько "пошутил-потоптал" - скорее всего "пошутил-потоптал" будет практически незаметным на фоне более полезных сообщений. Да Вы и сами это знаете. Я сам завсегдатай не одного форума - и принял Ваши высказывания как обращенные и ко мне лично тоже. Так что прошу аргументировать все свои слова в отношении завсегдатаев форумов. Притом, как я посмотрю, Вы на всех побывали, раз так уверенно пишите. Тогда уж прям со ссылками на каждого :-) как я и ожидал. не надо ваши огрехи переваливать теперь на меня или как бы то ни было со мной связывать. и оправдваться тоже не надо. и советы приберегите для тех кто в них нуждается. и себе хотя бы не врите. и разводить демагогию я не собираюсь вы и сами это знаете. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.09.2014, 14:11 |
|
|
start [/forum/topic.php?fid=60&msg=38744230&tid=2156213]: |
0ms |
get settings: |
8ms |
get forum list: |
12ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
136ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
50ms |
get tp. blocked users: |
1ms |
others: | 15ms |
total: | 243ms |
0 / 0 |