powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / не получается вернуть данные :(
25 сообщений из 41, страница 1 из 2
не получается вернуть данные :(
    #36914040
PlanB
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
пытаюсь вытащить данные таким образом:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
Sub SqlQuery()
    Dim SQL1 As String
    Dim wb As String
    Dim TargetSheet As Worksheet
    Dim Cn As ADODB.Connection
    Dim Rs As ADODB.Recordset
    
    Set TargetSheet = ThisWorkbook.Worksheets("АНАЛИЗ")
    wb = ThisWorkbook.FullName
    
    SQL1 = TargetSheet.Cells( 1 ,  1 )
    Set Cn = New ADODB.Connection
        With Cn
            .Provider = "MSDASQL"
            .ConnectionString = "Driver={Microsoft Excel Driver (*.xls)};DBQ=" & wb & ";FirstRowHasNames=0"""
            .Open
        End With
            Set Rs = New ADODB.Recordset
                Rs.Open SQL1, Cn
                TargetSheet.Cells( 22 ,  1 ).CopyFromRecordset Rs
            Rs.Close
    Cn.Close
End Sub
переменная SQL1 равна:
Код: 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.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
SELECT
    c.[п/п],
    c.[АКТИВ],
    (SUM(c.ost1) + SUM(c.ost2) - SUM(c.ost3))/ 2  as [ОСТАТОК_НОВЫЙ],
    (SUM(c.ost11) + SUM(c.ost22) - SUM(c.ost33))/ 2  as [ОСТАТОК_СТАРЫЙ]
FROM (
SELECT
     a.[п/п],
     a.[АКТИВ],
     b.[дата7] as [ost1],
      0  as [ost2],
      0  as [ost3],
     b.[дата6] as [ost11],
      0  as [ost22],
      0  as [ost33]
FROM [dataSQL$] a
     LEFT OUTER JOIN [USERLIST ( 1 )$] b
     ON (a.[счета  1 -го порядка (А)] = b.[счет])
UNION ALL
SELECT
     a.[п/п],
     a.[АКТИВ],
      0  as [ost1],
     b.[дата7] as [ost2],
      0  as [ost3],
      0  as [ost11],
     b.[дата6] as [ost22],
      0  as [ost33]
 FROM [dataSQL$] a
     LEFT OUTER JOIN [USERLIST ( 1 )$] b
     ON (a.[счета  2 -го порядка (А)] = b.[счет2])
UNION ALL
SELECT
     a.[п/п],
     a.[АКТИВ],
      0  as [ost1],
      0  as [ost2],
     b.[дата7] as [ost3],
      0  as [ost11],
      0  as [ost22],
     b.[дата6] as [ost33]
FROM [dataSQL$] a
     LEFT OUTER JOIN [USERLIST ( 1 )$] b
     ON (a.[за вычетом счетов  2 -го порядка (А)] = b.[счет2])
) c
GROUP BY
   c.[п/п],
   c.[АКТИВ]
на строке Rs.Open SQL1, Cn пишет "ошибка систаксиса в предложении FROM" хотя, когда загоняешь этот запрос в query, всё работает и возвращается.
всё голову сломал, подскажите, пожалуйста, в чем ошибка
...
Рейтинг: 0 / 0
не получается вернуть данные :(
    #36914050
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Фигасе. А вы уверены, что экселевский драйвер поддерживает union, join, group by? Я вот нет. Начните с запросов попроще.
...
Рейтинг: 0 / 0
не получается вернуть данные :(
    #36914090
PlanB
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AntonariyФигасе. А вы уверены, что экселевский драйвер поддерживает union, join, group by? Я вот нет. Начните с запросов попроще.уверен. вот такая мерзота в итоге заработала
...
Рейтинг: 0 / 0
не получается вернуть данные :(
    #36914163
Фотография Shamanus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PlanB,

попытался создать у себя листы с такими именами и полями, все работает.
Юзал дао. Можете файлик привести в пример?
...
Рейтинг: 0 / 0
не получается вернуть данные :(
    #36914181
PlanB
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ShamanusPlanB,

попытался создать у себя листы с такими именами и полями, все работает.
Юзал дао. Можете файлик привести в пример?я ж пишу, у меня непосредственно запрос работает. т.е., когда его в query пихаю, он данные выводит. может, в коде vba ошибка? хотя, если написать простенький "select * from", никаких проблем нет...

файл большой, не влезет
...
Рейтинг: 0 / 0
не получается вернуть данные :(
    #36914233
PlanB
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dadaSQLп/пАКТИВАКТИВ (детально)счета 1-го порядка (А)счета 2-го порядка (А)за вычетом счетов 2-го порядка (А)1наличные активы-2020203091наличные активы-2030203101наличные активы-2040203131наличные активы-00203141наличные активы-00203212к/с в ЦБ-03010202к/с в ЦБ-03010402к/с в ЦБ-03010602к/с в ЦБ-03022803к/с НОСТРО-03011003к/с НОСТРО-03011403к/с НОСТРО-03011803к/с НОСТРО-03011903к/с НОСТРО-03012503к/с НОСТРО-03021303к/с НОСТРО-0003к/с НОСТРО-0003к/с НОСТРО-0003к/с НОСТРО-0003к/с НОСТРО-0003к/с НОСТРО-0003к/с НОСТРО-0004средства в ЦБ1д+д/в03190104средства в ЦБ1д+д/в03190204средства в ЦБ2-703190304средства в ЦБ8-3003190404средства в ЦБ31-9003190504средства в ЦБ91-18003190604средства в ЦБ181-36003190704средства в ЦБ1-3 года03190804средства в ЦБ> 3 лет03190904средства в ЦБпрочие03290204средства в ЦБ-0004средства в ЦБ-0004средства в ЦБ-0004средства в ЦБ-0004средства в ЦБ-0004средства в ЦБ-0004средства в ЦБ-0004средства в ЦБ-0004средства в ЦБ-0004средства в ЦБ-000USERLIST (1)
счетсчет2дата6дата710810801952847929530519710910901001091090100202202024543178419627420220203002022020600202202073719739781202202085913725007912022020966240685202022021000202202024543178419627420220203002022020600202202073719739781202202085913725007912022020966240685202022021000203203210020320309127601712275102032031000203203130020320314002032030912760171227510203203100020320313002032031400203203210020320302144272422572272032030349880730764120320305201422867839203203081740817389203203110020320312002032031500203203160020320317002032031800203203190020320320002032030214427242257227203203034988073076412032030520142286783920320308174081738920320311002032031200203203150020320316002032031700203203180020320319002032032000204204010020420402002042040300
...
Рейтинг: 0 / 0
не получается вернуть данные :(
    #36914256
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PlanBAntonariyФигасе. А вы уверены, что экселевский драйвер поддерживает union, join, group by? Я вот нет. Начните с запросов попроще.уверен. вот такая мерзота в итоге заработалаА я вот укрепился в своей неуверенности. Ведь там вами же русским по серому написано следующее:
авторзапрос производится из Excel к базе Access
...
Рейтинг: 0 / 0
не получается вернуть данные :(
    #36914268
PlanB
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
когда пишу
SQL1 = "SELECT a.[дата6] FROM [USERLIST (1)$] a"
всё нормально выводится. в связи с этим у меня подозрения, что дело в строке подключения...
...
Рейтинг: 0 / 0
не получается вернуть данные :(
    #36914288
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да не поддерживает эксель этих свистелок. Строка не виновата.
...
Рейтинг: 0 / 0
не получается вернуть данные :(
    #36914295
Cursky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PlanB,
У меня тоже всё сработало
...
Рейтинг: 0 / 0
не получается вернуть данные :(
    #36914326
PlanB
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AntonariyДа не поддерживает эксель этих свистелок. Строка не виновата.я ещё раз повторяю, когда в query загоняешь, всё нормально. разницы-то нет, по большому счету...
...
Рейтинг: 0 / 0
не получается вернуть данные :(
    #36914334
PlanB
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Antonariy, вот, рекордером записал...

Код: 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.
34.
35.
36.
Sub Макрос4()
'
' Макрос4 Макрос
'

'
    With ActiveSheet.ListObjects.Add(SourceType:= 0 , Source:=Array(Array( _
        "ODBC;DSN=Excel Files;DBQ=C:\Users\skutenko\Desktop\ot100090.xls;DefaultDir=C:\Users\skutenko\Desktop;DriverId=1046;MaxBufferSize=204" _
        ), Array("8;PageTimeout=5;")), Destination:=Range("$B$33")).QueryTable
        .CommandText = Array( _
        "SELECT" & Chr( 13 ) & "" & Chr( 10 ) & "    c.[п/п]," & Chr( 13 ) & "" & Chr( 10 ) & "    c.[АКТИВ]," & Chr( 13 ) & "" & Chr( 10 ) & "    (SUM(c.ost1) + SUM(c.ost2) - SUM(c.ost3))/2 as [ОСТАТОК_НОВЫЙ]," & Chr( 13 ) & "" & Chr( 10 ) & "    (SUM(c.ost11) + SUM(c.ost22) - SUM(c.ost33))/2 as [ОСТАТОК_СТАРЫЙ]" & Chr( 13 ) & "" & Chr( 10 ) & "FROM (" & Chr( 13 ) & "" & Chr( 10 ) & "SELECT" & Chr( 13 ) & "" & Chr( 10 ) & "     " _
        , _
        "a.[п/п]," & Chr( 13 ) & "" & Chr( 10 ) & "     a.[АКТИВ]," & Chr( 13 ) & "" & Chr( 10 ) & "     b.[дата7] as [ost1]," & Chr( 13 ) & "" & Chr( 10 ) & "     0 as [ost2]," & Chr( 13 ) & "" & Chr( 10 ) & "     0 as [ost3]," & Chr( 13 ) & "" & Chr( 10 ) & "     b.[дата6] as [ost11]," & Chr( 13 ) & "" & Chr( 10 ) & "     0 as [ost22]," & Chr( 13 ) & "" & Chr( 10 ) & "     0 as [ost33]" & Chr( 13 ) & "" & Chr( 10 ) & "FROM [dataSQL$] a" & Chr( 13 ) & "" & Chr( 10 ) & "     LEFT OUTER JOIN [" _
        , _
        "USERLIST (1)$] b" & Chr( 13 ) & "" & Chr( 10 ) & "     ON (a.[счета 1-го порядка (А)] = b.[счет])" & Chr( 13 ) & "" & Chr( 10 ) & "UNION ALL" & Chr( 13 ) & "" & Chr( 10 ) & "SELECT" & Chr( 13 ) & "" & Chr( 10 ) & "     a.[п/п]," & Chr( 13 ) & "" & Chr( 10 ) & "     a.[АКТИВ]," & Chr( 13 ) & "" & Chr( 10 ) & "     0 as [ost1]," & Chr( 13 ) & "" & Chr( 10 ) & "     b.[дата7] as [ost2]," & Chr( 13 ) & "" & Chr( 10 ) & "     0 as [ost3]," & Chr( 13 ) & "" & Chr( 10 ) & "     0 as [ost11]" _
        , _
        "," & Chr( 13 ) & "" & Chr( 10 ) & "     b.[дата6] as [ost22]," & Chr( 13 ) & "" & Chr( 10 ) & "     0 as [ost33]" & Chr( 13 ) & "" & Chr( 10 ) & " FROM [dataSQL$] a" & Chr( 13 ) & "" & Chr( 10 ) & "     LEFT OUTER JOIN [USERLIST (1)$] b" & Chr( 13 ) & "" & Chr( 10 ) & "     ON (a.[счета 2-го порядка (А)] = b.[счет2])" & Chr( 13 ) & "" & Chr( 10 ) & "UNION ALL" & Chr( 13 ) & "" & Chr( 10 ) & "SELECT" & Chr( 13 ) & "" & Chr( 10 ) & "     a.[п/п]," & Chr( 13 ) & "" & Chr( 10 ) & "     a" _
        , _
        ".[АКТИВ]," & Chr( 13 ) & "" & Chr( 10 ) & "     0 as [ost1]," & Chr( 13 ) & "" & Chr( 10 ) & "     0 as [ost2]," & Chr( 13 ) & "" & Chr( 10 ) & "     b.[дата7] as [ost3]," & Chr( 13 ) & "" & Chr( 10 ) & "     0 as [ost11]," & Chr( 13 ) & "" & Chr( 10 ) & "     0 as [ost22]," & Chr( 13 ) & "" & Chr( 10 ) & "     b.[дата6] as [ost33]" & Chr( 13 ) & "" & Chr( 10 ) & "FROM [dataSQL$] a" & Chr( 13 ) & "" & Chr( 10 ) & "     LEFT OUTER JOIN [USERLIST (1)$] b" _
        , _
        "" & Chr( 13 ) & "" & Chr( 10 ) & "     ON (a.[за вычетом счетов 2-го порядка (А)] = b.[счет2])" & Chr( 13 ) & "" & Chr( 10 ) & ") c" & Chr( 13 ) & "" & Chr( 10 ) & "GROUP BY" & Chr( 13 ) & "" & Chr( 10 ) & "   c.[п/п]," & Chr( 13 ) & "" & Chr( 10 ) & "   c.[АКТИВ]" & Chr( 13 ) & "" & Chr( 10 ) & "" _
        )
        .RowNumbers = False
        .FillAdjacentFormulas = False
        .PreserveFormatting = True
        .RefreshOnFileOpen = False
        .BackgroundQuery = True
        .RefreshStyle = xlInsertDeleteCells
        .SavePassword = False
        .SaveData = True
        .AdjustColumnWidth = True
        .RefreshPeriod =  0 
        .PreserveColumnInfo = True
        .ListObject.DisplayName = "Таблица_Запрос_из_Excel_Files_1"
        .Refresh BackgroundQuery:=False
    End With
End Sub
...
Рейтинг: 0 / 0
не получается вернуть данные :(
    #36914399
Фотография Shamanus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PlanB,
у меня все ОК
сейчас дам файлы

итог запроса

Выражение1 Выражение2 ОСТАТОК_НОВЫЙ ОСТАТОК_СТАРЫЙ АКТИВ 0 01 наличные активы 7398348 82554622 к/с в ЦБ 0 03 к/с НОСТРО 0 04 средства в ЦБ 0 0
...
Рейтинг: 0 / 0
не получается вернуть данные :(
    #36914404
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ладно, сдаюсь)

Код: plaintext
Chr( 13 ) & "" & Chr( 10 )
Мило. А ведь это равняется vbCrLf. Хотя, если уж на то пошло, то и перенос строки не нужен.
...
Рейтинг: 0 / 0
не получается вернуть данные :(
    #36914412
Фотография Shamanus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PlanB,

в файле Кинга1 исходные данные
в файле test сам макрокод (через ДАО) поменяйте путь к файлу Книга1
...
Рейтинг: 0 / 0
не получается вернуть данные :(
    #36914524
Фотография ПЕНСИОНЕРКА
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PlanBкогда пишу
SQL1 = "SELECT a.[дата6] FROM [USERLIST (1)$] a"
всё нормально выводится. в связи с этим у меня подозрения, что дело в строке подключения...


уберите доллары из запроса
...
Рейтинг: 0 / 0
не получается вернуть данные :(
    #36914647
PlanB
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AntonariyЛадно, сдаюсь)

Код: plaintext
Chr( 13 ) & "" & Chr( 10 )
Мило. А ведь это равняется vbCrLf. Хотя, если уж на то пошло, то и перенос строки не нужен.это ж рекордером написано =)))
...
Рейтинг: 0 / 0
не получается вернуть данные :(
    #36914650
PlanB
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ПЕНСИОНЕРКАPlanBкогда пишу
SQL1 = "SELECT a.[дата6] FROM [USERLIST (1)$] a"
всё нормально выводится. в связи с этим у меня подозрения, что дело в строке подключения...


уберите доллары из запросадоллар - это ссылка на лист. по-другому он не понимает, вроде как..
дабы не быть голосовным, я проверил. нифигасеньки =)
...
Рейтинг: 0 / 0
не получается вернуть данные :(
    #36914732
Фотография Shamanus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PlanB,

так а мой метод отработал у Вас?
...
Рейтинг: 0 / 0
не получается вернуть данные :(
    #36914796
PlanB
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ShamanusPlanB,

так а мой метод отработал у Вас?я сам в шоке, но нет!
вопрос у меня есть идиотский:
Path = ThisWorkbook.FullName
может, ВФЩ не можкет из себя же данные извлекать.
Ваш пример работатет отлично, вставляю в свой - хрень какая-то
...
Рейтинг: 0 / 0
не получается вернуть данные :(
    #36914818
Фотография Shamanus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PlanB,

ссылаясь на самого себя....


Скиньте файл. Ящик 5 8 5 четыре восьмерки на рамблере
...
Рейтинг: 0 / 0
не получается вернуть данные :(
    #36914870
Фотография ПЕНСИОНЕРКА
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PlanBПЕНСИОНЕРКАPlanBкогда пишу
SQL1 = "SELECT a.[дата6] FROM [USERLIST (1)$] a"
всё нормально выводится. в связи с этим у меня подозрения, что дело в строке подключения...


уберите доллары из запросадоллар - это ссылка на лист. по-другому он не понимает, вроде как..
дабы не быть голосовным, я проверил. нифигасеньки =)


я создала связанные таблицы (без $)
-при подводе курсора к имени в аксе виден доллар
-запрос не работал
-убрала доллар в запросе-----ОК
...
Рейтинг: 0 / 0
не получается вернуть данные :(
    #36914920
PlanB
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ПЕНСИОНЕРКАPlanBПЕНСИОНЕРКАPlanBкогда пишу
SQL1 = "SELECT a.[дата6] FROM [USERLIST (1)$] a"
всё нормально выводится. в связи с этим у меня подозрения, что дело в строке подключения...


уберите доллары из запросадоллар - это ссылка на лист. по-другому он не понимает, вроде как..
дабы не быть голосовным, я проверил. нифигасеньки =)


я создала связанные таблицы (без $)
-при подводе курсора к имени в аксе виден доллар
-запрос не работал
-убрала доллар в запросе-----ОКэто excel-excel
...
Рейтинг: 0 / 0
не получается вернуть данные :(
    #36914930
PlanB
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ShamanusPlanB,
ссылаясь на самого себя....
Скиньте файл. Ящик 5 8 5 четыре восьмерки на рамблерея пытаюсь сделать примочку к программному продукту. он большой, в нем черт ногу сломит, да и денег не маленьких стоит.

в общем, спасибо, будем сами бороться по возможности =)
...
Рейтинг: 0 / 0
не получается вернуть данные :(
    #36914964
PlanB
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ShamanusPlanB,

ссылаясь на самого себя....


Скиньте файл. Ящик 5 8 5 четыре восьмерки на рамблере
вытащил два листа из проекта в отдельную книгу, её и послал.
угадал я адрес? отпишитесь о получении, плитз
...
Рейтинг: 0 / 0
25 сообщений из 41, страница 1 из 2
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / не получается вернуть данные :(
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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