powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / не получается вернуть данные :(
16 сообщений из 41, страница 2 из 2
не получается вернуть данные :(
    #36914994
Фотография Shamanus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PlanB,

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

уже ответилпри копировании в мой проект (сам по себе присланный файл прекрасно работает), Ваш пример спотыкается на строке
Код: plaintext
Set rs = db.OpenRecordset(MyStr)
и пишет
"run-time error 3061: Слишком мало параметров, требуется 2"
...
Рейтинг: 0 / 0
не получается вернуть данные :(
    #36917425
Фотография Игорь Горбонос
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> Автор: PlanB
> "run-time error 3061: Слишком мало параметров, требуется 2"

Похоже у тебя гранаты не той конструкцииdb не того типа. Проверь что-бы db была объявленна полной спецификацией
типа, начиная от библиотеки, примерно так:
Код: plaintext
Dim db As ADODB.Connection

P.S. Привет! Рад снова читать :)

Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
не получается вернуть данные :(
    #36917470
Фотография Shamanus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PlanB,

Все дело в том, что таблица расположенная в проекте имеет название заголовков таблицы в листе dataSQL отличное от [п/п] и [АКТИВ] и не может быть отселектена

Причин проблемы могут быть 3
1. реально отсутствие таких названий
2. заголовки таблицы не расположены в первой строке и возврат производится искуственных названий полей F1, F2 etc
3. в этой строке
Код: plaintext
Set db = DAO.OpenDatabase(ThisWorkbook.FullName, False, True, "Excel 8.0; HDR=Yes;IMEX=2")

стоит HDR=NO
тогда первые поля воспринимаются не как заголовки, а как содержимое БД.

проверить можно очень просто,
диагностика проблемывставьте такой код
Код: plaintext
1.
2.
Sub SetSQLStr2(ByRef SqlStr As String)
SqlStr = "SELECT * from [dataSQL$] "
End Sub

и в коде поменяйте
Код: plaintext
Call SetSQLStr(MyStr)
на
Код: plaintext
Call SetSQLStr2(MyStr)
если результатом выполнения запроса будет

F1F2F3F41наличные активы-2021наличные активы-2031наличные активы-204


значит нужно либо решить проблему заголовков, либо в селекте использовать
Код: plaintext
1.
2.
3.
SqlStr = "SELECT c.F1 AS Выражение1, c.F2 AS Выражение2, " 
SqlStr = SqlStr & "(Sum(c.ost1)+Sum(c.ost2)-Sum(c.ost3))/2 AS [ОСТАТОК_НОВЫЙ],  " 
SqlStr = SqlStr & "(Sum(c.ost11)+Sum(c.ost22)-Sum(c.ost33))/2 AS [ОСТАТОК_СТАРЫЙ]"
SqlStr = SqlStr & "FROM (SELECT"
и т.д.
...
Рейтинг: 0 / 0
не получается вернуть данные :(
    #36917482
PlanB
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Игорь Горбонос
> Автор: PlanB
> "run-time error 3061: Слишком мало параметров, требуется 2"

Похоже у тебя гранаты не той конструкцииdb не того типа. Проверь что-бы db была объявленна полной спецификацией
типа, начиная от библиотеки, примерно так:
Код: plaintext
Dim db As ADODB.Connection

P.S. Привет! Рад снова читать :)

Posted via ActualForum NNTP Server 1.4привет! =)))
всё не могу избавиться от иллюзии, что я умею писать коды VB =)))

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

Shamanus, большое Вам спасибо за код и за терпение..
...
Рейтинг: 0 / 0
не получается вернуть данные :(
    #36917641
Фотография Игорь Горбонос
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> Автор: PlanB
> всё не могу избавиться от иллюзии, что я умею писать коды VB =)))

Почему иллюзия? Ты пишешь вполне нормально. И самое главное! Ты
конструктивно подходишь к формулированию вопроса. С тобой
приятно общатся :)
То что не все получается, это тоже нормально. Потому, что кто ничего не делает, тот не ошибается. Ну и ты зарабатываешь
на жизнь другим делом, а программирование это хобби, хотя и помогающее тебе в работе

> отписал на указанный ящик..

