Гость
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / уникальный ключ при импорте / 10 сообщений из 10, страница 1 из 1
27.03.2018, 11:45
    #39621033
Beliar
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
уникальный ключ при импорте
Всем доброго дня! Решил вместо ручного импорта сваять программный. Вот что состряпал:
Код: vbnet
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.
Private Sub cmd3_Click()
Dim strPatch As String
Dim i As Integer

On Error GoTo cmd3_Err
    
    With Application.FileDialog(1)
        .Title = "Ïîèñê ôàéëà: *.xls*"
        .InitialFileName = "c:\"
        .AllowMultiSelect = False
        .Filters.Clear
        .Filters.Add "Êíèãè Excel", "*.xls*", 1

        i = .Show
    
        If i = 0 Then
            strPatch = ""
        Else
            strPatch = Trim(.SelectedItems.Item(1))
        End If
    End With

    'MsgBox strPatch, vbInformation
    On Error Resume Next
    DoCmd.DeleteObject acTable, "t_ImportGorod"
    Err.Clear
    DoCmd.TransferSpreadsheet acImport, , "t_ImportGorod", strPatch, True

cmd3_Click_Bye:
    Exit Sub

cmd3_Err:
    MsgBox "Îøèáêà " & Err.Number & vbCrLf & Err.Description & vbCrLf & _
    "â ïðîöåäóðå: cmd3_Click", vbCritical, "Error!"
    Resume cmd3_Click_Bye
End Sub


Проверил, все работает. Подскажите, как сделать, чтобы при импорте создавалось поле с уникальным ключем (простой счетчик от 1 до беск.), или уже имеющееся поле, скажем с именем F2, сделать ключевым с заполнением соответствующими значениями?
...
Рейтинг: 0 / 0
27.03.2018, 12:04
    #39621060
Панург
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
уникальный ключ при импорте
Beliar, можно добавить сразу после импорта
Код: vbnet
1.
CurrentProject.Connection.Execute "ALTER TABLE [t_ImportGorod] ADD COLUMN [ID] COUNTER"



Но я бы не стал добавлять-удалять таблицу. Сделал бы инсерт в постоянно присутствующую таблицу t_ImportGorod.
...
Рейтинг: 0 / 0
27.03.2018, 12:10
    #39621067
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
уникальный ключ при импорте
Beliarкак сделать, чтобы при импорте создавалось поле с уникальным ключем (простой счетчик от 1 до беск.), или уже имеющееся поле, скажем с именем F2, сделать ключевым с заполнением соответствующими значениями?Никак.
Нужно ПОСЛЕ импорта добавить в структуру ключевое поле-счётчик. заполнение будет выполнено при сохранении новой структуры таблицы.
...
Рейтинг: 0 / 0
27.03.2018, 13:42
    #39621158
Beliar
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
уникальный ключ при импорте
AkinaBeliarкак сделать, чтобы при импорте создавалось поле с уникальным ключем (простой счетчик от 1 до беск.), или уже имеющееся поле, скажем с именем F2, сделать ключевым с заполнением соответствующими значениями?Никак.
Нужно ПОСЛЕ импорта добавить в структуру ключевое поле-счётчик. заполнение будет выполнено при сохранении новой структуры таблицы.
не один же раз нужно, да и не я, а юзер будет в дальнейшем импортить.

ПанургBeliar, можно добавить сразу после импорта
Код: vbnet
1.
CurrentProject.Connection.Execute "ALTER TABLE [t_ImportGorod] ADD COLUMN [ID] COUNTER"



Но я бы не стал добавлять-удалять таблицу. Сделал бы инсерт в постоянно присутствующую таблицу t_ImportGorod.
Зер гут, спасибо! а пересоздавать таблицу приходится, потому что только шесть полей статичны, остальные - рандом, но нужные.
...
Рейтинг: 0 / 0
27.03.2018, 13:45
    #39621163
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
уникальный ключ при импорте
Beliarне один же раз нужно, да и не я, а юзер будет в дальнейшем импортить.Я словами описАл то, что Панург сделал кодом.
...
Рейтинг: 0 / 0
27.03.2018, 14:10
    #39621191
Beliar
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
уникальный ключ при импорте
Akina,

Извинияюсь, мне показалось, речь идет о ручном добавлении ключевого поля)
...
Рейтинг: 0 / 0
27.03.2018, 18:30
    #39621517
alecko
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
уникальный ключ при импорте
эксель таким образом иногда импортируется кривовато (даже если строк до сотни), так что рекомендовал бы добавить код для проверки правильности импорта, и если не так, то импортнуть по новой - доходило до 5-6 попыток..
для создания ключа, я создавал новую колонку, и пробегался по ней рекордсетом.
создание новых таблиц хорошо когда размер создаваемой таблицы неизвестен, но в этом частном случае, если юзер сам будет импортировать, то вероятно размер получаемой таблицы известен, (НО их может быть несколько как и вариантов обработки)
...
Рейтинг: 0 / 0
06.04.2018, 06:42
    #39626467
dimamix
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
уникальный ключ при импорте
alecko,

Прошу помочь в решении следующей задачи.
Есть текстовый файл с картотекой следующей циклической структуры
1 строка: <НОМЕР><символ "."(точка)><символ " "(пробел)><ФИО>
2 строка:<ТЕКСТ>
3 строка:<пустая строка>
4 строка: <НОМЕР><.><ФИО>
5 строка:<ТЕКСТ>
6 строка:<пустая строка>
и так далее
ЗАДАЧА сделать из этого текстового файла электроннную таблицу
ВАРИАНТ 1:
Нужно читать его по строкам и вводить в три графы электронной таблицы
НОМЕР, ФИО, ТЕКСТ
ВАРИАНТ 2
Нужно читать его по строкам и выводить в файл с разделителями полей. не встречающимися в исходном тексте, например @, &, %, $, #,^,<,>,[,],{,},+,=,!
Этот файл можно будет ввести в электронную таблицу средствами импорта данных, которые имеются в Excel, Access и других программах работы с электронными таблицами

Заранее признателен
...
Рейтинг: 0 / 0
06.04.2018, 07:25
    #39626476
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
уникальный ключ при импорте
dimamix , если структура настолько регулярная - кто мешает преобразовать её в табличную? тупой импорт в готовую таблицу по принципу "одна строка -> одно текстовое поле", и затем одним запросом разнесение по полям на основании остатка от деления ключа-счётчика на 6...
...
Рейтинг: 0 / 0
06.04.2018, 21:25
    #39627040
alecko
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
уникальный ключ при импорте
dimamix, читаем файл построчно, сохраняем в таблице (внутренней)-здесь задача получить полностью достоверный импорт (естественно перевести нужно все), затем обрабатываете импортированные данные в таблице в базе, затем экспортируете.
...
Рейтинг: 0 / 0
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / уникальный ключ при импорте / 10 сообщений из 10, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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