|
|
|
Запрос на обновление/добавление
|
|||
|---|---|---|---|
|
#18+
Проблема вот в чем: существуют 2 запроса. Их нужно объединить так, чтобы в объединенный запрос входили ВСЕ записи из первого и из второго (часть записей во 2 запросе уникальны и по ключу не совпадут с первым). Что можно сделать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.08.2004, 12:04:27 |
|
||
|
Запрос на обновление/добавление
|
|||
|---|---|---|---|
|
#18+
UNION SELECT ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.08.2004, 12:05:21 |
|
||
|
Запрос на обновление/добавление
|
|||
|---|---|---|---|
|
#18+
Татьяна Валерьевначасть записей во 2 запросе уникальны и по ключу не совпадут с первым Стало быть другая часть совпадет, а потому Union All ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.08.2004, 12:34:36 |
|
||
|
Запрос на обновление/добавление
|
|||
|---|---|---|---|
|
#18+
Татьяна Валерьевначасть записей во 2 запросе уникальны и по ключу не совпадут с первымВот это совершенно неважно. Только, упаси Г-сподь, не трогайте запросы на обновление и добавление - что-то мне подсказывает, что в этом случае вашим данным очень скоро придёт каюк... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.08.2004, 13:24:12 |
|
||
|
Запрос на обновление/добавление
|
|||
|---|---|---|---|
|
#18+
Непонятно как записи должны быть объединены - вертикально или горизонтально. Быть может не Union/Union All требуется, а Join/Left Join/Right Join/Full Outer Join ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.08.2004, 13:31:17 |
|
||
|
Запрос на обновление/добавление
|
|||
|---|---|---|---|
|
#18+
Лох ПозорныйНепонятно как записи должны быть объединены - вертикально или горизонтально. Быть может не Union/Union All требуется, а Join/Left Join/Right Join/Full Outer JoinНу, этого мы, полагаю, уже никогда не узнаем. Татьяна Валерьевна зарегистрировалась, задала вопрос и забыла про sql.ru как про страшный сон, оставив нам тему для флуда %) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.08.2004, 13:38:51 |
|
||
|
Запрос на обновление/добавление
|
|||
|---|---|---|---|
|
#18+
Видать убила все-таки... :( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.08.2004, 21:30:43 |
|
||
|
Запрос на обновление/добавление
|
|||
|---|---|---|---|
|
#18+
Нет уважаемые, это запросы меня добили. Вчера убила полдня на то, чтобы написать этот "шедевр" Public Sub бал() Dim баланс_металла As Recordset, остаток_вх As Recordset, s As String Set баланс_металла = CurrentDb.OpenRecordset("баланс_металла", dbOpenDynaset) Set остаток_вх = CurrentDb.OpenRecordset("остаток_вх") остаток_вх.MoveFirst Do While Not остаток_вх.EOF s = "[номном]=" & str(остаток_вх![номном]) баланс_металла.FindFirst (s) If баланс_металла.NoMatch = False Then баланс_металла.Edit баланс_металла![наименование] = остаток_вх![наименование] баланс_металла.Update Else баланс_металла.MoveLast баланс_металла![номном] = остаток_вх![номном] баланс_металла![наименование] = остаток_вх![наименование] баланс_металла.Update End If остаток_вх.MoveNext Loop баланс_металла.Close остаток_вх.Close End Sub НО ОН, ЗАРАЗА, НЕ РАБОТАЕТ!!!! Конкретно ругается на ф-ию FindFirst ПОМОГИТЕ ЧЕМ МОЖЕТЕ!!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.08.2004, 08:02:59 |
|
||
|
Запрос на обновление/добавление
|
|||
|---|---|---|---|
|
#18+
Опа. FindFirst в цикле :( Нет внутри цикла надо делать FindNext И, ваще, эти функции тормознутые Я в таких случаях сразу делаю нужную выборку (т.е. добавляю к запросу WHERE) - Советую!!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.08.2004, 09:08:21 |
|
||
|
Запрос на обновление/добавление
|
|||
|---|---|---|---|
|
#18+
Хотя нет - наврал Плохо цикл прочитал :( Но все равно как-то мне это не нравиться Предположу 1. По else (ИМХО) надо делать не MoveLast, а AddNew 2. Может это можно одним запросом сделать? Код: plaintext 1. 2. 3. 4. 5. 6. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.08.2004, 09:16:51 |
|
||
|
Запрос на обновление/добавление
|
|||
|---|---|---|---|
|
#18+
Как писали выше, нужно сделать вот так: Select остаток_вх.номном, остаток_вх.наименование from остаток_вх Union select баланс_металла.номном, баланс_металла.наименование from баланс_металла ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.08.2004, 09:54:06 |
|
||
|
Запрос на обновление/добавление
|
|||
|---|---|---|---|
|
#18+
AmelКак писали выше, нужно сделать вот так: Select остаток_вх.номном, остаток_вх.наименование from остаток_вх Union select баланс_металла.номном, баланс_металла.наименование from баланс_металла ИМХО - не в тему И как это прикрутить к тому что девушке надо? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.08.2004, 11:16:40 |
|
||
|
Запрос на обновление/добавление
|
|||
|---|---|---|---|
|
#18+
Вместо Код: plaintext Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.08.2004, 11:21:34 |
|
||
|
Запрос на обновление/добавление
|
|||
|---|---|---|---|
|
#18+
В условии Else попытка сделать Update рекордсета без AddNew или Edit ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.08.2004, 11:23:31 |
|
||
|
Запрос на обновление/добавление
|
|||
|---|---|---|---|
|
#18+
И наконец не ясно почему это делается через рекордсеты, а не через запрос. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.08.2004, 11:25:02 |
|
||
|
Запрос на обновление/добавление
|
|||
|---|---|---|---|
|
#18+
Уважаемый Vsevolod, - FindFirst (s) работает так же как и FindFirst s - т.е. не работает! А зачем мне нужен цикл - по старой привычке, чтоб наверняка. Предыдущие советы тоже не помогли. Может что-то с самого начала не так. Еще версии есть, или уже не ждать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.08.2004, 12:33:41 |
|
||
|
Запрос на обновление/добавление
|
|||
|---|---|---|---|
|
#18+
авторКонкретно ругается на ф-ию FindFirst А как КОНКРЕТНО он ругается? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.08.2004, 12:59:39 |
|
||
|
Запрос на обновление/добавление
|
|||
|---|---|---|---|
|
#18+
Мадам, вы начали с какого-то непонятного вопроса по SQL-запросу, так и не объяснили что же вам в итоге надо, незаметно перескочили на совершенно не связанный с запросом VBA-код с какой-то ошибкой, так и не объяснили что же за ошибка, и теперь спрашиваете - ждать ли еще версий??? Ну ждите... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.08.2004, 13:04:29 |
|
||
|
Запрос на обновление/добавление
|
|||
|---|---|---|---|
|
#18+
paparome:)) >существуют 2 запроса. Их нужно объединить так, чтобы в объединенный >запрос входили ВСЕ записи из первого и из второго (часть записей во 2 >запросе уникальны и по ключу не совпадут с первым). Уважаемый paparome! То ли я читать разучился, то ли вопрос сформулирован по тупому!? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.08.2004, 13:08:13 |
|
||
|
Запрос на обновление/добавление
|
|||
|---|---|---|---|
|
#18+
Уточняю (хотя кому это интересно?): Есть 4 таблицы. Данные из них переписываются в общую по принципу - если есть запись с таким №(номном), заполняется определенное поле, если нет записи - она добавляется и опять таки заполняются поля. Поля во всех таблицах разные, в общей таблице есть они все. Цикл вроде бы простой, но сделать это в ACCESSe я уже отчаялась! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.08.2004, 13:10:52 |
|
||
|
Запрос на обновление/добавление
|
|||
|---|---|---|---|
|
#18+
SRG авторКонкретно ругается на ф-ию FindFirst А как КОНКРЕТНО он ругается? Method or data member not found ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.08.2004, 13:16:28 |
|
||
|
Запрос на обновление/добавление
|
|||
|---|---|---|---|
|
#18+
По моему тут уже писали выше все можно сделать одним запросом left join + insert table методом execute: выбираешь все записи, которых нет left join и вставляешь в нужную табл. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.08.2004, 13:16:48 |
|
||
|
Запрос на обновление/добавление
|
|||
|---|---|---|---|
|
#18+
А как у вас обстоят дела с сылками на библиотеки? Нет ли потерянных? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.08.2004, 13:18:40 |
|
||
|
Запрос на обновление/добавление
|
|||
|---|---|---|---|
|
#18+
это можно сделать двумя запросами или одним циклом, в котором только edit-update. сделайте один рекордсет, представляющий собой Левое соединение "остаток_вх" с "баланс_металла" по "[номном]" , редактируйте поля, соответствующие "баланс_металла" не помню - в параметрах запроса может потребоваться dbInconsistent (с выражением лица) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.08.2004, 13:20:14 |
|
||
|
|

start [/forum/topic.php?fid=45&msg=32658882&tid=1672300]: |
0ms |
get settings: |
6ms |
get forum list: |
10ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
40ms |
get topic data: |
5ms |
get forum data: |
2ms |
get page messages: |
36ms |
get tp. blocked users: |
1ms |
| others: | 231ms |
| total: | 335ms |

| 0 / 0 |
