powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / связать Excel с Sql server-пожалуйста срочно нужно
25 сообщений из 31, страница 1 из 2
связать Excel с Sql server-пожалуйста срочно нужно
    #35121681
beha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ребята помогите пожалуйста срочно нужно
Проблема в том что надо связать Excel с Sql server
...
Рейтинг: 0 / 0
связать Excel с Sql server-пожалуйста срочно нужно
    #35121718
beha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
behaРебята помогите пожалуйста срочно нужно
Проблема в том что надо связать Excel с Sql server

Ужас что не кто не знает ?
...
Рейтинг: 0 / 0
связать Excel с Sql server-пожалуйста срочно нужно
    #35122044
vbapro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
поконкретнее сформулируйте задачу. есть много способов как это сделать: подключиться в программе или просто получить на лист данные...
...
Рейтинг: 0 / 0
связать Excel с Sql server-пожалуйста срочно нужно
    #35124171
beha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
vbaproпоконкретнее сформулируйте задачу. есть много способов как это сделать: подключиться в программе или просто получить на лист данные...


получить на лист данные
...
Рейтинг: 0 / 0
связать Excel с Sql server-пожалуйста срочно нужно
    #35124257
Фотография klen_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
связать Excel с Sql server-пожалуйста срочно нужно
    #35124414
Фотография klen_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
немножко ошибся с автором, но тоже молодец
в меню Tools далее References
надо подключить Microsoft ActiveX Data Objects 2.8 Library
Код: 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.
Private Sub Макрос1()
    
    Dim server As String:   server = "Server1"
    Dim catal1 As String:   catal1 = "каталог если есть в базе"
    Dim UserId As String:   UserId = "sa"
    Dim Passwo As String:   Passwo = ""
    
    Dim con As ADODB.Connection
    Dim rst As ADODB.Recordset
    
    Set con = New ADODB.Connection
    Set rst = New ADODB.Recordset
    
    con.Open "Provider=SQLOLEDB;Persist Security Info=False;Password=" & Passwo & ";User ID=" & UserId & ";Initial Catalog=" & catal1 & ";Data Source=" & server
    
    ' или так
    con.Execute "Select ..."
    
    ' или так
    Set rst.ActiveConnection = con
    rst.Open "Select * From Tablica", con, adOpenStatic, adLockOptimistic, adCmdText

    Cells( 2 ,  1 ).CopyFromRecordset rst ' вставить со второй строки
    
    ' здесь же можно анализировать rst

    rst.Close:  Set rst = Nothing
    con.Close:  Set con = Nothing
    
End Sub
...
Рейтинг: 0 / 0
связать Excel с Sql server-пожалуйста срочно нужно
    #35124449
beha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
klen_немножко ошибся с автором, но тоже молодец
в меню Tools далее References
надо подключить Microsoft ActiveX Data Objects 2.8 Library
Код: 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.
Private Sub Макрос1()
    
    Dim server As String:   server = "Server1"
    Dim catal1 As String:   catal1 = "каталог если есть в базе"
    Dim UserId As String:   UserId = "sa"
    Dim Passwo As String:   Passwo = ""
    
    Dim con As ADODB.Connection
    Dim rst As ADODB.Recordset
    
    Set con = New ADODB.Connection
    Set rst = New ADODB.Recordset
    
    con.Open "Provider=SQLOLEDB;Persist Security Info=False;Password=" & Passwo & ";User ID=" & UserId & ";Initial Catalog=" & catal1 & ";Data Source=" & server
    
    ' или так
    con.Execute "Select ..."
    
    ' или так
    Set rst.ActiveConnection = con
    rst.Open "Select * From Tablica", con, adOpenStatic, adLockOptimistic, adCmdText

    Cells( 2 ,  1 ).CopyFromRecordset rst ' вставить со второй строки
    
    ' здесь же можно анализировать rst

    rst.Close:  Set rst = Nothing
    con.Close:  Set con = Nothing
    
End Sub


