powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Запрос на вставку при условии равенства одинаковых полей в 2-х таблицах и форме
26 сообщений из 26, показаны все 2 страниц
Запрос на вставку при условии равенства одинаковых полей в 2-х таблицах и форме
    #32239344
Фотография Vsevolod V
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот собственно говоря то, до чего я дошел собственным умом:

Код: plaintext
1.
2.
3.
4.
5.
INSERT INTO зад_потр ( [Реф №], Дата1, Дата2, [Код счета], Потребитель,
Наименование, Валюта, Приход, Эквивалент1 )
SELECT orders.[Реф №], orders.[Дата начала], orders.[Дата конца], orders.Счет, 
orders.Потребитель, orders.Название, orders.Валюта, '" & Me.Приход & "' AS a, '" & Me.ekv1 & "' AS b
FROM orders, bill
WHERE [Реф №]='" & Me.Реф_№ & "'=[bill].[Реф №];


Ошибка: Ссылка на поле [Реф №] может относиться к полям нескольких таблиц, перечисленных в предложении FROM инструкции SQL.

Если нужно могу описать проблему подробно, но это муторно и зесь вроде не нужно...
...
Рейтинг: 0 / 0
Запрос на вставку при условии равенства одинаковых полей в 2-х таблицах и форме
    #32239352
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Код: plaintext
WHERE orders.[Реф №]='" & Me.Реф_№ & "'=[bill].[Реф №];


или

Код: plaintext
WHERE bill.[Реф №]='" & Me.Реф_№ & "'=[bill].[Реф №];
...
Рейтинг: 0 / 0
Запрос на вставку при условии равенства одинаковых полей в 2-х таблицах и форме
    #32239362
Фотография Vsevolod V
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Меня интересует вот этот вариант
WHERE orders.[Реф №]='" & Me.Реф_№ & "'=[bill].[Реф №];

Теперь ошибка: Несоответствие типа в выражении

Что-то я такого еще не видел :)
...
Рейтинг: 0 / 0
Запрос на вставку при условии равенства одинаковых полей в 2-х таблицах и форме
    #32239375
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
> Что-то я такого еще не видел :)

Есть многое на свете, друг Горацио...

Если я правильно понял, это не сама команда, а кусок VBA, который ее строит. Можно глянуть на саму команду?
...
Рейтинг: 0 / 0
Запрос на вставку при условии равенства одинаковых полей в 2-х таблицах и форме
    #32239386
Фотография Vsevolod V
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Надеюсь поможет :)
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
Private Sub Кнопка30_Click()
Select Case Me.oper
Case  "Приход" 
    Me.Приход = Me.sum
    Me.[Код счета] = Me.list1
    Me.Валюта = Me.cur
    Me.ekv1 = Me.Приход * YR(Me.Валюта) / YR(YeType( 1 )) * YePer( 1 )
    Me.sum =  ""
    sql1 = " INSERT INTO зад_потр ([Реф №], Дата1, Дата2, [Код счета],
Потребитель, Наименование, Валюта, Приход, Эквивалент1) SELECT orders.[Реф №], orders.[Дата начала], 
orders.[Дата конца], orders.Счет, orders.Потребитель, orders.Название, orders.Валюта, '" & Me.Приход & "' AS a, '" & Me.ekv1 & "' as b FROM orders, bill 
WHERE [Реф №] = '" & Me.Реф_№ & "' = bill.[Реф №] "
DoCmd.RunSQL sql1
Case " Расход "
    Me.Расход = Me.sum
    Me.[Код счета] = Me.list1
    Me.Валюта = Me.cur
    Me.ekv2 = Me.Расход * YR(Me.Валюта) / YR(YeType(1 )) * YePer( 1 )
    Me.sum = ""
End Select

DoCmd.GoToRecord , , acNewRec

End Sub
...
Рейтинг: 0 / 0
Запрос на вставку при условии равенства одинаковых полей в 2-х таблицах и форме
    #32239392
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Это тоже VBA, только более длинный. Я прошу результат его исполнения - ту команду SQL, которая получается в результате и не хочет запускаться.
...
Рейтинг: 0 / 0
Запрос на вставку при условии равенства одинаковых полей в 2-х таблицах и форме
    #32239394
