|
отмена операции
|
|||
---|---|---|---|
#18+
ситуация такая, эта программа ранее обсуждалась, в общем есть комбобокс, и есть условие такое если пользователь выбрал какую-то запись из комбобокс, происходит обновление записи в таблице, теперь мне надо сделать условие такое, если выбрал не правильное то не вносить изменения, ну что-то типа отмены. Есть такое в фокспро? ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2012, 14:51 |
|
отмена операции
|
|||
---|---|---|---|
#18+
Андрей8989, В том месте, где определяешь правильно или неправильно и делай UPDATE или что там у тебя. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2012, 14:54 |
|
отмена операции
|
|||
---|---|---|---|
#18+
IgorNG, update делается у меня. У меня идет так.. в другой теме обсуждался только что вопрос.. В комбобокс выводятся такие значения 05501 ПУСТО 05701 если человек выбрал 05501 или 05701 то делаются обновления, а мне надо сделать еще чтобы если выбрали строку ПУСТО то выводилось сообщение "ВВЕДЕНО НЕВЕРНО" и дальше не выполнялось обновление: вот кусок проги. Красным отметил то что я добавил сейчас. Код: sql 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.
... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2012, 14:58 |
|
отмена операции
|
|||
---|---|---|---|
#18+
вот кусок который я добавил Код: sql 1. 2. 3.
... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2012, 14:58 |
|
отмена операции
|
|||
---|---|---|---|
#18+
Андрей8989, Ну, если этот код не работает, значит ПУСТО не ListIndex=2 ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2012, 15:04 |
|
отмена операции
|
|||
---|---|---|---|
#18+
IgorNG, Код работает :), просто после выполнения куска IF thisform.grid1.column8.combo3.ListIndex=2 MESSAGEBOX('Код СМО введен некорректно!!') ELSE идет дальнейшая проверка и далее выполняется обновление в таблице. В таблицу зановится "ПУСТО". Я имею ввиду после MESSAGEBOX('Код СМО введен некорректно!!') можно ли сделать какую-то оставновку чтобы дальнейший код не выполнялся, не выход из программы, а чтобы ELSE и все что после него не выполнилось пока не выбрали другую строку из комбобокс ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2012, 15:08 |
|
отмена операции
|
|||
---|---|---|---|
#18+
Андрей8989IgorNG, Код работает :), просто после выполнения куска IF thisform.grid1.column8.combo3.ListIndex=2 MESSAGEBOX('Код СМО введен некорректно!!') ELSE идет дальнейшая проверка и далее выполняется обновление в таблице. В таблицу зановится "ПУСТО". Я имею ввиду после MESSAGEBOX('Код СМО введен некорректно!!') можно ли сделать какую-то оставновку чтобы дальнейший код не выполнялся, не выход из программы, а чтобы ELSE и все что после него не выполнилось пока не выбрали другую строку из комбобокс Если попадает в этот IF, то дальше не должен попадать и, соответственно, не должен быть UPDATE. А вообще этот код работать не должен - ENDIF не хватает. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2012, 15:28 |
|
отмена операции
|
|||
---|---|---|---|
#18+
IgorNG, без этого: Код: sql 1. 2. 3.
работает, где вы говорите не хватает? ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2012, 15:49 |
|
отмена операции
|
|||
---|---|---|---|
#18+
Андрей8989, IF thisform.check1.Value=0 IF thisform.grid1.column8.combo3.ListIndex=2 MESSAGEBOX('Код СМО введен некорректно!!') ELSE IF EMPTY(ALLTRIM(curs1gonsolt.smocod)) thisform.MousePointer= 11 wait window nowait noclear 'Пожалуйста подождите...' SELECT curs1gonsolt REPLACE smocod WITH smo.smocod UPDATE pacient SET pacient.smocod=curs1gonsolt.smocod from pacient ; WHERE pacient.polis=curs1gonsolt.polis AND pacient.ser=curs1gonsolt.ser thisform.grid1.refresh() thisform.MousePointer= 0 WAIT CLEAR ELSE IF !EMPTY(ALLTRIM(curs1gonsolt.smocod)) IF MESSAGEBOX(cMessageText, nDialogType, cMessageTitle)=6 && YES (ДА) thisform.MousePointer= 11 wait window nowait noclear 'Пожалуйста подождите...' SELECT curs1gonsolt REPLACE smocod WITH smo.smocod UPDATE pacient SET pacient.smocod=curs1gonsolt.smocod from pacient ; WHERE pacient.polis=curs1gonsolt.polis AND pacient.ser=curs1gonsolt.ser thisform.grid1.refresh() thisform.MousePointer= 0 WAIT CLEAR ELSE MESSAGEBOX=7 thisform.grid1.column8.combo3.Value=curs1gonsolt.smocod ENDIF ENDIF ENDIF ENDIF ENDIF ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2012, 15:56 |
|
отмена операции
|
|||
---|---|---|---|
#18+
IgorNG, Нее там есть if в конце, я же вам просто кусок показываю, дальше идет ELSE и другой продолжение. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2012, 16:01 |
|
отмена операции
|
|||
---|---|---|---|
#18+
Андрей8989IgorNG, Нее там есть if в конце, я же вам просто кусок показываю, дальше идет ELSE и другой продолжение. А там UPDATE есть? ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2012, 16:08 |
|
отмена операции
|
|||
---|---|---|---|
#18+
IgorNG, Есть.. Я смотрю у меня после выполнения кода IF thisform.grid1.column8.combo3.ListIndex=2 MESSAGEBOX('Код СМО введен некорректно!!') ELSE в грид меняется значение на то которое я выбрал, а в таблице не меняется.. Мне и не нужно чтобы в таблице менялось, но не хорошо что в грид меняется.. когда повторно запускаю программу видно что значение не поменялось ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2012, 16:12 |
|
отмена операции
|
|||
---|---|---|---|
#18+
А так?Андрей8989 Код: plsql 1. 2. 3. 4.
... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2012, 16:53 |
|
отмена операции
|
|||
---|---|---|---|
#18+
Jonny540, поставил Return такая же ситуация, в если выбираю пустую строку вот ту которая listindex=2 то в грид показывается что типа в это поле занесена пустая строка, а когда перезапускаю программу там как и положено нормальное значение. после masagebox() пишу обновление грид, не помогает ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2012, 16:59 |
|
отмена операции
|
|||
---|---|---|---|
#18+
Андрей8989, Значит до этого кода надо отмену делать - где-то в районе методов combo. Или даже в районе методов grid... Подробнее сказать на основании данной информации сложно, телепатов нет. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2012, 17:02 |
|
отмена операции
|
|||
---|---|---|---|
#18+
Андрей8989IgorNG, Есть.. Я смотрю у меня после выполнения кода IF thisform.grid1.column8.combo3.ListIndex=2 MESSAGEBOX('Код СМО введен некорректно!!') ELSE в грид меняется значение на то которое я выбрал, а в таблице не меняется.. Мне и не нужно чтобы в таблице менялось, но не хорошо что в грид меняется.. когда повторно запускаю программу видно что значение не поменялось Что выбрал - то и показывается в grid. А в таблице нет потому что, видимо, update не прошел. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2012, 17:04 |
|
отмена операции
|
|||
---|---|---|---|
#18+
IgorNG, вот весь код метода interactivechange грид1, где вы имете ввиду отмену делать? Код: sql 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. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75.
... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2012, 17:40 |
|
отмена операции
|
|||
---|---|---|---|
#18+
Андрей8989, И что? При ListIndex=2 обновления не происходит. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2012, 17:44 |
|
отмена операции
|
|||
---|---|---|---|
#18+
IgorNG, Обновление не должно происхоить при Listindex=2 наоборот когда равно 2, т.е. это строка "ПУСТОТА" или просто пустая строка. при нажатии на эту строку должно просто вывестись сообщение что введен неверный код смо и больше ничего не должно происходить. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2012, 17:55 |
|
отмена операции
|
|||
---|---|---|---|
#18+
А сейчас у меня при выборе этой записи "пустота" выводится сообщение что введен неверны код смо и в грид отображается пустота, если до этого там было какое-то значение. т.е. вместо значения отображается пустота в грид, я спрашиваю как сделать так чтобы если есть уже значение в комбобокс и если выбрали пустую строку т.е. listindex=2 вывести сообщение что введен неверный код смо и при этом чтобы в грид не отображалась пустота вместо значения которое было до выбора Пустой строки ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2012, 17:58 |
|
отмена операции
|
|||
---|---|---|---|
#18+
Андрей8989, Еще раз: по твоему коду при ListIndex = 2 update не происходит. А то что grid тебе показывает - смотри к каким данным он привязан, к каким данным привязан твой combobox и т.д. Смотри, что у тебя есть в коде combobox. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2012, 18:04 |
|
отмена операции
|
|||
---|---|---|---|
#18+
IgorNG, я знаю что обновление не происходит.. для комбобокс источником является таблица smo отфильтрованная, т.е. эти три значения. ну ладно, посмотрю как можно добиться желаемого ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2012, 21:53 |
|
отмена операции
|
|||
---|---|---|---|
#18+
Андрей8989, В методе "interactivechange" грид1 не стоит это делать. У тебя комбо8 внедрен в грид1 или отдельно на форме? ... |
|||
:
Нравится:
Не нравится:
|
|||
11.12.2012, 06:30 |
|
отмена операции
|
|||
---|---|---|---|
#18+
Андрей8989, Jonny540У тебя комбо8 внедрен в грид1 или отдельно на форме?Ерунду спросил, код не посмотрел Попробуй этот код перенести в метод Click() Combo3. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.12.2012, 08:01 |
|
отмена операции
|
|||
---|---|---|---|
#18+
Андрей8989, Делай проверку значения в событии Valid на комбике. Если введено некорректное значение, то выдавай сообщение об ошибке и возвращай .f. (return .f.) ... Если введено корректное значение, то возвращай .t. (return .t.)... Если будет возвращено .f. то выхода из комбика не произойдет.... ... |
|||
:
Нравится:
Не нравится:
|
|||
11.12.2012, 08:10 |
|
|
start [/forum/topic.php?fid=41&msg=38072675&tid=1583279]: |
0ms |
get settings: |
9ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
52ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
58ms |
get tp. blocked users: |
2ms |
others: | 273ms |
total: | 431ms |
0 / 0 |