да круто спасибо !!!
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
select u.Name,s.Name,count(*) from 
tblRegIncident r ,
tblUsers u,
tblStatus s 
where 
r.date_registration between  11 , 02 , 08  and  17 , 02 , 08  
and r.Recipient_id=u.id
and r.status_id=s.id
group by 
u.Name,s.Name
order by u.Name

Извините а можно так чтоб, например, там, где даты заменить чем-то чтоб он брал сразу за неделю и так за вес год ну чтоб каждый раз не прописать даты для выбора за неделю, а чтоб он сразу сам брал.
...
Рейтинг: 0 / 0
связать Excel с Sql server-пожалуйста срочно нужно
    #35124555
alsov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
За 7 дней от сегодня
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
select u.Name,s.Name,count(*) from 
tblRegIncident r ,
tblUsers u,
tblStatus s 
where 
r.date_registration between CONVERT(varchar( 8 ), GETDATE(),  112 ) and CONVERT(varchar( 8 ), GETDATE()- 7 ,  112 )
and r.Recipient_id=u.id
and r.status_id=s.id
group by 
u.Name,s.Name
order by u.Name
...
Рейтинг: 0 / 0
связать Excel с Sql server-пожалуйста срочно нужно
    #35124569
Фотография klen_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
и ещё вариант, как бы для отладки
Код: plaintext
WHERE date_registration  >=  # 02 / 11 / 2008 # and date_registration  <=  # 02 / 17 / 2008 #
...
Рейтинг: 0 / 0
связать Excel с Sql server-пожалуйста срочно нужно
    #35125091
Фотография klen_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
у меня MS SQL 2000
заработало именно так, и именно из Excel-я 2003-го
Код: 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.
    Dim server As String:   server = "Server1"
    Dim catal1 As String:   catal1 = "КАТАЛОГ"
    Dim UserId As String:   UserId = "sa"
    Dim Passwo As String:   Passwo = ""
    
    Dim con As ADODB.Connection
    Dim rst As ADODB.Recordset
    
    Set con = New ADODB.Connection
    Set rst = New ADODB.Recordset
    
    con.Open "Provider=SQLOLEDB;Persist Security Info=False;Password=" & Passwo & ";User ID=" & UserId & ";Initial Catalog=" & catal1 & ";Data Source=" & server
    
    Set rst.ActiveConnection = con
    
    Dim Monday As String:   Monday = Format((Date - Weekday(Date,  2 ) +  1 ), "mm/dd/yyyy")
    Dim Today As String:    Today = Format(Date, "mm/dd/yyyy")
    
    Monday = Replace(Monday, ".", "/")
    Today = Replace(Today, ".", "/")
    
    Dim sSQL As String
    sSQL = "Select * From ВашаТаблица WHERE date_registration>='" & Monday & "' And date_registration<='" & Today & "'"
    
    rst.Open sSQL, con, adOpenStatic, adLockOptimistic, adCmdText

    Cells( 2 ,  1 ).CopyFromRecordset rst ' вставить со второй строки
    
    rst.Close:  Set rst = Nothing
    con.Close:  Set con = Nothing
прошу извинить за невнимательность с ник-ами
...
Рейтинг: 0 / 0
связать Excel с Sql server-пожалуйста срочно нужно
    #35125934
alsov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
klen_у меня MS SQL 2000
заработало именно так, и именно из Excel-я 2003-го.....

IMHO не кошерно локальную дату брать. Да и с использованием параметров а ля Recordset.Parameters было бы правильнее - нет лишних плясок со строкой типа Replace, да и серваку так спокойнее.
...
Рейтинг: 0 / 0
связать Excel с Sql server-пожалуйста срочно нужно
    #35126416
Фотография klen_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
переделал
Код: plaintext
1.
2.
3.
    Monday = Format((Date - Weekday(Date,  2 ) +  1 ), "yyyymmdd")
    Today = Format(Date, "yyyymmdd")
    
    sSQL = "Select * From ВашаТаблица WHERE DATA>='" & Monday & "' And DATA<='" & Today & "'"