RVI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
WHERE [Реф №] = '" & Me.Реф_№ & "' and bill.[Реф №]= '" & Me.Реф_№ & "'
...
Рейтинг: 0 / 0
Запрос на вставку при условии равенства одинаковых полей в 2-х таблицах и форме
    #32239400
Фотография Vsevolod V
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2Владимир Саныч
Не злись, но я ничего не понял...
Какая команда? Что это???
...
Рейтинг: 0 / 0
Запрос на вставку при условии равенства одинаковых полей в 2-х таблицах и форме
    #32239406
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
sql1
...
Рейтинг: 0 / 0
Запрос на вставку при условии равенства одинаковых полей в 2-х таблицах и форме
    #32239412
Фотография Vsevolod V
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2Владимир Саныч
Мне сейчас стыдно будет! :)
Команда - sql1. Результат - это вставка строки в таблицу
Большего не дано...
...
Рейтинг: 0 / 0
Запрос на вставку при условии равенства одинаковых полей в 2-х таблицах и форме
    #32239418
Фотография Vsevolod V
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вариант
WHERE [Реф №] = '" & Me.Реф_№ & "' and bill.[Реф №]= '" & Me.Реф_№ & "'
Молча ничего не добавляет...
...
Рейтинг: 0 / 0
Запрос на вставку при условии равенства одинаковых полей в 2-х таблицах и форме
    #32239434
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
sql1 - это стринг, который строится программой и запускается как команда SQL. Значение этого стринга я могу увидеть?
...
Рейтинг: 0 / 0
Запрос на вставку при условии равенства одинаковых полей в 2-х таблицах и форме
    #32239440
Фотография Vsevolod V
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сейчас пойду повешусь
Мне то как этот стринг увидеть???
...
Рейтинг: 0 / 0
Запрос на вставку при условии равенства одинаковых полей в 2-х таблицах и форме
    #32239449
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Так. Рассказываю, как работают на VBA. Ставишь брейкпойнт на строке DoCmd.RunSQL sql1 (наводишь на эту строку курсор и делаешь F9). Запускаешь программу, она останавливается на брейкпойнте. Открываешь Debug Window (Ctrl+G), пишешь там:

?sql1

и делаешь Enter. То, что выдалось, постишь сюда. А программу толкаешь дальше (F5).
...
Рейтинг: 0 / 0
Запрос на вставку при условии равенства одинаковых полей в 2-х таблицах и форме
    #32239458
Фотография Vsevolod V
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Саныч спасибо огромное! Теперь буду знать. Вот что получилось

Код: plaintext
1.
2.
3.
INSERT INTO bill ([Реф №], дата1, [код счета], наименование, валюта, 
расход, эквивалент2) 
SELECT [Реф №], date() as дата1, [код счета], '1' AS Наименование, 'RUR' AS валюта, '1' AS стоимость, '0,0302' as эквивалент2 
FROM bill WHERE [Реф №] = '1'
...
Рейтинг: 0 / 0
Запрос на вставку при условии равенства одинаковых полей в 2-х таблицах и форме
    #32239467
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
И вот на это оно кричит "несоответствие типа"? Ну, не знаю, надо все типы полей проверить... Например, вот это:

[Реф №] = '1'

- это нормально? [Реф №] - это стринг?
...
Рейтинг: 0 / 0
Запрос на вставку при условии равенства одинаковых полей в 2-х таблицах и форме
    #32239470
Фотография Vsevolod V
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЧЕрт!!!
не тот sql посмотрел Это ж..па

Код: plaintext
1.
2.
3.
4.
INSERT INTO зад_потр ([Реф №], Дата1, Дата2, [Код счета], Потребитель, 
Наименование, Валюта, Приход, Эквивалент1) 
SELECT orders.[Реф №], orders.[Дата начала], orders.[Дата конца], orders.Счет,
 orders.Потребитель, orders.Название, orders.Валюта, '1' AS a, '0,0302' as b FROM orders, bill 
