|
|
|
Определение текущей таблицы
|
|||
|---|---|---|---|
|
#18+
Проблема в следующем. Есть таблица, и есть поле, в которое вставляется значение по default функцией newvalue("tablename"). Так вот эта функция выдает значение на основании другой таблицы, в которой имени таблицы соответствует предыдущее значение, фунция просматривает эту таблицу, находит нужное имя и выбирает значение. Вопрос в следующем, как в функции узнать из какой таблицы она была вызвана, просто хочется в поле defaul value вставить newvalue() вместо newvalue("tablename") ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.12.2005, 10:12 |
|
||
|
Определение текущей таблицы
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. 2. 3. ** SET FULLPATH vliyaet na znachenie vozvrashchaemoe functsiey Dbf() A dal'she po kodu nado smotret'. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.12.2005, 10:33 |
|
||
|
Определение текущей таблицы
|
|||
|---|---|---|---|
|
#18+
В момент вызова Default автоматически осуществляется переход в ту рабочую область, которая вызвала срабатывание Default. Т.е. достаточно в начале функции newvalue() сделать анализ текущей рабочей области. Код: plaintext Однако я не советовал бы убирать параметр из функции newvalue(), поскольку эта функция может быть вызвана и из вне Default. Например, из Local View. В этом случае нет никакой гарантии, что текущей будет именно нужная рабочая область. И еще, если в Default поля записано несколько функций. Ну, например NewValue()+NewValue2() то при входе в первую функцию текущей будет именно рабочая область соответствующей таблицы, а вот при входе во вторую функцию, текущей будет та рабочая область, которая была текущей при выходе из первой. Разумеется, для Default это достаточно экзотический случай, но его нужно иметь в виду. Т.е. начало функции будет примерно таким Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.12.2005, 10:59 |
|
||
|
Определение текущей таблицы
|
|||
|---|---|---|---|
|
#18+
У меня такая ХП для получения нового ID: Код: 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.12.2005, 11:02 |
|
||
|
Определение текущей таблицы
|
|||
|---|---|---|---|
|
#18+
Hi AleksMed! 2 момента 1) set reprocess to automatic - ожидание блокировки может быть прервано по ESC - а у тебя нету ветки ELSE для IF RLOCK() - хотя не ясно (с точки зрения логики) что делать в такой ситуации. Возможно возврат 0 это не самое плохое решение... Хотя я бы наверное возвращал NULL (обычно ключевое поле так заполняется, а там NULL непозволены) - и тем самым генерировал ошибку в коде инициировавшем вставку записи. 2) Alias и реальное имя таблицы - это 2 большие разницы - т.е. вариант с JUSTSTEM(DBF()) мне кажется более надёжным... В принципе есть ещё и CURSORGETPROP("SourceName") ;) Posted via ActualForum NNTP Server 1.3 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2005, 04:05 |
|
||
|
|

start [/forum/topic.php?fid=41&fpage=285&tid=1592763]: |
0ms |
get settings: |
10ms |
get forum list: |
20ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
76ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
57ms |
get tp. blocked users: |
2ms |
| others: | 239ms |
| total: | 428ms |

| 0 / 0 |