alsovс использованием параметров а ля Recordset.Parameters было бы правильнееа вот с параметрами не разобрался
смотрел здесь
здесь
и в FAQ-е

может дадите примерчик
С уважением Игорь.
...
Рейтинг: 0 / 0
связать Excel с Sql server-пожалуйста срочно нужно
    #35126640
alsov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
    Monday = Format((Date - Weekday(Date,  2 ) +  1 ), "yyyymmdd")
    Today = Format(Date, "yyyymmdd")
Вы не поняли. Date возвращает локальную дату, то есть на компе где excel. Не факт что оно совпадает с временем на сервере.


параметрами не разобрался
может дадите примерчик


смотрите хелп в vba
там достаточно прозрачно написано
вот пример из хелпа
Код: plaintext
1.
2.
3.
4.
5.
qt.Sql = "SELECT * FROM authors  WHERE (city=?)"
Set param1 = qt.Parameters.Add("City Parameter", _
    xlParamTypeVarChar)
param1.SetParam xlConstant, "Oakland"
qt.Refresh
...
Рейтинг: 0 / 0
связать Excel с Sql server-пожалуйста срочно нужно
    #35126723
andMegaM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Привет всем!
Скажите пожалуйста по-подробней о чем говорит эта строчка. У меня в ней ошибка.

Код: plaintext
con.Open "Provider=SQLOLEDB;Persist Security Info=False;Password=" & Passwo & ";User ID=" & UserId & ";Initial Catalog=" & catal1 & ";Data Source= " & server

Где указывается SQL сервер?
Где указывается База данных?
...
Рейтинг: 0 / 0
связать Excel с Sql server-пожалуйста срочно нужно
    #35126869
alsov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Где указывается SQL сервер?
Где указывается База данных?


klen_
Код: plaintext
1.
2.
3.
4.
    Dim server As String:   server = "тут айпи сервера"
    Dim catal1 As String:   catal1 = "тут название базы"
    Dim UserId As String:   UserId = "пользователь"
    Dim Passwo As String:   Passwo = "пароль пользователя"
...
Рейтинг: 0 / 0
связать Excel с Sql server-пожалуйста срочно нужно
    #35126893
Фотография klen_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alsov
Код: plaintext
1.
2.
3.
4.
5.
qt.Sql = "SELECT * FROM authors  WHERE (city=?)"
Set param1 = qt.Parameters.Add("City Parameter", _
    xlParamTypeVarChar)
param1.SetParam xlConstant, "Oakland"
qt.Refresh
понял, спасибо

andMegaM>Где указывается SQL сервер? в переменной server
...
Рейтинг: 0 / 0
связать Excel с Sql server-пожалуйста срочно нужно
    #35126968
alsov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да по поводу дат

можно все сервер заставить делать

где-то так
Код: 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.
32.
33.
Private Sub Макрос1()
    
    Dim server As String:   server = "тут айпи сервера"
    Dim catal1 As String:   catal1 = "тут название базы"
    Dim UserId As String:   UserId = "пользователь"
    Dim Passwo As String:   Passwo = "пароль пользователя"
    
    Dim con As ADODB.Connection
    Dim rst As ADODB.Recordset
    
    Set con = New ADODB.Connection
    Set rst = New ADODB.Recordset
    
    con.Open "Provider=SQLOLEDB;Persist Security Info=False;Password=" & Passwo & ";User ID=" & UserId & ";Initial Catalog=" & catal1 & ";Data Source=" & server
    
    'понедельник - первый день недели
    con.Execute "set datefirst 1"
    
    ' или так
    Set rst.ActiveConnection = con
    
    ' диапозон дат с понедельника по сегодня без учета времени
    rst.Open "Select * From table " & _
            "where data_r < CONVERT(varchar(8), GETDATE()+1, 112) -- завтрашняя дата 0 часов " & _
            "and data_r >= CONVERT(varchar(8), GETDATE()-DATEPART(weekday, getdate())+1, 112)-- понедельник 0 часов", con, adOpenStatic, adLockOptimistic, adCmdText

    Cells( 2 ,  1 ).CopyFromRecordset rst ' вставить со второй строки
    
    ' здесь же можно анализировать rst

    rst.Close:  Set rst = Nothing
    con.Close:  Set con = Nothing
    
