Специфический Импорт Из Ёкселя

  • Автор темы Автор темы beloff
  • Дата начала Дата начала
B

beloff

Всем добрый. Есть такая задача: импортировать регулярно кучу инфы из ёкселя в лотус (дисконтные карты покупателей, список которых постоянно пополняется). Выгружается из другой системы в ексель файл. Реализовать это в лотус знаю как. Как с наименьшими проблемами реализовать постоянное обновление этой базы при выгрузке в Лотус (тоже знаю как но наименьшими проблемами это назвать не могу), т.е. актуализировать БД в ЛОтусе чтобы пополнялась БД только новыми записями, которых в Лотусе нету
 
А выгружать в Excel только новые нельзя?
Номер карты уникален, как ключ поиска по документам подойдет. Искать можно через DigestSearch.

Думаю для данной задачи подойдет очень хорошо.
 
savl очень вам большое спсибо, сейчас буду изучать
+ в репу
 
Спасибо, но опять же... Можно использовать, а можно и вьюхой обойтись.
Но есть идея некого гибрида:
Если база только-только будет заполняться, и никаких записей еще нет.
При создании документов, при первой выгрузке, генерить им UniversalID, как используется в "DS".
Таким образом можно избавиться от базы индекса, по сути сделать хранилище доков и индекс одной базой.
Возможно импорт будет увеличен по времени, но уникальность данных сохраниться.
И вопрос, не понадобиться ли обновлять уже загруженные записи в дальнейшем?
 
в первый раз конечно просто конвертну, это потом уже при подгружении новых поставлю на проверку. Обновлять скорей всего не потребуется, т.к. более 300 000 записей будет, универсал ИД зачем? у них будет уникальный номер карты, по-мойму просто дублирование (хотя может чего то не догоняю). Про вьюху только потом сообразил getdocumentbykey (тоже кста, отличный способ шустрого поиска). Индекс все равно надо будет создавать т.к. у нас очень любят поиском пользоваться пользователи (кста, отличная скороговорка: пользователи поиском пользовались-пользовались да не выпользовались)
 
делал базу для "универсального" импорта/экспорта...
одна из версий здесь есть
https://codeby.net/threads/41201.html?vi...st&p=210192
есть желание - разбирайтесь



Добавлено: коротко - зачем создавалась https://codeby.net/threads/41202.html?vi...st&p=210194
есть уже версия свежее...:
1.0.7b:
-введены доп. константы для конфигурации (маппинга полей):
Const NOTUNIQ_SIGN={NU} 'не обрабатывать массивы на уникальность использовать вместе с опцией APPEND_SIGN
Const DEL_SIGN={D} 'удаляет значение из поля если встретит соответствие в поле (актуально для мультивэлью)
-реализована обработка удаления (в мультивэлью полях)
-обработка коллекции документов (если поиск по ключу выдает > 1 значения)
-обрабатывает все листы XLS файла (раньше был только первый, в будущих конфигурациях необходимо предусмотреть выбор листов)
-добавлено логирование в файл (при соответ. опции, либа ErrorHandling)
 
beloff

откуда данные попадают в ексель? может стоит обеденить две системы и откинуть промежуточный етап с екселем?
 
Я бы все таки подумал об прямом взаимодействии Лотуса с платформой данных. Что там: MS SQL, ORACLE...
Уйдет "брехучий телефончик" в виде EXCEL, перестаем зависить от пользователей, выборками можешь рулить сам, импорт можно сделать фоновым.
Если работаешь с нарастающим ключом, всегда можно получить значение ключа последней импортированой записи и по SELECT получать уже не все,
а вновь добавленные. Аналогично по ключу можно организовать и синхронизацию уже имеющихся записей.
 
beloff

ну так вот вам задача которая поможет расширить ваши знания в области odbc. Кристал репортс ето имхо mssql . если попробуете поискать по форуму то найдете кучу информации
Вот пример: https://codeby.net/threads/22647.html?hl=ODBCClass
 
Насколько я помню, кристал это система построения отчетов, она сама данные вроде не хранит.
Собирает их из реляционки, значит источник MS SQL скоре всего. Написать свой коннектор к ней не сильно долго, да и лучше, как заметил Anatoly. Лучше потратить чуть больше времени, за то будет прямое соединение.
Да и если покопаться можно найти примеры.
Посмотри Designer Help "Lotus Connector for ODBC", можно воспользоваться LEI Administrator, в Help так же расписано.
 
Данные в какой реляционке хранятся или в файлах?
 
Ну, если речь о продукте от «Кристалл Сервис» - то вот с их сайта:
"Одним из преимуществ SET Retail является многоплатформенность. Система обеспечит Вам свободу выбора всех компонентов IT-инфраструктуры. SET Retail поддерживает платформы Windows, Unix и Linux, а также популярные СУБД: MS SQL, MySQL, Oracle, Derby и т. д. "
Так что гадать можно долго :(
 
чего то ругается на fastsearchbykey пишу

strng = xlCells(i,2).Value
Set dsrch = FastSearchByKey(db, strng)

пишет illegal parenthesized reference
 
Dim strng As String

строка и есть строка. фуллтрим же из массивов убрает пустые элементы (из строк пробелы но там пробелов нету). может эту функцию надо как то подключить? я то вписал use digestsearchlib но он ругается на стадии компиляции

ЗЫ %INCLUDE не делал ничего
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!