|
|
|
Изменение данных в таблице программно
|
|||
|---|---|---|---|
|
#18+
Привет. Столкнулся с до безобразия простой задачкой, но за неимением опыта и времени, не знаю как решить. AccessXP, MDB Есть Таблица, в ней среди прочих полей - поле INN (числовой, двойное целое). Из 25000 записей 5000 имеют в нем 0. Хотелось бы присвоить им уникальные значения, например, с 1 по 5001. Для этого делаю следующее: Код: 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. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. При выполнении кода - ошибка: "Обновление поля невозможно. База данных или объект доступны только для чтения." Вручную все редактировать можно!!! В чем ошибка? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.12.2004, 12:46:19 |
|
||
|
Изменение данных в таблице программно
|
|||
|---|---|---|---|
|
#18+
Я с АДО не работаю, но знаю, что в ДАО синтаксис обновления рекордсета выглядит так Код: plaintext 1. 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.12.2004, 13:06:49 |
|
||
|
Изменение данных в таблице программно
|
|||
|---|---|---|---|
|
#18+
Если это mdb, то должно быть вот так где-то Private Sub ZeroINN_Click() Dim i As Integer Dim strSelect As String Dim rst As New DAO.Recordset ' это есть счетчик, который мы инкрементируем и присваиваем полю INN i = 0 'строка - запрос на выборку именно тех записей, у которых поле INN равно 0 strSelect = "SELECT name, INN " & _ "FROM REESTR " & _ "WHERE (not isnull(Name)) And (nz(INN,0) = 0) " & _ "ORDER BY NAME" ' теперь собственно сам рекордсет для выборки этих записей и изменения set rst=Currentdb.openRecordset(strSelect) ' встали на первое значение rst.movefirst ' и шагом пока не упремся в конец Do while not rst.eof() ' изменяем счетчик на 1 (разве inc(i) здесь не работает?) i = i + 1 rst.edit ' присвоили значение - либо str(i)? не знаю, что именно rst![INN] = i ' сохранили изменение rst.Update ' перешли на следующую строку выборки rst.MoveNext Loop rst.Close Set rst = Nothing End Sub Офф: Поздравляю с юбилейным постом :-) Thks/Regards Svetlana :-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.12.2004, 13:09:55 |
|
||
|
Изменение данных в таблице программно
|
|||
|---|---|---|---|
|
#18+
Svetlana_613Если это mdb, то должно быть вот так где-то Код: plaintext 1. 2. 3. 4. 5. пришлось подключать Microsoft DAO 3.5, так как до этого я работал с ADO... А что, на ADO никак нельзя сделать? Svetlana_613 'Офф: Поздравляю с юбилейным постом :-) Thks/Regards Svetlana :-) спасибо, предлагаешь сегодня отметить это?:-))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.12.2004, 13:40:51 |
|
||
|
|

start [/forum/topic.php?fid=45&gotonew=1&tid=1669752]: |
0ms |
get settings: |
6ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
34ms |
get topic data: |
7ms |
get first new msg: |
4ms |
get forum data: |
2ms |
get page messages: |
34ms |
get tp. blocked users: |
1ms |
| others: | 191ms |
| total: | 298ms |

| 0 / 0 |
