powered by simpleCommunicator - 2.0.55     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Массовое изменение наименований полей
13 сообщений из 13, страница 1 из 1
Массовое изменение наименований полей
    #39331480
baitokberik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Здравствуйте! У меня такой вопрос:
Я выгружаю из нашей базы файлы с форматом CSV, заливаю их в ACCESS, и через конструктор запросов провожу промежуточное суммирование строк. Но мне необходимо изменить наименование столбцов прежде чем экспортировать их в EXCEL.

Базовое наименование столбцов при выгрузке: field_100_00_001, field_100_00_002 и т.д.
Наименование столбцов после промежуточных итогов: Sum-field_100_00_001, Sum-field_100_00_002 и т.д.
Желаемое отображение наименований столбцов: 100.00.001, 100.00.002

Внимание вопрос:
Какую функцию применить что-бы получить желаемый результат, так как в ручную не вариант потому что их очень много. Нужен вариант для применения в Access-a.

Спасибо большое!
...
Рейтинг: 0 / 0
Массовое изменение наименований полей
    #39331526
PWW
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
baitokberik,

Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
Private Sub Translitatsiya_tablits()
Set db = CurrentDb()
For Index = 0 To db.TableDefs.Count - 1

    If Left(db.TableDefs(Index).name, 4) <> "MSys" Then
        tablename = db.TableDefs(Index).name
        db.TableDefs(Index).name = Translit(tablename) 'rename all tables
        tablename = db.TableDefs(Index).name
        'MsgBox (tablename)
        Set tdf = db.TableDefs(tablename)
        For Each n In tdf.Fields
            oldname = n.name
            n.name = Translit(oldname) ' Replace(oldname, "xxx", "yyyyyy") ' rename all fields
        Next n
    End If
Next
Set tdf = Nothing
Set db = Nothing
MsgBox ("rename tables - OK!")
end sub




Функция транслитерирует названия с русского на английский.
В твоем случае вместо нее надо обработать строку так как тебе надо.
...
Рейтинг: 0 / 0
Массовое изменение наименований полей
    #39331529
PWW
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Translit это та самая функция которая переименовывает названия таблиц и полей.
...
Рейтинг: 0 / 0
Массовое изменение наименований полей
    #39331530
