![]() |
|
Получение текста из memo поля в access через ado | ☑ | ||
---|---|---|---|---|
0
irina_shport
16.09.13
✎
12:29
|
Привет. Подскажите, как получить значение поля memo из аксесса, соединение через ADODB.Connection. Value возвращает NULL. C остальными полями проблем нет. Как получить текст из мемо?(((( Второй день бьюсь.
|
|||
1
МихаилМ
16.09.13
✎
12:47
|
через ADODB.Connection
к access можно получить доступ минимум через 4 драйвера : isam,oledb,ace,odbc. будьте точнее в своих вопросах. |
|||
2
shuhard
16.09.13
✎
12:52
|
(0)[ Второй день бьюсь.]
ну используй гетчунк |
|||
3
irina_shport
16.09.13
✎
14:50
|
СтрокаПодключения = "Driver={Microsoft Access Driver (*.mdb, *.accdb)};Dbq=D:\1.accdb;Uid=;Pwd=;";
Connection = Новый COMОбъект("ADODB.Connection"); Попытка Connection.Open(СтрокаПодключения); Исключение Сообщить(ОписаниеОшибки()); Возврат; КонецПопытки; Command = Новый COMОбъект("ADODB.Command"); Command.ActiveConnection = Connection; Command.CommandText = "select * FROM table_one"; Command.CommandType = 1; RecordSet = Новый COMОбъект("ADODB.RecordSet"); RecordSet = Command.Execute(); Соединяюсь вот так, уточняю. Как быть? |
|||
4
irina_shport
16.09.13
✎
14:51
|
(2) гетчунк? что это?
|
|||
5
irina_shport
16.09.13
✎
14:52
|
(1) Уточнила, см выше, как быть?
|
|||
6
shuhard
16.09.13
✎
15:15
|
(4) гугл - где это ?
|
|||
7
МихаилМ
16.09.13
✎
15:26
|
что за ерунда
RecordSet = Новый COMОбъект("ADODB.RecordSet"); и тут же RecordSet = Command.Execute(); |
|||
8
irina_shport
16.09.13
✎
15:39
|
(7) эта ерунда работает и получает данные из аксесса, по делу можете подсказать?
|
|||
9
МихаилМ
16.09.13
✎
15:47
|
(8)
По делу Вам shuhard подсказал. |
|||
10
irina_shport
16.09.13
✎
15:50
|
(9) поняла, спасибо, рою просторы интернета, если возникнут вопросы - напишу =)
|
|||
11
irina_shport
16.09.13
✎
16:06
|
(6) спасибо за наводку, пообщались с гуглом, он мне посоветовал сделать вот так
Recordset.Fields(н).GetChunk(RecordSet.Fields(н).ActualSize) не получилось, пишет ошибку( что я делаю не так? очень прошу не стебаться и помочь, заранее большое спасибо |
|||
12
МихаилМ
16.09.13
✎
16:30
|
(11)
будьте точнее в своих вопросах. приведите текст ошибки преоразуйте строку Recordset.Fields(н).GetChunk(RecordSet.Fields(н).ActualSize) в curfield = Recordset.Fields(н); fieldsize = curfield.ActualSize; memodata = curfield.GetChunk(fieldsize); почитайте документацию к GetChunk этот метод применим с полям Memo или Long Binary а Fields(н) похоже на перебор всех полей. |
|||
13
irina_shport
16.09.13
✎
16:36
|
(12) поняла, там перебор всех полей, но условие на наименование, поэтому гетчанк я именно к мемо полю использую, сейчас преобразую и попробую, спасибо большое
|
|||
14
irina_shport
16.09.13
✎
16:58
|
(12) хм, он мне fieldsize = 0 выдает, хотя в аксессе смотрю в поле текст есть
{Форма.Форма.Форма(154)}: Ошибка при вызове метода контекста (GetChunk) memodata = curfield.GetChunk(fieldsize); по причине: Произошла исключительная ситуация (ADODB.Field): Аргументы имеют неверный тип, выходят за пределы допустимого диапазона или вступают в конфликт друг с другом. я так полагаю из-за размера 0? тип мемо в конструкторе таблиц в аксессе смотрю....почему так? |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |