powered by simpleCommunicator - 2.0.41     © 2025 Programmizd 02
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / отвязанный reordset не удается сохранить данные в поле
9 сообщений из 9, страница 1 из 1
отвязанный reordset не удается сохранить данные в поле
    #39409178
Vitalic_Hekto
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: 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
отвязанный reordset не удается сохранить данные в поле
    #39409249
alecko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Vitalic_Hekto, насколько я понимаю нужно в форме - отвязать эти поля от рекордсета.
...
Рейтинг: 0 / 0
отвязанный reordset не удается сохранить данные в поле
    #39409350
Vitalic_Hekto
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
alecko,
я не могу их свободными сделать. я с их помощью заполняю поля рекордсета.
...
Рейтинг: 0 / 0
отвязанный reordset не удается сохранить данные в поле
    #39409390
Фотография Панург
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Vitalic_Hekto, сталкивался когда-то с подобной проблемой. Не стал сильно заморачиваться, создал свободный Recordset с требуемыми полями и перебрасывал данные туда, благо их было немного. Возможно проще работать с таблицей с временными данными.
...
Рейтинг: 0 / 0
отвязанный reordset не удается сохранить данные в поле
    #39409391
Фотография Панург
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
aleckoнасколько я понимаю нужно в форме - отвязать эти поля от рекордсета. а форму отвязать от базы...
...
Рейтинг: 0 / 0
отвязанный reordset не удается сохранить данные в поле
    #39409512
Vitalic_Hekto
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Панург,
Можно более конткретно? У меня в источнике данных формы пусто. Я так понимаю что реально не позволяет вводить данные проверка на тип данных в поле "Рест" и "Брак". Менял запрос:
Код: sql
1.
sql = "SELECT Сотрудники.Код, null AS Рест, 0 AS Брак FROM Сотрудники"


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

Код: 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
отвязанный reordset не удается сохранить данные в поле
    #39416042
Vitalic_Hekto
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
самое логичное - это проблема с атрибутами поля созданного рекордсета. Когда создаю свободный виртуальный рекордсет вручную то все отлично.
Также если сделать такой костыль тоже работает, но хочется элегантнее. Жаль что к уже созданному рекордсету нельзя аппендить нужное поле :(
Код: 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
9 сообщений из 9, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / отвязанный reordset не удается сохранить данные в поле
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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