baitokberik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SELECT [100-2011].РНН, Sum([100-2011].field_100_00_001) AS [Sum-field_100_00_001], Sum([100-2011].field_100_00_001_1) AS [Sum-field_100_00_001_1], Sum([100-2011].field_100_00_001_2) AS [Sum-field_100_00_001_2], Sum([100-2011].field_100_00_001_3) AS [Sum-field_100_00_001_3], Sum([100-2011].field_100_00_001_4) AS [Sum-field_100_00_001_4], Sum([100-2011].field_100_00_002) AS [Sum-field_100_00_002], Sum([100-2011].field_100_00_003) AS [Sum-field_100_00_003], Sum([100-2011].field_100_00_004) AS [Sum-field_100_00_004], Sum([100-2011].field_100_00_005) AS [Sum-field_100_00_005], Sum([100-2011].field_100_00_005_1) AS [Sum-field_100_00_005_1], Sum([100-2011].field_100_00_005_2) AS [Sum-field_100_00_005_2], Sum([100-2011].field_100_00_006) AS [Sum-field_100_00_006], Sum([100-2011].field_100_00_007) AS [Sum-field_100_00_007], Sum([100-2011].field_100_00_007_1) AS [Sum-field_100_00_007_1], Sum([100-2011].field_100_00_007_2) AS [Sum-field_100_00_007_2], Sum([100-2011].field_100_00_008) AS [Sum-field_100_00_008], Sum([100-2011].field_100_00_009) AS [Sum-field_100_00_009], Sum([100-2011].field_100_00_010) AS [Sum-field_100_00_010], Sum([100-2011].field_100_00_011) AS [Sum-field_100_00_011], Sum([100-2011].field_100_00_012) AS [Sum-field_100_00_012], Sum([100-2011].field_100_00_013) AS [Sum-field_100_00_013], Sum([100-2011].field_100_00_014) AS [Sum-field_100_00_014], Sum([100-2011].field_100_00_015) AS [Sum-field_100_00_015], Sum([100-2011].field_100_00_016) AS [Sum-field_100_00_016], Sum([100-2011].field_100_00_017) AS [Sum-field_100_00_017], Sum([100-2011].field_100_00_018) AS [Sum-field_100_00_018], Sum([100-2011].field_100_00_019) AS [Sum-field_100_00_019], Sum([100-2011].field_100_00_020) AS [Sum-field_100_00_020], Sum([100-2011].field_100_00_021) AS [Sum-field_100_00_021], Sum([100-2011].field_100_00_022) AS [Sum-field_100_00_022], Sum([100-2011].field_100_00_023) AS [Sum-field_100_00_023], Sum([100-2011].field_100_00_024) AS [Sum-field_100_00_024], Sum([100-2011].field_100_00_025) AS [Sum-field_100_00_025], Sum([100-2011].field_100_00_026) AS [Sum-field_100_00_026], Sum([100-2011].field_100_00_027) AS [Sum-field_100_00_027], Sum([100-2011].field_100_00_028) AS [Sum-field_100_00_028], Sum([100-2011].field_100_00_028_1) AS [Sum-field_100_00_028_1], Sum([100-2011].field_100_00_028_2) AS [Sum-field_100_00_028_2], Sum([100-2011].field_100_00_028_3) AS [Sum-field_100_00_028_3], Sum([100-2011].field_100_00_028_4) AS [Sum-field_100_00_028_4], Sum([100-2011].field_100_00_028_5) AS [Sum-field_100_00_028_5], Sum([100-2011].field_100_00_028_6) AS [Sum-field_100_00_028_6], Sum([100-2011].field_100_00_028_7) AS [Sum-field_100_00_028_7], Sum([100-2011].field_100_00_028_8) AS [Sum-field_100_00_028_8], Sum([100-2011].field_100_00_028_9) AS [Sum-field_100_00_028_9], Sum([100-2011].field_100_00_028_10) AS [Sum-field_100_00_028_10], Sum([100-2011].field_100_00_028_11) AS [Sum-field_100_00_028_11], Sum([100-2011].field_100_00_028_12) AS [Sum-field_100_00_028_12], Sum([100-2011].field_100_00_028_13) AS [Sum-field_100_00_028_13], Sum([100-2011].field_100_00_028_14) AS [Sum-field_100_00_028_14], Sum([100-2011].field_100_00_028_15) AS [Sum-field_100_00_028_15], Sum([100-2011].field_100_00_029) AS [Sum-field_100_00_029], Sum([100-2011].field_100_00_030) AS [Sum-field_100_00_030], Sum([100-2011].field_100_00_030_1) AS [Sum-field_100_00_030_1], Sum([100-2011].field_100_00_030_1_A) AS [Sum-field_100_00_030_1_A], Sum([100-2011].field_100_00_030_1_B) AS [Sum-field_100_00_030_1_B], Sum([100-2011].field_100_00_030_1_C) AS [Sum-field_100_00_030_1_C], Sum([100-2011].field_100_00_030_2) AS [Sum-field_100_00_030_2], Sum([100-2011].field_100_00_030_2_A) AS [Sum-field_100_00_030_2_A], Sum([100-2011].field_100_00_030_2_B) AS [Sum-field_100_00_030_2_B], Sum([100-2011].field_100_00_030_2_C) AS [Sum-field_100_00_030_2_C], Sum([100-2011].field_100_00_030_3) AS [Sum-field_100_00_030_3], Sum([100-2011].field_100_00_030_3_A) AS [Sum-field_100_00_030_3_A], Sum([100-2011].field_100_00_030_3_B) AS [Sum-field_100_00_030_3_B], Sum([100-2011].field_100_00_030_3_C) AS [Sum-field_100_00_030_3_C], Sum([100-2011].field_100_00_030_3_D) AS [Sum-field_100_00_030_3_D], Sum([100-2011].field_100_00_030_3_E) AS [Sum-field_100_00_030_3_E], Sum([100-2011].field_100_00_030_3_F) AS [Sum-field_100_00_030_3_F], Sum([100-2011].field_100_00_030_3_G) AS [Sum-field_100_00_030_3_G], Sum([100-2011].field_100_00_030_3_H) AS [Sum-field_100_00_030_3_H], Sum([100-2011].field_100_00_030_4) AS [Sum-field_100_00_030_4], Sum([100-2011].field_100_00_030_5) AS [Sum-field_100_00_030_5], Sum([100-2011].field_100_00_030_6) AS [Sum-field_100_00_030_6], Sum([100-2011].field_100_00_030_7) AS [Sum-field_100_00_030_7], Sum([100-2011].field_100_00_030_8) AS [Sum-field_100_00_030_8], Sum([100-2011].field_100_00_030_9) AS [Sum-field_100_00_030_9], Sum([100-2011].field_100_00_031) AS [Sum-field_100_00_031], Sum([100-2011].field_100_00_032) AS [Sum-field_100_00_032], Sum([100-2011].field_100_00_033) AS [Sum-field_100_00_033], Sum([100-2011].field_100_00_034) AS [Sum-field_100_00_034], Sum([100-2011].field_100_00_035) AS [Sum-field_100_00_035], Sum([100-2011].field_100_00_036) AS [Sum-field_100_00_036], Sum([100-2011].field_100_00_037) AS [Sum-field_100_00_037], Sum([100-2011].field_100_00_038) AS [Sum-field_100_00_038], Sum([100-2011].field_100_00_039) AS [Sum-field_100_00_039], Sum([100-2011].field_100_00_040) AS [Sum-field_100_00_040], Sum([100-2011].field_100_00_041) AS [Sum-field_100_00_041], Sum([100-2011].field_100_00_042) AS [Sum-field_100_00_042], Sum([100-2011].field_100_00_043) AS [Sum-field_100_00_043], Sum([100-2011].field_100_00_043_1) AS [Sum-field_100_00_043_1], Sum([100-2011].field_100_00_043_2) AS [Sum-field_100_00_043_2], Sum([100-2011].field_100_00_044) AS [Sum-field_100_00_044], Sum([100-2011].field_100_00_044_1) AS [Sum-field_100_00_044_1], Sum([100-2011].field_100_00_044_2) AS [Sum-field_100_00_044_2], Sum([100-2011].field_100_00_045_1) AS [Sum-field_100_00_045_1], Sum([100-2011].field_100_00_045_2) AS [Sum-field_100_00_045_2], Sum([100-2011].field_100_00_045_3) AS [Sum-field_100_00_045_3], Sum([100-2011].field_100_00_046) AS [Sum-field_100_00_046], Sum([100-2011].field_100_00_047) AS [Sum-field_100_00_047], Sum([100-2011].field_100_00_048) AS [Sum-field_100_00_048], Sum([100-2011].field_100_00_049_1) AS [Sum-field_100_00_049_1], Sum([100-2011].field_100_00_049_2) AS [Sum-field_100_00_049_2], Sum([100-2011].field_100_00_049_3) AS [Sum-field_100_00_049_3], Sum([100-2011].field_100_00_050) AS [Sum-field_100_00_050], Sum([100-2011].field_100_00_051) AS [Sum-field_100_00_051], Sum([100-2011].field_100_00_052) AS [Sum-field_100_00_052], Sum([100-2011].field_100_00_053) AS [Sum-field_100_00_053], Sum([100-2011].field_100_00_054) AS [Sum-field_100_00_054], Sum([100-2011].field_100_00_054_1) AS [Sum-field_100_00_054_1], Sum([100-2011].field_100_00_055) AS [Sum-field_100_00_055], Sum([100-2011].field_100_00_056) AS [Sum-field_100_00_056], Sum([100-2011].field_100_00_057) AS [Sum-field_100_00_057], Sum([100-2011].field_100_00_057_1) AS [Sum-field_100_00_057_1], Sum([100-2011].field_100_00_058) AS [Sum-field_100_00_058], Sum([100-2011].field_100_00_058_1) AS [Sum-field_100_00_058_1], Sum([100-2011].field_100_00_058_2) AS [Sum-field_100_00_058_2], Sum([100-2011].field_100_00_058_3) AS [Sum-field_100_00_058_3], Sum([100-2011].field_100_00_059) AS [Sum-field_100_00_059], Sum([100-2011].field_100_00_059_1) AS [Sum-field_100_00_059_1], Sum([100-2011].field_100_00_059_2) AS [Sum-field_100_00_059_2], Sum([100-2011].field_100_00_060) AS [Sum-field_100_00_060], Sum([100-2011].field_100_00_061) AS [Sum-field_100_00_061], Sum([100-2011].field_100_00_061_1) AS [Sum-field_100_00_061_1], Sum([100-2011].field_100_00_062) AS [Sum-field_100_00_062], Sum([100-2011].field_100_00_063) AS [Sum-field_100_00_063], Sum([100-2011].field_100_00_064) AS [Sum-field_100_00_064], Sum([100-2011].field_100_00_064w) AS [Sum-field_100_00_064w], Sum([100-2011].field_100_00_065) AS [Sum-field_100_00_065], Sum([100-2011].field_100_00_065_A) AS [Sum-field_100_00_065_A], Sum([100-2011].field_100_00_065_A_1) AS [Sum-field_100_00_065_A_1], Sum([100-2011].field_100_00_065_A_2) AS [Sum-field_100_00_065_A_2], Sum([100-2011].field_100_00_065_A_3) AS [Sum-field_100_00_065_A_3], Sum([100-2011].field_100_00_065_A_4) AS [Sum-field_100_00_065_A_4], Sum([100-2011].field_100_00_065_A_5) AS [Sum-field_100_00_065_A_5], Sum([100-2011].field_100_00_065_B) AS [Sum-field_100_00_065_B], Sum([100-2011].field_100_00_065_B_1) AS [Sum-field_100_00_065_B_1], Sum([100-2011].field_100_00_065_B_2) AS [Sum-field_100_00_065_B_2], Sum([100-2011].field_100_00_065_B_3) AS [Sum-field_100_00_065_B_3], Sum([100-2011].field_100_00_065_B_4) AS [Sum-field_100_00_065_B_4], Sum([100-2011].field_100_00_065_B_5) AS [Sum-field_100_00_065_B_5], Sum([100-2011].field_100_00_065_B_6) AS [Sum-field_100_00_065_B_6], Sum([100-2011].field_100_00_065_B_7) AS [Sum-field_100_00_065_B_7], Sum([100-2011].field_100_00_065_B_8) AS [Sum-field_100_00_065_B_8], Sum([100-2011].field_100_00_065_B_9) AS [Sum-field_100_00_065_B_9], Sum([100-2011].field_100_00_066) AS [Sum-field_100_00_066], Sum([100-2011].field_100_00_066w) AS [Sum-field_100_00_066w], Sum([100-2011].field_100_00_067) AS [Sum-field_100_00_067], Sum([100-2011].field_100_00_068) AS [Sum-field_100_00_068], Sum([100-2011].field_100_00_068w) AS [Sum-field_100_00_068w], Sum([100-2011].field_100_00_069) AS [Sum-field_100_00_069], Sum([100-2011].field_100_00_070) AS [Sum-field_100_00_070], Sum([100-2011].field_100_00_071) AS [Sum-field_100_00_071], Sum([100-2011].field_100_00_071w) AS [Sum-field_100_00_071w], Sum([100-2011].field_100_00_072) AS [Sum-field_100_00_072], Sum([100-2011].field_100_00_073_1) AS [Sum-field_100_00_073_1], Sum([100-2011].field_100_00_073_2) AS [Sum-field_100_00_073_2], Sum([100-2011].field_100_00_074) AS [Sum-field_100_00_074], Sum([100-2011].field_100_00_074_1) AS [Sum-field_100_00_074_1], Sum([100-2011].field_100_00_074_1w) AS [Sum-field_100_00_074_1w], Sum([100-2011].field_100_00_074_2) AS [Sum-field_100_00_074_2], Sum([100-2011].field_100_00_074_3) AS [Sum-field_100_00_074_3], Sum([100-2011].field_100_00_074_4) AS [Sum-field_100_00_074_4], Sum([100-2011].field_100_00_074_5) AS [Sum-field_100_00_074_5], Sum([100-2011].field_100_00_075) AS [Sum-field_100_00_075], Sum([100-2011].field_100_00_076_1) AS [Sum-field_100_00_076_1], Sum([100-2011].field_100_00_076_2) AS [Sum-field_100_00_076_2], Sum([100-2011].field_100_00_076_2_1) AS [Sum-field_100_00_076_2_1], Sum([100-2011].field_100_00_076_3) AS [Sum-field_100_00_076_3], Sum([100-2011].field_100_00_076_4_1) AS [Sum-field_100_00_076_4_1], Sum([100-2011].field_100_00_076_4_2) AS [Sum-field_100_00_076_4_2], Sum([100-2011].field_100_00_077) AS [Sum-field_100_00_077], Sum([100-2011].field_100_00_078) AS [Sum-field_100_00_078], Sum([100-2011].field_100_00_079) AS [Sum-field_100_00_079], Sum([100-2011].field_100_00_080) AS [Sum-field_100_00_080], Sum([100-2011].field_100_00_081) AS [Sum-field_100_00_081], Sum([100-2011].field_100_00_082) AS [Sum-field_100_00_082], Sum([100-2011].field_100_00_083) AS [Sum-field_100_00_083], Sum([100-2011].field_100_00_084) AS [Sum-field_100_00_084], Sum([100-2011].field_100_00_085) AS [Sum-field_100_00_085], Sum([100-2011].field_100_00_086) AS [Sum-field_100_00_086]
FROM [100-2011]
GROUP BY [100-2011].РНН;
...
Рейтинг: 0 / 0
Массовое изменение наименований полей
    #39331532