End Sub
...
Рейтинг: 0 / 0
связать Excel с Sql server-пожалуйста срочно нужно
    #35127228
Фотография klen_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alsovДа по поводу дат

можно все сервер заставить делатькласс!
какую бы дату, я у себя на компьютере не делал, результат, то что надо
...
Рейтинг: 0 / 0
связать Excel с Sql server-пожалуйста срочно нужно
    #35128840
beha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
alsovДа по поводу дат

можно все сервер заставить делать

где-то так
Код: plaintext
1.
2.
Private Sub Макрос1() ...

   


Да все замечательно
А можно чтоб например взяв данные из date_registration он не на where (по-моему) а в group by сгруппировал по неделям на вес год ну например на 2008 год
Ну здесь так идет данные хранятся на базе где идет добавления, удаления и редактирование из другой формы а для отчета создан файл Excel
Отчет идет на каждую неделю и при открытии файла выдается данные за прошедшие и за настоящую неделю.

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
select u.Name,s.Name,count(*) from 
tblRegIncident r ,
tblUsers u,
tblStatus s 
where 
r.date_registration between  11 , 02 , 08  and  17 , 02 , 08  
and r.Recipient_id=u.id
and r.status_id=s.id
group by 
??????????????
u.Name,s.Name
order by u.Name
...
Рейтинг: 0 / 0
связать Excel с Sql server-пожалуйста срочно нужно
    #35128968
beha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
.
...
Рейтинг: 0 / 0
связать Excel с Sql server-пожалуйста срочно нужно
    #35128978
alsov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторДа все замечательно
А можно чтоб например взяв данные из date_registration он не на where(по-моему) а в group by сгруппировал по неделям на вес год ну например на 2008 год
Ну здесь так идет данные хранятся на базе где идет добавления, удаления и редактирование из другой формы а для отчета создан файл Excel
Отчет идет на каждую неделю и при открытии файла выдается данные за прошедшие и за настоящую неделю.
Давайте описания таблиц с примерными данными и результат, который хотите получить. Так немного не понятно.
...
Рейтинг: 0 / 0
связать Excel с Sql server-пожалуйста срочно нужно
    #35129465
beha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
alsov
Давайте описания таблиц с примерными данными и результат, который хотите получить. Так немного не понятно.

Точнее есть таблицы

tblRegIncident r --------- там где r.date_registration где хранятся даты
tblUsers u --- исполнители инцидента
tblStatus s ----- а это конечно статус типа открытий или закрытий

и тут надо вытаскивать

Name,s.Name,count(*)

И их надо сгруппировать

u.Name, НЕДЕЛЯ, s.Name
...
Рейтинг: 0 / 0
связать Excel с Sql server-пожалуйста срочно нужно
    #35129566
beha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
/
...
Рейтинг: 0 / 0
связать Excel с Sql server-пожалуйста срочно нужно
    #35129584
alsov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
автор
Name,s.Name,count(*)

Не понятно count(чего???) вы хотите посчитать

Если всех встречающихся строк, то где-то так тогда

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
select u.Name, 
       s.Name,
       datepart(week, r.date_registration) as week_number 
       count(*) 
from tblRegIncident r ,
     tblUsers u,
     tblStatus s 
where r.Recipient_id=u.id
  and r.status_id=s.id
group by 
      u.Name,s.Name, datepart(week, r.date_registration)
order by u.Name


...
Рейтинг: 0 / 0
связать Excel с Sql server-пожалуйста срочно нужно
    #35129837
beha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
alsov автор
Name,s.Name,count(*)

Не понятно count(чего???) вы хотите посчитать

Если всех встречающихся строк, то где-то так тогда



Извините а вы почту проверили?
...
Рейтинг: 0 / 0
25 сообщений из 31, страница 1 из 2
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / связать Excel с Sql server-пожалуйста срочно нужно
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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