powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Access & ADO & поле MEMO
3 сообщений из 3, страница 1 из 1
Access & ADO & поле MEMO
    #32054002
wbear
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
есть Access база с таблицей в которой есть поле name (поле MEMO)
коектюсь из VB через ADO в итоге когда читаю это поле
получается произвольно либо Null либо "_правильные_данные_ _всякий_мусор_"

cnn.Open "rrr", login, pass
Set res = cnn.Execute("select * from xz")
Do While Not res.EOF
value = res(2).GetChunk(1000)
res.MoveNext
Loop

причем смртрю в структуру res(2)..а там

ActualSize = 0
DefinedSize = 1073741823
Value = Null

вобщем бред

value = res(2).GetChunk(1000)

выдает ошибку
Multiple-step OLE DB operation generated errors.
Check each OLE DB status value, if available. No work was done.

как с этим боротся ?
...
Рейтинг: 0 / 0
Access & ADO & поле MEMO
    #32055301
Есть такой метод в ADO. Называется он GetChunk.
Я эту проблему решил только с его помошью, да и то
только в режиме работы с таблицами. При работе с
запросами эта проблема осталась.

Вот примерная программа по работе с ней:

Код: plaintext
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.
Sub AddToMemo()
Dim cnn As ADODB.Connection, rst As New ADODB.Recordset
Dim fldFirstName As ADODB.Field
Dim fldLastName As ADODB.Field
Dim fldNotes As ADODB.Field
Dim lngSize As Long, strChunk As String

Set cnn = CurrentProject.Connection
rst.Open  "Employees" , cnn, adOpenKeyset, adLockOptimistic
With rst
Set fldNotes = !Notes
Set fldFirstName = !FirstName
Set fldLastName = !LastName
Do Until .EOF
If IsNull(fldNotes.Value) Then
strChunk = fldFirstName &  " "  & fldLastName &  " is an excellent employee." 
!Notes = strChunk
.MoveNext
Else
lngSize = Len(fldNotes)
strChunk = fldNotes.GetChunk(lngSize)
strChunk = strChunk &  " "  & fldFirstName &  " "  & fldLastName &  " is and excellent Employee." 
!Notes =  " " 
!Notes.AppendChunk strChunk
.MoveNext
End If
Loop
End With
rst.Close
cnn.Close
End Sub


P.S.: Данный пример взят из MSDN
...
Рейтинг: 0 / 0
Access & ADO & поле MEMO
    #32055303
Забыл добавить - у меня она нормально работала, если чтение производилось не более чем по 64 символа
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Access & ADO & поле MEMO
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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