Я не понял, на каком этапе вам требуется переименование.
1. Задать нужные имена полям можно в запросе.
2. При импорте из CSV настраивается спецификация, которую можно сохранить и использовать в дальнейшем. Там можно указать и имена полей.
...
Рейтинг: 0 / 0
Массовое изменение наименований полей
    #39331533
PWW
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Красиво.
...
Рейтинг: 0 / 0
Массовое изменение наименований полей
    #39331535
baitokberik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PWW, Спасибо за ответ, но в VBA вообще не разбираюсь(((
Другие варианты есть????
...
Рейтинг: 0 / 0
Массовое изменение наименований полей
    #39331539
PWW
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
baitokberik,

Тебе ответили при экспорте можно все поля переименовать.
2. При импорте из CSV настраивается спецификация, которую можно сохранить и использовать в дальнейшем. Там можно указать и имена полей.
...
Рейтинг: 0 / 0
Массовое изменение наименований полей
    #39331542
baitokberik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Анатолий ( Киев ),
У меня таких таблиц целая куча!!! И Ваши варианты слишком муторны, и если честно мне жутко лень это делать!
Я надеялся на какую нибудь переделку в самом SQL запросе...
...
Рейтинг: 0 / 0
Массовое изменение наименований полей
    #39331543
baitokberik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Просто они же не все одинаковые, каждый вид выгрузки разный но формат названия столбца примерно такой же.
...
Рейтинг: 0 / 0
Массовое изменение наименований полей
    #39331554
PWW
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
baitokberik,
посмотри
...
Рейтинг: 0 / 0
Массовое изменение наименований полей
    #39331638
baitokberikУ меня таких таблиц целая куча!!! Я надеялся на какую нибудь переделку в самом SQL запросе...

Если вам нужно во всех запросах убрать "Sum-field_" из имен, то можно так:
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
Sub RenameFields()
Dim db As Object, qdf As Object
   Set db = CurrentDB
 For Each qdf In db.QueryDefs
   qdf.SQL = Replace(qdf.SQL, "AS [Sum-field_", "AS [")
 Next
End Sub



С учетом "в VBA вообще не разбираюсь(((" инструктирую:
1. Перейдите в VBA (можно Alt+F11);
2. Создайте новый модуль (второй слева ярлычок в панели инструментов);
3. Вставьте текст процедуры в тело модуля;
4. Поместите курсор внутрь процедуры и нажмите картинку в панели инструментов в виде зеленого треугольника.
Тренироваться лучше на копии базы.

Да, и изучайте VBA. Без этого вы в Аксе ничего путнего не наваяете.
...
Рейтинг: 0 / 0
Массовое изменение наименований полей
    #39331708
baitokberik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Анатолий ( Киев ),
Спасибо большое, обещаю изучить. Как раз думаю этим заняться...
...
Рейтинг: 0 / 0
13 сообщений из 13, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Массовое изменение наименований полей
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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