|
|
|
TextBox и ADODB.Recordset
|
|||
|---|---|---|---|
|
#18+
Добрый день всем. У мены такая проблемма, если конечно она таковой является: На форме есть 2 textBox а. Источником данных для обоих является один ADODB.recordeset и соответственно определенные его столбцы. Ситуация: Ввожу данные в box1, затем в box2 и не выходя из box2 в отладке делаю recordset.UpdateBacth. Обнаруживаю, что в исходной таблице (SQL server 2000) в поле, связанном с Вох1 данные появились, а в том, что связано с вох2 (из которого я не вышел после ввода данных) стоит null. Но в отладке-то свежее значение вох2 просматривается! Пробовал setfocus ом поиграть-то же самое. Какой выход из этой ситуации, кто-нибудь знает? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.07.2006, 12:37 |
|
||
|
TextBox и ADODB.Recordset
|
|||
|---|---|---|---|
|
#18+
Если ваш рекордсет открыт на единственной записи, и привязывается к элементам ввода данных, надо перед привязкой выполнить rs.MoveFirst. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.07.2006, 14:21 |
|
||
|
TextBox и ADODB.Recordset
|
|||
|---|---|---|---|
|
#18+
Прошу прощения, маленькая неточность. Ещё есть addnew. Вот код и ситуация с ним такая же печальная: Option Explicit Dim r1 As New ADODB.Recordset Private Sub Command3_Click() 'прикрепление к источнику r1.Open "Select * FROM tblUnit", conn, adOpenKeyset, adLockOptimistic r1.MoveFirst r1.AddNew Set txt1.DataSource = r1 End Sub 'попытка обновить после ввода в поле некого значения 'обновление txt1 ни к чему не приводит Private Sub txt1_DblClick() r1.UpdateBatch End Sub Далее вылетает сообщение про обработчик, который не допускает повторные коды. Заранее спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.07.2006, 10:20 |
|
||
|
TextBox и ADODB.Recordset
|
|||
|---|---|---|---|
|
#18+
Set txt1.DataSource = r1 DataField еще нужен новерное попробуй установи txt1.DataSource и txt1.DataField перед Addnew ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.07.2006, 10:33 |
|
||
|
TextBox и ADODB.Recordset
|
|||
|---|---|---|---|
|
#18+
DataField установлен на странице свойств и остается неизменным. (?) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.07.2006, 10:36 |
|
||
|
TextBox и ADODB.Recordset
|
|||
|---|---|---|---|
|
#18+
поменяй r1.UpdateBatch на это r1.Save ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.07.2006, 10:50 |
|
||
|
TextBox и ADODB.Recordset
|
|||
|---|---|---|---|
|
#18+
TIKOпоменяй r1.UpdateBatch на это r1.SaveЭто для сохранения рекордсета в файл и к проблеме отношения не имеет. Юрий_Ш Это такое поведение стандартного биндинга и оно никак не лечится. Пиши свой класс, который при сохранении будет заполнять рекордсет значениями из контролов и наоборот. Или бери мой. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.07.2006, 11:17 |
|
||
|
TextBox и ADODB.Recordset
|
|||
|---|---|---|---|
|
#18+
пока не уберешь фокус из текстбокса, значение из него не считаешь, просто переведи фокус и все ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.07.2006, 11:50 |
|
||
|
TextBox и ADODB.Recordset
|
|||
|---|---|---|---|
|
#18+
Есть два способа привязки контролов к единичной записи: Через свойство DataSource или через BindingColleciton. Пишу не с работы, поэтому могут быть неточности. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.07.2006, 11:54 |
|
||
|
|

start [/forum/topic.php?fid=60&msg=33841647&tid=2165605]: |
0ms |
get settings: |
8ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
185ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
33ms |
get tp. blocked users: |
1ms |
| others: | 226ms |
| total: | 483ms |

| 0 / 0 |
