Гость
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / отвязанный reordset не удается сохранить данные в поле / 9 сообщений из 9, страница 1 из 1
22.02.2017, 15:09
    #39409178
Vitalic_Hekto
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
отвязанный reordset не удается сохранить данные в поле
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
Dim cn As ADODB.Connection
Dim rs As ADODB.Recordset
Dim sql As String

    Set cn = CurrentProject.Connection
    Set rs = New ADODB.Recordset

    sql = "SELECT Сотрудники.Код, '' AS Рест, '' AS Брак FROM Сотрудники"


    rs.Source = sql
    rs.CursorLocation = adUseClient
    rs.LockType = adLockBatchOptimistic
    rs.CursorType = adOpenStatic
    
    rs.Open sql, cn
    rs.ActiveConnection = Nothing
    Set Me.Recordset = rs



на форме при внесении значения в поля "Рест" или "Брак " вылазит ошибка:
Макрос или функция, связанные со свойством "До обновления" (BeforeUpdate) или "Условие на значение" (ValidationRule) этого поля, не позволяют приложению 'Microsoft Access' сохранить данные в этом поле.

на этих событиях ничего нет. как победить вообще не понятно. прошу помощи сообщества.
...
Рейтинг: 0 / 0
22.02.2017, 16:47
    #39409249
alecko
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
отвязанный reordset не удается сохранить данные в поле
Vitalic_Hekto, насколько я понимаю нужно в форме - отвязать эти поля от рекордсета.
...
Рейтинг: 0 / 0
22.02.2017, 18:59
    #39409350
Vitalic_Hekto
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
отвязанный reordset не удается сохранить данные в поле
alecko,
я не могу их свободными сделать. я с их помощью заполняю поля рекордсета.
...
Рейтинг: 0 / 0
22.02.2017, 20:21
    #39409390
Панург
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
отвязанный reordset не удается сохранить данные в поле
Vitalic_Hekto, сталкивался когда-то с подобной проблемой. Не стал сильно заморачиваться, создал свободный Recordset с требуемыми полями и перебрасывал данные туда, благо их было немного. Возможно проще работать с таблицей с временными данными.
...
Рейтинг: 0 / 0
22.02.2017, 20:23
    #39409391
Панург
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
отвязанный reordset не удается сохранить данные в поле
aleckoнасколько я понимаю нужно в форме - отвязать эти поля от рекордсета. а форму отвязать от базы...
...
Рейтинг: 0 / 0
23.02.2017, 11:05
    #39409512
Vitalic_Hekto
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
отвязанный reordset не удается сохранить данные в поле
Панург,
Можно более конткретно? У меня в источнике данных формы пусто. Я так понимаю что реально не позволяет вводить данные проверка на тип данных в поле "Рест" и "Брак". Менял запрос:
Код: sql
1.
sql = "SELECT Сотрудники.Код, null AS Рест, 0 AS Брак FROM Сотрудники"


в этом случае "Рест" все равно выпадает в ошибку, а "Брак" вообще не дает после изменения перейти на другое поле.
...
Рейтинг: 0 / 0
23.02.2017, 12:21
    #39409537
Вам нужен
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
отвязанный reordset не удается сохранить данные в поле
не отвязанный, а свободный рекордсет. Примеров много на форуме, вот, например:
Акцесс и форма на АДО-рекордсете: чудные особенности от МС
...
Рейтинг: 0 / 0
24.02.2017, 20:12
    #39410028
rs:writeunknown,
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
отвязанный reordset не удается сохранить данные в поле
Вот такой ещё "финт ушами" можно сделать, и "типа" обойтись без свободного рекордсета.
(ни новая запись, ни стандартные фильтр/сортировка формы работать не будут)

Код: 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.
Private Sub Form_Load()
    Dim rs
    Dim xDoc
    Dim xNodeList
    Dim xNode
    Dim s, xpath
    '
    s = "select id, '' as txt, 0 as val from T"
    Set rs = CreateObject("ADODB.Recordset")
    rs.Open s, CurrentProject.Connection
    
    Set xDoc = CreateObject("MSXML2.DOMDocument")
    rs.Save xDoc, adPersistXML
    rs.Close
    
    xpath = "/xml/s:Schema/s:ElementType/s:AttributeType"
    Set xNodeList = xDoc.documentElement.selectNodes(xpath)
    For Each xNode In xNodeList
        xNode.setAttribute "rs:writeunknown", "true"
    Next
    
    Set rs = CreateObject("ADODB.Recordset")
    rs.Open xDoc, , adOpenStatic, adLockBatchOptimistic
    
    Set Me.Recordset = rs
    
    Set xDoc = Nothing
    Set rs = Nothing
End Sub
...
Рейтинг: 0 / 0
09.03.2017, 11:10
    #39416042
Vitalic_Hekto
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
отвязанный reordset не удается сохранить данные в поле
самое логичное - это проблема с атрибутами поля созданного рекордсета. Когда создаю свободный виртуальный рекордсет вручную то все отлично.
Также если сделать такой костыль тоже работает, но хочется элегантнее. Жаль что к уже созданному рекордсету нельзя аппендить нужное поле :(
Код: vbnet
1.
sql = "SELECT * FROM (SELECT TOP 1 1 AS Код, 1 AS Рест, 1 AS Брак FROM Сотрудники UNION SELECT Сотрудники.Код, '' AS Рест, '' AS Брак FROM Сотрудники) AS T WHERE Рест <> '1'"
...
Рейтинг: 0 / 0
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / отвязанный reordset не удается сохранить данные в поле / 9 сообщений из 9, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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