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

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
22.07.2009, 12:05
    #36102560
Игорь Горбонос
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SQL запрос
> Автор: Terr0909
> не могу адаптировать их под VB.

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


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

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



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


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

Надеюсь понятно рассказал )
...
Рейтинг: 0 / 0
22.07.2009, 12:54
    #36102719
Konst_One
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SQL запрос
не выйдет так. забудьте об элементе Data. надо работать с ADODB
...
Рейтинг: 0 / 0
22.07.2009, 13:01
    #36102745
Игорь Горбонос
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SQL запрос
> Автор: 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
22.07.2009, 13:05
    #36102756
Игорь Горбонос
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SQL запрос
> Автор: Игорь Горбонос

Что-то форматирование слетело
Код: 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
22.07.2009, 13:15
    #36102784
Terr0909
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SQL запрос
Игорь, огромное Вам спосибо!
Буду обучаться)
...
Рейтинг: 0 / 0
24.07.2009, 17:02
    #36108444
Terr0909
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SQL запрос
Вот тут 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
24.07.2009, 17:06
    #36108452
Konst_One
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SQL запрос
Код: 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
24.07.2009, 17:34
    #36108502
Terr0909
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SQL запрос
получил туже самую строку cn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\vv\se.mdb;Persist Security info=false"
(((
...
Рейтинг: 0 / 0
24.07.2009, 17:45
    #36108538
Konst_One
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SQL запрос
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
24.07.2009, 17:47
    #36108544
Konst_One
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SQL запрос
вы это случаем не забыли?

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

Set cn = New ADODB.Connection

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

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
24.07.2009, 17:52
    #36108563
Konst_One
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SQL запрос
вы уверены, что ошибка возникает на строке cn.Open?
...
Рейтинг: 0 / 0
24.07.2009, 17:54
    #36108565
Konst_One
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SQL запрос
пройдитесь построчно в режиме отладки по коду вашей процедуры.
...
Рейтинг: 0 / 0
24.07.2009, 17:54
    #36108566
Terr0909
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SQL запрос
Да, выделяется именно эта строка.
...
Рейтинг: 0 / 0
24.07.2009, 17:55
    #36108567
Konst_One
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SQL запрос
и при этом , если сделать AddWatch переменной cn, то она имеет значение Nothing?
...
Рейтинг: 0 / 0
24.07.2009, 17:58
    #36108575
Terr0909
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SQL запрос
к сожалению сейчас не имею возможности проверить....доеду до дома, проверю) Спасибо Вам за активное участие в решение проблемы.
...
Рейтинг: 0 / 0
26.07.2009, 10:47
    #36109440
Terr0909
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SQL запрос
И еще раз привет.

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

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

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
27.07.2009, 11:31
    #36110339
HandKot
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SQL запрос
Код: 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
29.07.2009, 16:06
    #36115918
Terr0909
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SQL запрос
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
30.07.2009, 10:24
    #36117100
Terr0909
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SQL запрос
Всем привет еще раз)
ЧТо не так в этом запросе7?? Ругается на синтаксис ((( Кучу комбинаций уже перепробовал) Помогите Плз)
conn_cs.Execute(Insert into Report_23(Select centre from [Report])", ,adCmdText)
...
Рейтинг: 0 / 0
30.07.2009, 10:29
    #36117117
Terr0909
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SQL запрос
Поправочка вот такой запрос....
conn_cs.Execute(Insert into Report_23(Select centre from [Report] where status_1=1)", ,adCmdText)
...
Рейтинг: 0 / 0
30.07.2009, 10:55
    #36117193
HandKot
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SQL запрос
не надо 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
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / SQL запрос / 25 сообщений из 31, страница 1 из 2
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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