WHERE orders.[Реф №] = '1' = bill.[Реф №]
...
Рейтинг: 0 / 0
Запрос на вставку при условии равенства одинаковых полей в 2-х таблицах и форме
    #32239473
Фотография Vsevolod V
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
На последний вариант именно это и кричит

[Реф №] - это стринг
...
Рейтинг: 0 / 0
Запрос на вставку при условии равенства одинаковых полей в 2-х таблицах и форме
    #32239477
Фотография Vsevolod V
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот так не ругается и не добавляет
WHERE orders.[Реф №] = bill.[Реф №] = '1'
...
Рейтинг: 0 / 0
Запрос на вставку при условии равенства одинаковых полей в 2-х таблицах и форме
    #32239497
Фотография Vsevolod V
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Он даже так ни хрена не добавляет:

Код: plaintext
1.
2.
3.
4.
INSERT INTO зад_потр ([Реф №], Дата1, Дата2, [Код счета], Потребитель, Наименование, Валюта, Приход, Эквивалент1)
SELECT orders.[Реф №], orders.[Дата начала], orders.[Дата конца], orders.Счет,
orders.Потребитель, orders.Название, orders.Валюта, '" & Forms!Приход.Приход & "' AS a, '" &  Forms!Приход.ekv1 & "' as b 
FROM orders 
WHERE orders.[Реф №] = '" &  Forms!Приход.Реф_№ & "'


Бред какой-то
...
Рейтинг: 0 / 0
Запрос на вставку при условии равенства одинаковых полей в 2-х таблицах и форме
    #32239524
Фотография Vsevolod V
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Это все так глупо, что просто ... :(
При явном определении все работает, т.е.:

Код: plaintext
1.
2.
3.
4.
5.
INSERT INTO зад_потр ( [Реф №], Дата1, Дата2, [Код счета], Потребитель, Наименование, Валюта, Приход, Эквивалент1 )
SELECT orders.[Реф №], orders.[Дата начала], orders.[Дата конца], orders.Счет,
orders.Потребитель, orders.Название, orders.Валюта, '" & Me.Приход & "' AS a, '" & Me.ekv1 & "' AS b
FROM orders, bill
WHERE orders.[Реф №] = '1' AND bill.[Реф №]= '1';


Причем такое поле существует: Forms!Приход.Реф_№
...
Рейтинг: 0 / 0
Запрос на вставку при условии равенства одинаковых полей в 2-х таблицах и форме
    #32239528
Фотография Vsevolod V
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Топик закрыт! Ушел пить :( Ничего не делал и все заработало! Пить буду долго :)
...
Рейтинг: 0 / 0
Запрос на вставку при условии равенства одинаковых полей в 2-х таблицах и форме
    #32239531
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Всеволод, а это что такое??? Это уже не он кричит, это я кричу!!!

orders.[Реф №] = '1' = bill.[Реф №]

На каком это языке??? На языке SQL это значит: взять логическое выражение orders.[Реф №] = '1', получить евойный True или False и сравнить с bill.[Реф №], который совершенно не логического типа.

А теперь напиши вместо этого всего то, что на самом деле нужно. Например, то, что предложил RVI.
...
Рейтинг: 0 / 0
Запрос на вставку при условии равенства одинаковых полей в 2-х таблицах и форме
    #32239533
Фотография Vsevolod V
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Саныч
Я так делал пару раз и не получилось
Теперь сделал и получилось! Ох и напьюсь... :)
...
Рейтинг: 0 / 0
Запрос на вставку при условии равенства одинаковых полей в 2-х таблицах и форме
    #32239534
Фотография Vsevolod V
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Бред! Переработал! Дома надеюсь разберусь в этой ЧУШИ! Самому стыдно! :(
...
Рейтинг: 0 / 0
Запрос на вставку при условии равенства одинаковых полей в 2-х таблицах и форме
    #32239610
Фотография fedd
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
прикол ;)
...
Рейтинг: 0 / 0
26 сообщений из 26, показаны все 2 страниц
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Запрос на вставку при условии равенства одинаковых полей в 2-х таблицах и форме
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]