Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Помогите пожалуйства сформой и с самим модулем
|
|||
|---|---|---|---|
|
#18+
У меня в форме считаются суммы по данным из другой формы, суммы по диапазонам даты, а мне нужно то же самое только по диапазонам номеров, нужно написать типо условия, в котором говорится что если в форме TextBox будет пустым, то применяется другой TexBox типо того. if [vagn] = 0 AND [vagk] = 0 LOCAL b, e, sv, pl, zn, cu, au, ag, pid, pr, vv b = THISFORM.Begin.Value e = THISFORM.End.Value SELECT Vag_cu SET ORDER TO P_Ident IN Vag_cu SELECT Party_cu CALCULATE SUM(Party_cu.sves) FOR Party_cu.date_e >= b AND Party_cu.date_e <= e TO sv pl = 0 zn = 0 cu = 0 au = 0 ag = 0 pr = 0 vv = 0 SELECT Party_cu SCAN FOR Party_cu.date_e >= b AND Party_cu.date_e <= e pid = Party_cu.P_Ident SEEK pid ORDER P_Ident IN Anal_cu IF FOUND('Anal_cu') pl = pl + Anal_cu.pl_ves zn = zn + Anal_cu.zn_ves cu = cu + Anal_cu.cu_ves au = au + Anal_cu.au_ves ag = ag + Round(Anal_cu.ag_ves,0) ENDIF SEEK pid ORDER P_Ident IN Vag_cu DO WHILE NOT EOF('Vag_cu') AND Vag_cu.P_Ident = pid pr = pr + Vag_cu.spr vv = vv + 1 SKIP 1 IN Vag_cu ENDDO SELECT Party_cu ENDSCAN WITH THISFORM .SVesS.Value = sv .Pl_ves.Value = pl .Zn_ves.Value = zn .Cu_ves.Value = cu .Au_ves.Value = au .Ag_ves.Value = ag .Pl_pr.Value = ROUND(100*pl/sv, 2) .Zn_pr.Value = ROUND(100*zn/sv, 2) .Cu_pr.Value = ROUND(100*cu/sv, 2) .Au_g_t.Value = ROUND(au/sv, 2) .Ag_g_t.Value = ROUND(ag/sv, 2) .Perg.Value = pr .Vagon.Value = vv ENDWITH else LOCAL s, t, sv, pl, zn, cu, au, ag, pid, pr, vv s = THISFORM.vagn.Value t = THISFORM.vagk.Value SELECT Vag_cu SET ORDER TO P_Ident IN Vag_cu SELECT Party_cu CALCULATE SUM(Party_cu.sves) FOR Party_cu.P_number >= s AND Party_cu.P_number <= t TO sv pl = 0 zn = 0 cu = 0 au = 0 ag = 0 pr = 0 vv = 0 SELECT Party_cu SCAN FOR Party_cu.P_number >= s AND Party_cu.P_number <= t pid = Party_cu.P_Ident SEEK pid ORDER P_Ident IN Anal_cu IF FOUND('Anal_cu') pl = pl + Anal_cu.pl_ves zn = zn + Anal_cu.zn_ves cu = cu + Anal_cu.cu_ves au = au + Anal_cu.au_ves ag = ag + Round(Anal_cu.ag_ves,0) ENDIF SEEK pid ORDER P_Ident IN Vag_cu DO WHILE NOT EOF('Vag_cu') AND Vag_cu.P_Ident = pid pr = pr + Vag_cu.spr vv = vv + 1 SKIP 1 IN Vag_cu ENDDO SELECT Party_cu ENDSCAN WITH THISFORM .SVesS.Value = sv .Pl_ves.Value = pl .Zn_ves.Value = zn .Cu_ves.Value = cu .Au_ves.Value = au .Ag_ves.Value = ag .Pl_pr.Value = ROUND(100*pl/sv, 2) .Zn_pr.Value = ROUND(100*zn/sv, 2) .Cu_pr.Value = ROUND(100*cu/sv, 2) .Au_g_t.Value = ROUND(au/sv, 2) .Ag_g_t.Value = ROUND(ag/sv, 2) .Perg.Value = pr .Vagon.Value = vv ENDIF ENDWITH Я в этой программе отметила Text Box как vagn и vagk и также диапазоны дат описываются. Помогите пожалуйста ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.07.2004, 08:16 |
|
||
|
Помогите пожалуйства сформой и с самим модулем
|
|||
|---|---|---|---|
|
#18+
Вопрос непонятен. Что именно ты хочешь узнать? Как проверить на пустое значение? Для этого существует функция EMPTY() Как получить ссылку на другую форму? Почитай здесь http://www.foxclub.ru/kb/index.php?sid=75423&aktion=artikel&rubrik=004&id=4&lang=ru Как написать универсальное условие на проверку либо дат, либо номеров? В принципе можно, но лучше писать 2 отдельные функции или хотя бы разделять по IF...ELSE...ENDIF ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.07.2004, 09:30 |
|
||
|
Помогите пожалуйства сформой и с самим модулем
|
|||
|---|---|---|---|
|
#18+
ВладимирМВопрос непонятен. Что именно ты хочешь узнать? Как проверить на пустое значение? Для этого существует функция EMPTY() Как получить ссылку на другую форму? Почитай здесь http://www.foxclub.ru/kb/index.php?sid=75423&aktion=artikel&rubrik=004&id=4&lang=ru Как написать универсальное условие на проверку либо дат, либо номеров? В принципе можно, но лучше писать 2 отдельные функции или хотя бы разделять по IF...ELSE...ENDIF Да я и разделяю, посмотри процедуру, там написано всё, а мне нужно такое условие: Если TexBox например с такого числа по такое равен нулю, тогда выполняется ссылка на TextBox числа и естественно в процедуре нужно описание ссумирования значений этого диапазона... Спасибо за ответ. Елена. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.07.2004, 10:00 |
|
||
|
Помогите пожалуйства сформой и с самим модулем
|
|||
|---|---|---|---|
|
#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. 43. 44. 45. 46. 47. 48. 49. Здесь весь фокус в макроподстановке &lcFilter Или я опять не о том? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.07.2004, 10:52 |
|
||
|
Помогите пожалуйства сформой и с самим модулем
|
|||
|---|---|---|---|
|
#18+
[quot ВладимирМ]Да можно оставить и так как есть. Но если очень хочется, то можно и так Код: 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. 44. 45. 46. 47. 48. 49. Здесь весь фокус в макроподстановке &lcFilter Или я опять не о том?[/quo Вадим, я по - другому решила сделать, я буду вводить данные только в одно поле без всякого условия и теперь мне нужно в Prorerties перевести поле Character в Numeric как это можно сделать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.07.2004, 07:05 |
|
||
|
Помогите пожалуйства сформой и с самим модулем
|
|||
|---|---|---|---|
|
#18+
ElenaZя буду вводить данные только в одно поле без всякого условия и теперь мне нужно в Prorerties перевести поле Character в Numeric как это можно сделать? Опять Вы как-то невнятно формулируете задачу. У Вас на форме есть TextBox. Вы вводите в него некую информацию. Далее Вы хотите проанализировать какого типа информация была введена в этот TextBox? В этом случае необходимо чтобы в TextBox вводилась только символьная строка. Поскольку только в этом случае обеспечивается универсальность вводимой информации. Для этого достаточно просто ничего не указывать в свойстве ControlSource этого TextBox. По окончании ввода делаете попытку конвертировать введенную строку в нужный тип данных. DO CASE CASE EMPTY(CTOD(ThisForm.TextBox.Value)) = .T. * введена дата CASE EMPTY(VAL(ThisForm.TextBox.Value)) = .T. * возможно, введено число ENDCASE Однако, такая конвертация не гарантирует корректного определения того факта, что введен именно нужный тип данных, но в символьном виде. Например, если введена строка "01\02\03", то функция VAL() вернет значение 1. Вроде бы число получилось, но скорее всего, вводили не число, а дату. Так что, тут надо быть осторожным. PS: Если хотите указать тип данных для TextBox, когда не указано свойство ControlSource, то введите пустое значение нужного типа в свойство Value. Например: TextBox.Value=0 - тип Integer TextBox.Value=0.00 - тип Numeric с дробной частью TextBox.Value={} - тип Date TextBox.Value=DTOT({}) - тип DateTime Если в Value ничего не указано, то данные будут символьного типа. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.07.2004, 09:37 |
|
||
|
|

start [/forum/search_topic.php?author=Manco&author_mode=last_posts&do_search=1]: |
0ms |
get settings: |
11ms |
get forum list: |
17ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
24ms |
get topic data: |
9ms |
get forum data: |
3ms |
get page messages: |
44ms |
get tp. blocked users: |
1ms |
| others: | 787ms |
| total: | 924ms |

| 0 / 0 |
