Мемо поля - чтение/запись через функции.
Модераторы: m0p3e, edward_K, Модераторы
-
- Местный житель
- Сообщения: 2896
- Зарегистрирован: 24 июн 2005, 12:12
- Откуда: Иркутская область
Мемо поля - чтение/запись через функции.
Давно, чтобы добавить что-то в мемо-поле программно, выгружал его в текстовый файл, потом дописывал в конец в текстовый файл строчку и загружал его обратно в мемо-поле.
С тех пор не работал с ними, но вот понадобилось.
Может быть появились функции чтения/записей мемо-полей напрямую?
Необходима возможность периодически дописывать строки вконец мемо-поля. (типа журнала).
С тех пор не работал с ними, но вот понадобилось.
Может быть появились функции чтения/записей мемо-полей напрямую?
Необходима возможность периодически дописывать строки вконец мемо-поля. (типа журнала).
-
- Местный житель
- Сообщения: 2896
- Зарегистрирован: 24 июн 2005, 12:12
- Откуда: Иркутская область
Re: Мемо поля - чтение/запись через функции.
и снова мемо-поля! храню xls файлы в мемо-полях, но необходимо чтобы пользователь зашел в этот файл по даблклику мыши и внес изменения в файл. потом нажимает сохранить файл, закрывает. входит повторно - изменения в файле не сохранились. есть какой-нибудь решение позволяющее оставить внесенные изменения в эксель файле, живущем в мемо-поле?
Re: Мемо поля - чтение/запись через функции.
Сохранить в файл, импорт из файла
хороший программист — это человек, который переходя улицу с односторонним движением смотрит в обе стороны
-
- Местный житель
- Сообщения: 2896
- Зарегистрирован: 24 июн 2005, 12:12
- Откуда: Иркутская область
Re: Мемо поля - чтение/запись через функции.
каким образом? есть интерфейс, у него выведено мемо-поле. пользователь заходит в файл правит жмет сохранить и закрывает. в каком момент ловить и записывать а главное откуда? файл в же в темп открывается. вроде бы раньше сохраненные изменения в экселе сохранялись с мемо-поле... 5.4.35 атлантис.
-
- Постоянный обитатель
- Сообщения: 123
- Зарегистрирован: 01 фев 2007, 12:45
- Откуда: Магнитогорск
- Контактная информация:
Re: Мемо поля - чтение/запись через функции.
Я вот так выцеплял мемо-поле:
Потом перекодировал его в виндовую кодировку, и отображал.
Чтобы закинуть изменённый документ в базу, надо отловить событие его изменения. В Галактике это сделать проблематично, но на помощь приходит распрекрасный и замечательный Visual Basic! Создайте в нём макрос, повесьте его на Ctrl+S, сделайте ссылку проекта на ADODB и напишите примерно следующее:
В приведённом примере значение mem.id берётся из верхней левой ячейки документа, но можно поместить его в любую другую, чтоб не маячило перед глазами. При распаковке документа можно просто обновлять значение id в этой ячейке.
P.S. Можно сделать и не через ADODB, через запросы самого документа, но мне такой способ не очень нравится
Код: Выделить всё
select mem.MemoData
FROM gal.indent ind
LEFT OUTER JOIN gal.sys#memo mem
ON ind.fInfo = mem.id
Чтобы закинуть изменённый документ в базу, надо отловить событие его изменения. В Галактике это сделать проблематично, но на помощь приходит распрекрасный и замечательный Visual Basic! Создайте в нём макрос, повесьте его на Ctrl+S, сделайте ссылку проекта на ADODB и напишите примерно следующее:
Код: Выделить всё
Sub MySaveMemo()
ActiveDocument.Save 'обновление документа на диске
Dim Qry As ADODB.Query
Qry.ConnectionString = "строка соединения"
Qry.CommandText = "update gal.sys#memo set <назначения> where id = " & Cells(1,1)
Qry.Execute
End Sub
P.S. Можно сделать и не через ADODB, через запросы самого документа, но мне такой способ не очень нравится
Испытываю траблы с даблами
ВИП — Велосипедо-Изобретательская Парадигма
САППОРТ — Сборище Абсолютно Пустых Посредственно Образованных Ржущих Троллей
ВИП — Велосипедо-Изобретательская Парадигма
САППОРТ — Сборище Абсолютно Пустых Посредственно Образованных Ржущих Троллей
-
- Местный житель
- Сообщения: 2896
- Зарегистрирован: 24 июн 2005, 12:12
- Откуда: Иркутская область
Re: Мемо поля - чтение/запись через функции.
это всё хорошо, но к чему изобретать велосипед? Это работало штатными средствами... у кого галактика обновлена, проверьте пожалуйста, работает сохранение изменений в эксель файле?
-
- Местный житель
- Сообщения: 2896
- Зарегистрирован: 24 июн 2005, 12:12
- Откуда: Иркутская область
Re: Мемо поля - чтение/запись через функции.
Ответ из ТП:
Подобная проблема решилась в Атлантисе 5.4.36
Номер ПИР 103.5101 "На SQL Server 2000 не получается модифицировать мемо-поле, если таблица журналируется."
Инструкция по настройке: "Выполнить проверку БД в режиме исправления с параметром "Проверка корректности триггеров" (ChkBase.Triggers=on)."
я попробовал на 5.4.37 - у нас не получилось, попробуйте кто нибудь ещё плиз, чтобы знать на кого бочку катить, на нашего админа или на ТП.
Подобная проблема решилась в Атлантисе 5.4.36
Номер ПИР 103.5101 "На SQL Server 2000 не получается модифицировать мемо-поле, если таблица журналируется."
Инструкция по настройке: "Выполнить проверку БД в режиме исправления с параметром "Проверка корректности триггеров" (ChkBase.Triggers=on)."
я попробовал на 5.4.37 - у нас не получилось, попробуйте кто нибудь ещё плиз, чтобы знать на кого бочку катить, на нашего админа или на ТП.
-
- Постоянный обитатель
- Сообщения: 123
- Зарегистрирован: 01 фев 2007, 12:45
- Откуда: Магнитогорск
- Контактная информация:
Re: Мемо поля - чтение/запись через функции.
ТП писал(а):Подобная проблема решилась в Атлантисе 5.4.36
Похоже, опять поломалиАлексей писал(а):я попробовал на 5.4.37 - у нас не получилось
Испытываю траблы с даблами
ВИП — Велосипедо-Изобретательская Парадигма
САППОРТ — Сборище Абсолютно Пустых Посредственно Образованных Ржущих Троллей
ВИП — Велосипедо-Изобретательская Парадигма
САППОРТ — Сборище Абсолютно Пустых Посредственно Образованных Ржущих Троллей
-
- Местный житель
- Сообщения: 2896
- Зарегистрирован: 24 июн 2005, 12:12
- Откуда: Иркутская область
Re: Мемо поля - чтение/запись через функции.
Мне не верят, ответ ТП:
у кого нибудь есть MSSQL атлантис 5.4.37. Попробуйте в любое мемо-поле сохранить эксель файл. потом открыть его двойным мышкой в мемо-поле, там поправить, нажать сохранить и закрыть. открыть заново. изменения сохранятся? спасибо.Подробнее опишите проблему, откуда Вы открываете документ, как сохраняете. Желательно скриншоты или видеоролик.
Нужна информация какая версия ОС установлена на сервере и версия Microsoft SQL Server (версия с SP).
Под всеми пользователями такая ошибка возникает? Без пользовательских ресурсов ошибка повторяется?
Пришлите сводный отчет. Корректна система в Патчменеджере?
-
- Местный житель
- Сообщения: 2896
- Зарегистрирован: 24 июн 2005, 12:12
- Откуда: Иркутская область
Re: Мемо поля - чтение/запись через функции.
Выяснилось следующее: карточка объекта ремонта, вкладка документы. создаем новый документ, в мемо-поле пишем эксель файл.
выходим. заходит пользователь, вкладка документы и видит в мемо-поле эксель. жмет два раза мышкой - правит сохраняет выходит - ничего не сохранилось. НО если нажать на позиции документа ф4 - то мы как бы проваливаемся в редактирование документа. и вот если там уже нажать 2 раза мышкой и провалится в эксель, то изменения внесённые в файл сохраняются.
плохо что в открытом экселе не видно как он открывался, на редактирование или нет.
выходим. заходит пользователь, вкладка документы и видит в мемо-поле эксель. жмет два раза мышкой - правит сохраняет выходит - ничего не сохранилось. НО если нажать на позиции документа ф4 - то мы как бы проваливаемся в редактирование документа. и вот если там уже нажать 2 раза мышкой и провалится в эксель, то изменения внесённые в файл сохраняются.
плохо что в открытом экселе не видно как он открывался, на редактирование или нет.
-
- Постоянный обитатель
- Сообщения: 123
- Зарегистрирован: 01 фев 2007, 12:45
- Откуда: Магнитогорск
- Контактная информация:
Re: Мемо поля - чтение/запись через функции.
Докомпилируйте интерфейс, что ли, и сделайте по cmDefault вызов cmEdit... Должно помочь.Алексей писал(а):плохо что в открытом экселе не видно как он открывался, на редактирование или нет.
Испытываю траблы с даблами
ВИП — Велосипедо-Изобретательская Парадигма
САППОРТ — Сборище Абсолютно Пустых Посредственно Образованных Ржущих Троллей
ВИП — Велосипедо-Изобретательская Парадигма
САППОРТ — Сборище Абсолютно Пустых Посредственно Образованных Ржущих Троллей
-
- Местный житель
- Сообщения: 2896
- Зарегистрирован: 24 июн 2005, 12:12
- Откуда: Иркутская область
Re: Мемо поля - чтение/запись через функции.
тогда уж свойство протект у мемо-поля снять будет достаточным. ну, куда копать понятно...