powered by simpleCommunicator - 2.0.52     © 2025 Programmizd 02
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Как из таблици данных сделать массив
10 сообщений из 10, страница 1 из 1
Как из таблици данных сделать массив
    #39722694
Serggey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день. Есть таблица TAB1 ее необходимо преобразовать в TAB2 см. снимок. Подскажите, пжл, такое возможно в Access? Если да то как?
Спасибо.
...
Рейтинг: 0 / 0
Как из таблици данных сделать массив
    #39722696
Озверин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Serggey, вот если бы наоборот от TAB2 к TAB1 - то Transform+Pivot. А так - без VBA не обойтись.
...
Рейтинг: 0 / 0
Как из таблици данных сделать массив
    #39722700
Serggey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Озверин, в эклесле такое упражнение можно сделать тоже при помощи VBA или при помощи нескольких преобразований сводными таблицами, я задался вопросом о возможности преобразования в ACCESS данной трансформации минуя VBA (так как не силен в VBA) но если это возможно только через VBA тогда буду расширять свои знания. Возможно подскажите код?
Спасибо.
...
Рейтинг: 0 / 0
Как из таблици данных сделать массив
    #39722717
Прогер_самоучка
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SerggeyОзверин, в эклесле такое упражнение можно сделать тоже при помощи VBA или при помощи нескольких преобразований сводными таблицами, я задался вопросом о возможности преобразования в ACCESS данной трансформации минуя VBA (так как не силен в VBA) но если это возможно только через VBA тогда буду расширять свои знания. Возможно подскажите код?
Спасибо.
что-то типо такого.
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
    DoEvents

    For i = 0 To CurrentDb.TableDefs("tab1").Fields.Count - 1
        fn = CurrentDb.TableDefs("tab1").Fields(i).Name
       
        Currentdb.execute " INSERT INTO tab2(ID, account, amount) " & "
                            SELECT ID, '" & fn & "', tr.[" & fn & "] AS val FROM tab1 AS tr"
            
            On Error Resume Next

            On Error GoTo 0
            DoEvents
    Next i
    DoCmd.SetWarnings True
...
Рейтинг: 0 / 0
Как из таблици данных сделать массив
    #39722720
Прогер_самоучка
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Прогер_самоучкаSerggeyОзверин, в эклесле такое упражнение можно сделать тоже при помощи VBA или при помощи нескольких преобразований сводными таблицами, я задался вопросом о возможности преобразования в ACCESS данной трансформации минуя VBA (так как не силен в VBA) но если это возможно только через VBA тогда буду расширять свои знания. Возможно подскажите код?
Спасибо.
что-то типо такого.
пардон,
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
    DoEvents

    For i = 0 To CurrentDb.TableDefs("tab1").Fields.Count - 1
        fn = CurrentDb.TableDefs("tab1").Fields(i).Name
       
        Currentdb.execute " INSERT INTO tab2(ID, account, amount) " & _
                          " SELECT ID, '" & fn & "', tr.[" & fn & "] AS val FROM tab1 AS tr"
            
            On Error Resume Next

            On Error GoTo 0
            DoEvents
    Next i
    DoCmd.SetWarnings True
...
Рейтинг: 0 / 0
Как из таблици данных сделать массив
    #39722737
Фотография __Michelle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Serggey,

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
SELECT * INTO TAB2
FROM [SELECT ID, "RENT_01_18" AS Account, RENT_01_18 AS Amount FROM TAB1
UNION ALL
SELECT ID, "RENT_02_18", RENT_02_18 FROM TAB1
UNION ALL
SELECT ID, "RENT_03_18", RENT_03_18 FROM TAB1
UNION ALL
SELECT ID, "RENT_04_18", RENT_04_18 FROM TAB1]. AS T
...
Рейтинг: 0 / 0
Как из таблици данных сделать массив
    #39722758
Фотография __Michelle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Исправляю замеченное искажение:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
SELECT * INTO TAB2
FROM (SELECT ID, "RENT_01_18" AS Account, RENT_01_18 AS Amount FROM TAB1
UNION ALL
SELECT ID, "RENT_02_18", RENT_02_18 FROM TAB1
UNION ALL
SELECT ID, "RENT_03_18", RENT_03_18 FROM TAB1
UNION ALL
SELECT ID, "RENT_04_18", RENT_04_18 FROM TAB1) AS T
...
Рейтинг: 0 / 0
Как из таблици данных сделать массив
    #39722878
Фотография sdku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Как из таблици данных сделать массив
    #39724602
Serggey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем Большое Спасибо!
...
Рейтинг: 0 / 0
Как из таблици данных сделать массив
    #39724621
Фотография sdku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
делал второпях-не морща лоб-просмотрел еще раз. Должно быть так:
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
For i = 1 To intColumnCount - 1
        rs1.AddNew
            rs1(0) = rs(0)
                rs1(1) = rs(i).Name
            rs1(2) = rs(i)
        rs1.Update
    Next
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Как из таблици данных сделать массив
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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