А что, Access не инсертит UNION'ы??

Работа VB и СУБД (Access, MSSQL, MySQL, Oracle и пр.)
Правила форума
При создании новой темы не забывайте указывать используемую СУБД.
VVitafresh
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1641
Зарегистрирован: 12.05.2005 (Чт) 14:44
Откуда: Херсон, UA

А что, Access не инсертит UNION'ы??

Сообщение VVitafresh » 14.02.2006 (Вт) 17:15

Хотел выполнить элементанрый запрос типа:
Код: Выделить всё
Set cn = Application.CurrentProject.Connection
SQL = "insert into b(acc) " & _
       "select acc1 from a1 UNION select acc2 from a2"
cn.Execute SQL

Пишет:
Run-time error: -2147217900. Syntax error in FROM clause

Неужели в Access нельзя проинсертить результат нескольких объединенных Select'ов :shock:
Или я где-то ошибся?
Никакую проблему невозможно решить на том же уровне, на каком она возникла. Нужно стать выше этой проблемы, поднявшись на следующий уровень.

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 14.02.2006 (Вт) 17:18

Двумя...
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

VVitafresh
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1641
Зарегистрирован: 12.05.2005 (Чт) 14:44
Откуда: Херсон, UA

Сообщение VVitafresh » 14.02.2006 (Вт) 17:28

Неа...
Будет задвоение записей. Мне нужна уникальность.
Никакую проблему невозможно решить на том же уровне, на каком она возникла. Нужно стать выше этой проблемы, поднявшись на следующий уровень.

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 14.02.2006 (Вт) 17:38

Двумя...
Двумя запросами...
Один SELECT UNION SELECT, другой - INSERT SELECT FROM Запрос1...
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

VVitafresh
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1641
Зарегистрирован: 12.05.2005 (Чт) 14:44
Откуда: Херсон, UA

Сообщение VVitafresh » 14.02.2006 (Вт) 20:14

Тогда такой детский вопрос (с Access я работаю редко). Как программно сохранить этот SQL запрос:
Код: Выделить всё
select acc1 from a1 UNION select acc2 from a2
как запрос Access.
Никакую проблему невозможно решить на том же уровне, на каком она возникла. Нужно стать выше этой проблемы, поднявшись на следующий уровень.

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 15.02.2006 (Ср) 4:46

Дык как всегда...

Код: Выделить всё
    Set c = New ADOX.Catalog
    c.ActiveConnection = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Path
   
    Set cm = New ADODB.Command
    Set cm.ActiveConnection = c.ActiveConnection
    cm.CommandType = adCmdText
   
    cm.CommandText = "SELECT acc1 FROM a1 UNION SELECT acc2 FROM a2"
    c.Procedures.Append "Query1", cm
   
    c.ActiveConnection.Close
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

VVitafresh
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1641
Зарегистрирован: 12.05.2005 (Чт) 14:44
Откуда: Херсон, UA

Сообщение VVitafresh » 15.02.2006 (Ср) 16:12

Ага, спасибо.
Никакую проблему невозможно решить на том же уровне, на каком она возникла. Нужно стать выше этой проблемы, поднявшись на следующий уровень.


Вернуться в Базы данных

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1

    TopList