powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / SQL запрос
25 сообщений из 31, страница 1 из 2
SQL запрос
    #36102499
Terr0909
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрые люди помогли составить запросы :

insert into Add(fild1)
select distinct centre
from first inner join second on first.centre=second.centre_2



insert into Add_2(fild_2)
select distinct centre_2
from second left join first on first.centre=second.centre2
where first.centre is null






insert into Add_3(fild3)
select distinct centre
from first left join second on first.centre=second.centre2
where second.centre is null

не могу адаптировать их под VB. Помогите плз. Заранее благодарен.
...
Рейтинг: 0 / 0
SQL запрос
    #36102560
Фотография Игорь Горбонос
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> Автор: Terr0909
> не могу адаптировать их под VB.

Что значит не могу адаптировать?
Здесь пример.
Только CommandType нужно указать как adCmdText, в CommandText присвоить твои запросы и выбросить параметры.
Или я что-то не так понял?


Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
SQL запрос
    #36102658
Terr0909
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Игорь Горбонос
> Автор: Terr0909
> не могу адаптировать их под VB.

Что значит не могу адаптировать?
Здесь пример.
Только CommandType нужно указать как adCmdText, в CommandText присвоить твои запросы и выбросить параметры.
Или я что-то не так понял?



Спасибо что откликнулся.
Я далеко не проф в этом деле. Может ты меня поправиш....


У меня на форме расположен элемент Data1. и в качестве recordSource я пишу эти запросы(data1.recordSource ="ВОТ ЭТИ ЗАПРОСЫ")
Я так понимаю тут другой синтаксис.

Надеюсь понятно рассказал )
...
Рейтинг: 0 / 0
SQL запрос
    #36102719
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
не выйдет так. забудьте об элементе Data. надо работать с ADODB
...
Рейтинг: 0 / 0
SQL запрос
    #36102745
Фотография Игорь Горбонос
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> Автор: Terr0909
> У меня на форме расположен элемент Data1. и в качестве recordSource я пишу эти запросы(data1.recordSource ="ВОТ
> ЭТИ ЗАПРОСЫ")

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

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
Dim cmd As ADODB.Command
Dim cn As ADODB.Connection
Dim RET as Long
Set cn = New ADODB.Connection' Это пример как открыть соединение с локальным MS SQL Server' и присоеденится к БД 
Northwind, используя Windows Authentication' Строку соединения можно посмотреть на http://connectionstrings.com/cn.Open 
"Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=Northwind;Data Source=(local)"

Set cmd = New ADODB.Command
Set cmd.ActiveConnection = CN  'открытый объект ADODB.Connection
cmd.CommandTimeout =  20 
cmd.CommandType = adCmdTextSQL = ""SQL = SQL & "INSERT "SQL = SQL & "INTO   ADD "SQL = SQL & "       ( "SQL = SQL & " 
fild1 "SQL = SQL & "       ) "SQL = SQL & "SELECT DISTINCT centre "SQL = SQL & "FROM            FIRST "SQL = SQL & " 
INNER JOIN second "SQL = SQL & "                ON              first.centre=second.centre_2"
cmd.CommandText = SQL
cmd.Execute
Set cmd = Nothingcn.Close
Set cn = Nothing

И так для каждого запроса

> Надеюсь понятно рассказал )

;)


Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
SQL запрос
    #36102756
Фотография Игорь Горбонос
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> Автор: Игорь Горбонос

Что-то форматирование слетело
Код: 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.
25.
26.
27.
28.
29.
30.
31.
Dim cmd As ADODB.Command
Dim cn As ADODB.Connection
Dim SQL as String
Set cn = New ADODB.Connection
' Это пример как открыть соединение с локальным MS SQL Server
' и присоеденится к БД Northwind, используя Windows Authentication
' Строку соединения можно посмотреть на http://connectionstrings.com/
cn.Open "Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;" & _
"Initial Catalog=Northwind;Data Source=(local)"

