|
|
|
DataCombo
|
|||
|---|---|---|---|
|
#18+
День добрый! Проблема такая. Имеется форма, где расположены десяток textbox и несколько Data Combo. В событии Form_Load для всех контролов в свойства DataSource присваивается уже открытый «public» recordset Выгляди это примерно так Код: plaintext 1. 2. 3. 4. 5. Также уже в конструкторе форм для всех элементов установлено свойство DataField. txtName.DataField= «Имя» dcCity.DataField= «Код_города» Но это все я сделал в конструкторе не в коде. Также элементу Data Combo также при Form_Load устанавливается в свойство RowSource другой рекодрсет и соответственно свойства dcCity.FieldList= «город» dcCity.BoundColumn= «Код_города» вроде ничего не напутал все работает, но при изменении одновременно занчений в textbox и DataCombo и потом при вызове процедуры rsRecordset.Update возникает ошибка -2147217888 Обработчик событий потребителя вызвал метод поставщика, который не допускает повторные входы Это возникает еще при разных ситуациях но связанно походу именно с DataCombo Ребят мож кто знает что за косяк… ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2007, 12:07 |
|
||
|
DataCombo
|
|||
|---|---|---|---|
|
#18+
В таблицах есть первичный ключ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2007, 12:39 |
|
||
|
DataCombo
|
|||
|---|---|---|---|
|
#18+
тут заметил в откладке что при изменении значения в TextBox как это и должно быть, меняется значения этого поля в Recordset т.е получитеся изменив значения в txtname="Вася" в rsRecordset!Имя тоже станет "вася" а в dataCombo такое не происходит! т.е rsRecordset!Код_города равен Null также хотя в dataCombo и выбранно значение ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2007, 12:43 |
|
||
|
DataCombo
|
|||
|---|---|---|---|
|
#18+
Приведите код. Нужно видеть SQL для рекордсетов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2007, 12:46 |
|
||
|
DataCombo
|
|||
|---|---|---|---|
|
#18+
WorobjoffВ таблицах есть первичный ключ? Да есть и рекорсет грузится с "Select *" Это происходит и просто при изменении Причина в том что действительно что DataCombo не записывает в рекордсет значения как это делает textBox, а код_города это допустим обязательный атрибут, может какое свойство в DataCombo надо указать хотя какое.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2007, 12:58 |
|
||
|
DataCombo
|
|||
|---|---|---|---|
|
#18+
Ну где то так. Код=100 это к примеру Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. Пробывал уже разные курсоры и блокировку в рекодрсете, одни хрен... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2007, 13:12 |
|
||
|
DataCombo
|
|||
|---|---|---|---|
|
#18+
На одной записи открываем рекордсет? Надо сделать rsRecordset.MoveFirst (есть такой глючок). И маленький совет на будущее: как время появится, изучите BindingCollection. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2007, 13:19 |
|
||
|
DataCombo
|
|||
|---|---|---|---|
|
#18+
Да запись всегда одна! rsRecordset.MoveFirst Попробую но кажется это ничего не даст в textbox -работает то все! Мне сейчас прихоидится в ручную при сохранении записывать все значения из DataCombo в рекодсет и обратно т.к значения полей не запоминются в рекорсете хотя вроде как и привязаны к DataCombo (dataField) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2007, 14:43 |
|
||
|
DataCombo
|
|||
|---|---|---|---|
|
#18+
Вот так будет работать. Код: 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2007, 15:26 |
|
||
|
DataCombo
|
|||
|---|---|---|---|
|
#18+
гы.. работате!!! Worobjoff Большущее спасибо!!! Сильно облегчил задачу!!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2007, 15:42 |
|
||
|
DataCombo
|
|||
|---|---|---|---|
|
#18+
На всякий случай совет: DataCombo не воспринимает свойство Filter в рекордсете. Т.е. делать SELECT ... WHERE - нормально, rs.Filter = "..." - бесполезно. Из всех привязываемых комбобоксов только True DBList правильно отрабатывает и Filter и Sort рекордсета. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2007, 15:59 |
|
||
|
DataCombo
|
|||
|---|---|---|---|
|
#18+
Попутно возник еще один вопросик! А как правильно добавить в коллекцию BindingCollection элемент CheckBox Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. Код: .Add CheckBrak, "Value", "В_Браке" Проходит без ошибок но если В_Браке=True галочка на CheckBrak что то не ставится Если же присвоить рекордсет отдельно то работает: Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2007, 20:53 |
|
||
|
DataCombo
|
|||
|---|---|---|---|
|
#18+
Проходит без ошибок но если В_Браке=True галочка на CheckBrak что то не ставится А не вру возникает ошибка!! Invalid field name supplied ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2007, 21:26 |
|
||
|
DataCombo
|
|||
|---|---|---|---|
|
#18+
Если стараться сделать это по классике, то, когда имеется несоответствие типа свойства контрола с типом поля рекордсета, придется юзер-контрол или класс создать Код юзер-контрола примерно такой: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. И в форме: Код: plaintext 1. 2. 3. 4. 5. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2007, 22:44 |
|
||
|
|

start [/forum/topic.php?fid=60&msg=34932426&tid=2163094]: |
0ms |
get settings: |
8ms |
get forum list: |
10ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
18ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
47ms |
get tp. blocked users: |
2ms |
| others: | 245ms |
| total: | 344ms |

| 0 / 0 |