Ничего не получил, видимо из-за того что заработало :)

Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
не получается вернуть данные :(
    #36919922
PlanB
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ShamanusPlanB,
у меня все ОК
сейчас дам файлы

итог запроса

Выражение1 Выражение2 ОСТАТОК_НОВЫЙ ОСТАТОК_СТАРЫЙ АКТИВ 0 01 наличные активы 7398348 82554622 к/с в ЦБ 0 03 к/с НОСТРО 0 04 средства в ЦБ 0 0добрый день! запросом выводится нулевая строка, я затем уже остальные данные... как победить?

п/пнаименование Аостаток_старыйостаток_новый001наличные активы7 398 3488 255 462
...
Рейтинг: 0 / 0
не получается вернуть данные :(
    #36919977
Фотография Shamanus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PlanB,

Вам нужно разобраться с заголовками.
Выводится пустая строка т.к. первая строка воспринимается не как заголовок, а как данные
или удалите её, или настройте нормально запрос данных.
...
Рейтинг: 0 / 0
не получается вернуть данные :(
    #36920118
PlanB
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shamanus, если я ставлю HDR = NO? то у меня ошибка, что естественно.
вы апркедлагаете обзывать поля F1, F2 и т.д.?
...
Рейтинг: 0 / 0
не получается вернуть данные :(
    #36920181
PlanB
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PlanBShamanus, если я ставлю HDR = NO? то у меня ошибка, что естественно.
вы апркедлагаете обзывать поля F1, F2 и т.д.?вопрос снят
...
Рейтинг: 0 / 0
не получается вернуть данные :(
    #36920192
Фотография Shamanus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PlanB,

я предлагаю 2 варианта

- 1. удалить первую строку в таблице
2. Поставить HDR=NO
3. Применить в запросе вместо названий полей Актив п/п - F2 , F1 и т.д.

- 1. оставить первую строку
2. поставить HDR=YES
3. Применить в запросе названия полей Актив п/п


Если в случае работы варианта 2 запрос не отрабатывает, а выдает требуется параметров 2.
- либо разобраться почему он не воспринимает первую строку как заголовок (тут иной алгоритм)
- либо плюнуть и сделать все по п.п. 1, что немного неверно т.к. при перестановке полей слетит, но на данном этапе сработает
...
Рейтинг: 0 / 0
не получается вернуть данные :(
    #36920453
PlanB
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shamanus, там, как оказалось, в исходных данных был косяк. всё встало на свои места.
а, впринципе, по п.1 я бы и лечил. спасибо!
...
Рейтинг: 0 / 0
не получается вернуть данные :(
    #36922812
PlanB
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
господа, помогите, пожалуйста, ещё чуть
пример в приложении
необходимо на основе таблиц
dataPivot и USERLIST-temp выбросить набор данных листа "ИТОГ".
итоговый массив включает лист dataPivot полностью + сумму по датам листа USERLIST-temp.


это я решил "упростить" себе жизнь и использовать сводные таблицы
если кто-то подскажет, как создать мгного сводных таблиц на одном кэше (не программно, а руками), буду очень признателен.
т.е. чтобы можно было итог запроса сразу запихнуть в сводную, а на её основе создать ещё десяток сводных (автоматически обновляемых при обновлении одной из них). для офиса 2007
...
Рейтинг: 0 / 0
не получается вернуть данные :(
    #36923404
PlanB
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PlanBесли кто-то подскажет, как создать мгного сводных таблиц на одном кэше (не программно, а руками), буду очень признателен.
т.е. чтобы можно было итог запроса сразу запихнуть в сводную, а на её основе создать ещё десяток сводных (автоматически обновляемых при обновлении одной из них). для офиса 2007я этим разобрался: надо воткнуть "мастер создания СТ" в ПБД
...
Рейтинг: 0 / 0
не получается вернуть данные :(
    #36923585
PlanB
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PlanBгоспода, помогите, пожалуйста, ещё чуть
пример в приложении
необходимо на основе таблиц
dataPivot и USERLIST-temp выбросить набор данных листа "ИТОГ".
итоговый массив включает лист dataPivot полностью + сумму по датам листа USERLIST-temp.мне такую штуку написали, тока она не хочет работать
Код: 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.
48.
49.
50.
51.
52.
53.
SELECT
a.[№ 1 # 1 ],   
a.[№ 1 # 2 ],
a.[№ 1 # 3 ],
a.[АКТИВ],
a.[АКТИВ(детально)],
a.[счета  1 -го порядка(А)],
a.[счета  2 -го порядка(А)],
a.[за вычетом счетов  2 -го порядка(А)],
Userlist1.sum1 + Userlist2.sum1 - Userlist3.sum1 as [дата1],
Userlist1.sum2 + Userlist2.sum2 - Userlist3.sum2 as [дата2],
Userlist1.sum3 + Userlist2.sum3 - Userlist3.sum3 as [дата3],
Userlist1.sum4 + Userlist2.sum4 - Userlist3.sum4 as [дата4],
Userlist1.sum5 + Userlist2.sum5 - Userlist3.sum5 as [дата5],
Userlist1.sum6 + Userlist2.sum6 - Userlist3.sum6 as [дата6],     
Userlist1.sum7 + Userlist2.sum7 - Userlist3.sum7 as [дата7]     
FROM [dataPivot$] a
LEFT JOIN (
SELECT 
sum(b.[дата1]) as [sum1],
sum(b.[дата2]) as [sum2],
sum(b.[дата3]) as [sum3],
sum(b.[дата4]) as [sum4],
sum(b.[дата5]) as [sum5],
sum(b.[дата6]) as [sum6],
sum(b.[дата7]) as [sum7],
b.[счет] as [account]
FROM [USERLIST-temp$] b
GROUP BY b.[счет]) AS Userlist1 ON (Userlist1.[account] = a.[счета  1 -го порядка(А)])
LEFT JOIN (
SELECT 
sum(c.[дата1]) as [sum1],
sum(c.[дата2]) as [sum2],
sum(c.[дата3]) as [sum3],
sum(c.[дата4]) as [sum4],
sum(c.[дата5]) as [sum5],
sum(c.[дата6]) as [sum6],
sum(c.[дата7]) as [sum7],
c.[счет2] as [account]
FROM [USERLIST-temp$] c
GROUP BY c.[счет]) as Userlist2 ON ([Userlist2].[account] = a.[счета  2 -го порядка(А)])
LEFT JOIN (
SELECT 
sum(d.[дата1]) as [sum1],
sum(d.[дата2]) as [sum2],
sum(d.[дата3]) as [sum3],
sum(d.[дата4]) as [sum4],
sum(d.[дата5]) as [sum5],
sum(d.[дата6]) as [sum6],
sum(d.[дата7]) as [sum7],
d.[счет2] as [account]
FROM [USERLIST-temp$] d
GROUP BY d.[счет]) as Userlist3 ON (Userlist3.account = a.[за вычетом cчетов  2 -го порядка(А)])
...
Рейтинг: 0 / 0
16 сообщений из 41, страница 2 из 2
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / не получается вернуть данные :(
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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