powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / уникальный ключ при импорте
10 сообщений из 10, страница 1 из 1
уникальный ключ при импорте
    #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
уникальный ключ при импорте
    #39621060
Фотография Панург
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Beliar, можно добавить сразу после импорта
Код: vbnet
1.
CurrentProject.Connection.Execute "ALTER TABLE [t_ImportGorod] ADD COLUMN [ID] COUNTER"



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

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



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

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

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

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


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