Set cmd = New ADODB.Command
Set cmd.ActiveConnection = CN  'открытый объект ADODB.Connection
cmd.CommandTimeout =  20 
cmd.CommandType = adCmdText
'**************************************
SQL = ""
SQL = SQL & "INSERT "
SQL = SQL & "INTO   ADD "
SQL = SQL & "       ( "
SQL = SQL & " fild1 "
SQL = SQL & "       ) "
SQL = SQL & "SELECT DISTINCT centre "
SQL = SQL & "FROM            FIRST "
SQL = SQL & " INNER JOIN second "
SQL = SQL & "                ON              first.centre=second.centre_2"
cmd.CommandText = SQL
cmd.Execute
' Эту часть нужно повторить для каждого из запросов
'*******************************************
Set cmd = Nothingcn.Close
Set cn = Nothing



Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
SQL запрос
    #36102784
Terr0909
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Игорь, огромное Вам спосибо!
Буду обучаться)
...
Рейтинг: 0 / 0
SQL запрос
    #36108444
Terr0909
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вот тут cn.Open "provider= microsoft.jet.OLEDB.4.0;dat source=c:\vv\se.mdb;Persist Security info=false" возвращает ошибку.((((


Вот такую :object variable or With block variable not set
help plz!!
...
Рейтинг: 0 / 0
SQL запрос
    #36108452
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
 cn.Open "provider= microsoft.jet.OLEDB.4.0;dat source=c:\vv\se.mdb;Persist Security info=false"

создайте пустой файл с расширением UDL
кликните на него дважды в explorer
откроется окно настройки доступа к данным
укажите проайдер Microsoft Jet OLEDB 4.0
выберите свою базу
нажмите TEST
потом save
откройте udl-файлик в notepad и скопируйте полученную строку соединения в ваш код
найдите несколько отличий =)
...
Рейтинг: 0 / 0
SQL запрос
    #36108502
Terr0909
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
получил туже самую строку cn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\vv\se.mdb;Persist Security info=false"
(((
...
Рейтинг: 0 / 0
SQL запрос
    #36108538
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
provider= microsoft.jet.OLEDB.4.0;dat source=c:\vv\se.mdb;Persist Security info=false

P rovider= M icrosoft. J et.OLEDB.4.0;Dat a Source=c:\vv\se.mdb;Persist Security info=false

да уж.
показывайте весь ваш код, а то кидаетесь ошибками на пустом месте
...
Рейтинг: 0 / 0
SQL запрос
    #36108544
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вы это случаем не забыли?

Код: plaintext
1.
2.
3.
4.
Dim cn As ADODB.Connection

Set cn = New ADODB.Connection

cn.Open ...
...
Рейтинг: 0 / 0
SQL запрос
    #36108553
Terr0909
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Да вот он, в постах повыше)

Dim cmd As ADODB.Command
Dim cn As ADODB.Connection
Dim SQL as String
Set cn = New ADODB.Connection
' Это пример как открыть соединение с локальным MS SQL Server
' и присоеденится к БД Northwind, используя Windows Authentication
' Строку соединения можно посмотреть на http://connectionstrings.com/
cn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\vv\se.mdb;Persist Security info=false"

Set cmd = New ADODB.Command
Set cmd.ActiveConnection = CN 'открытый объект ADODB.Connection
cmd.CommandTimeout = 20
cmd.CommandType = adCmdText
'**************************************
SQL = ""
SQL = SQL & "INSERT "
SQL = SQL & "INTO ADD "
SQL = SQL & " ( "
SQL = SQL & " fild1 "
SQL = SQL & " ) "
SQL = SQL & "SELECT DISTINCT centre "
SQL = SQL & "FROM FIRST "
SQL = SQL & " INNER JOIN second "
SQL = SQL & " ON first.centre=second.centre_2"
cmd.CommandText = SQL
cmd.Execute
' Эту часть нужно повторить для каждого из запросов
'*******************************************
Set cmd = Nothing
cn.Close
Set cn = Nothing
...
Рейтинг: 0 / 0
SQL запрос
    #36108563
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вы уверены, что ошибка возникает на строке cn.Open?
...
Рейтинг: 0 / 0
SQL запрос
    #36108565
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
пройдитесь построчно в режиме отладки по коду вашей процедуры.
...
Рейтинг: 0 / 0
SQL запрос
    #36108566
Terr0909
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Да, выделяется именно эта строка.
...
Рейтинг: 0 / 0
SQL запрос
    #36108567
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
и при этом , если сделать AddWatch переменной cn, то она имеет значение Nothing?
...
Рейтинг: 0 / 0
SQL запрос
    #36108575
Terr0909
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
к сожалению сейчас не имею возможности проверить....доеду до дома, проверю) Спасибо Вам за активное участие в решение проблемы.
...
Рейтинг: 0 / 0
SQL запрос
    #36109440
Terr0909
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
И еще раз привет.

Konst_Oneи при этом , если сделать AddWatch переменной cn, то она имеет значение Nothing?

Да.
...
Рейтинг: 0 / 0
SQL запрос
    #36109503
Terr0909
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Сделал вот так.....

Dim db_file As String

Dim conn As ADODB.Connection
Dim rs As ADODB.Recordset

db_file = App.Path
If Right$(db_file, 1) <> "\" Then db_file = db_file & "\"
db_file = db_file & "books.mdb"

Set conn = New ADODB.Connection
conn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" & "Data Source=" & db_file & ";"
conn.Open

Set rs = conn.Execute("UPDATE books SET [Title]=' Invoice ' where books.[title]='Visual Basic Graphics Programming' ", , adCmdText)


rs.Close
conn.Close

Теперь выдает ошибку в строке rs.Close
Ошибка следующая: Run time error 3704 "Операция не допускается,если объект закрыт"
...
Рейтинг: 0 / 0
SQL запрос
    #36110339
Фотография HandKot
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
Set rs = conn.Execute("UPDATE books SET [Title]=' Invoice ' where books.[title]='Visual Basic Graphics Programming' ", , adCmdText)

при таком раскладе рекордсет всегда будет закрыт
инструкции манипулирования данными (DML) не возвращают рекордсет никогда (если этого не указать явно и то не во всех версиях БД)

пишите вообще без рекордсета просто


Код: plaintext
conn.Execute("UPDATE books SET [Title]=' Invoice ' where books.[title]='Visual Basic Graphics Programming' ", , adCmdText)


I Have Nine Lives You Have One Only
THINK!
...
Рейтинг: 0 / 0
SQL запрос
    #36115918
Terr0909
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
HandKot
Код: plaintext
Set rs = conn.Execute("UPDATE books SET [Title]=' Invoice ' where books.[title]='Visual Basic Graphics Programming' ", , adCmdText)

при таком раскладе рекордсет всегда будет закрыт
инструкции манипулирования данными (DML) не возвращают рекордсет никогда (если этого не указать явно и то не во всех версиях БД)

пишите вообще без рекордсета просто


Код: plaintext
conn.Execute("UPDATE books SET [Title]=' Invoice ' where books.[title]='Visual Basic Graphics Programming' ", , adCmdText)


I Have Nine Lives You Have One Only
THINK!

Спасибо
...
Рейтинг: 0 / 0
SQL запрос
    #36117100
Terr0909
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем привет еще раз)
ЧТо не так в этом запросе7?? Ругается на синтаксис ((( Кучу комбинаций уже перепробовал) Помогите Плз)
conn_cs.Execute(Insert into Report_23(Select centre from [Report])", ,adCmdText)
...
Рейтинг: 0 / 0
SQL запрос
    #36117117
Terr0909
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Поправочка вот такой запрос....
conn_cs.Execute(Insert into Report_23(Select centre from [Report] where status_1=1)", ,adCmdText)
...
Рейтинг: 0 / 0
SQL запрос
    #36117193
Фотография HandKot
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
не надо select запихивать в скобки

делать надо так
Код: plaintext
conn_cs.Execute("Insert into Report_23 Select centre from [Report] where status_1=1", ,adCmdText)

и ещё луше добавить поле, в которое вносим
Код: plaintext
conn_cs.Execute("Insert into Report_23(Название поля) Select centre from [Report] where status_1=1", ,adCmdText)



I Have Nine Lives You Have One Only
THINK!
...
Рейтинг: 0 / 0
25 сообщений из 31, страница 1 из 2
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / SQL запрос
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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