Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / вибор поля с таблици / 17 сообщений из 17, страница 1 из 1
14.06.2009, 13:54
    #36040162
k_kristina
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вибор поля с таблици
здрасти!

мне нужно вибрать запись в поле с таблици, но кокого имено поля я не знаю, т.е. ето все зависить от конкретной ситуации...
можна ли делать посилание на поле переменной или как мне вийти из етой ситуации????

спасибо!
...
Рейтинг: 0 / 0
14.06.2009, 14:01
    #36040165
Dag
Dag
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вибор поля с таблици
Здравствуйте.
Можно.
Пожалуйста!
...
Рейтинг: 0 / 0
14.06.2009, 14:02
    #36040166
k_kristina
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вибор поля с таблици
подскажите пожалуста как..
у меня почему то не получается... :(
...
Рейтинг: 0 / 0
14.06.2009, 14:07
    #36040168
Dag
Dag
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вибор поля с таблици
Миелофон в починке. Подробнее пиши, что нужно. С кодом, если можно.
...
Рейтинг: 0 / 0
14.06.2009, 14:10
    #36040170
Dag
Dag
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вибор поля с таблици
Записать переменную cVar в поле cField таблицы MyTable

Код: plaintext
REPLACE cField WITH cVar IN MyTable
...
Рейтинг: 0 / 0
14.06.2009, 14:15
    #36040174
Dag
Dag
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вибор поля с таблици
Если название поля хранится в переменной (Name_Field) тогда через скобки. Так
Код: plaintext
REPLACE (Name_Field) WITH cVar IN MyTable
...
Рейтинг: 0 / 0
14.06.2009, 14:21
    #36040180
k_kristina
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вибор поля с таблици
оказиваеться такой пустяк...
большое-большое Вам спасибо!!!!
ви меня спасли!
...
Рейтинг: 0 / 0
14.06.2009, 14:38
    #36040188
k_kristina
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вибор поля с таблици
а если мне нужно не заменить щначение, а наоборот взять его???
...
Рейтинг: 0 / 0
14.06.2009, 14:53
    #36040201
Dag
Dag
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вибор поля с таблици
Макроподстановка
Код: plaintext
1.
2.
3.
4.
5.
Name_Field=[MyTable.cField]
? EVALUATE(Name_Field)
* или
? &Name_Field

...
Рейтинг: 0 / 0
14.06.2009, 14:58
    #36040209
k_kristina
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вибор поля с таблици
еще раз спасибо!
...
Рейтинг: 0 / 0
14.06.2009, 15:33
    #36040240
k_kristina
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вибор поля с таблици
еще один вопросик, уже по массива, но та же проблемка..

а если я наперед не знаю сколька у меня будет елементов в массиве, но от их количества зависят следующие расчети...
посчитать количестао ненулевих елементов тоже не пожходить, так как в массив могут входить нули... :((
...
Рейтинг: 0 / 0
14.06.2009, 17:02
    #36040316
tanglir
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вибор поля с таблици
k_kristina, в смысле массив есть, но Вам нужно узнать, сколько в нём элементов? Тогда вот:
VFP helpALEN( ) Function
Returns the number of elements, rows, or columns in an array.
ALEN(ArrayName [, nArrayAttribute])

Код: plaintext
1.
Array_len=ALEN(<имя_массива>)
И используем Array_len, чтобы настраивать дальнейшие расчёты.
...
Рейтинг: 0 / 0
14.06.2009, 17:10
    #36040322
k_kristina
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вибор поля с таблици
tanglir,

и да и нет!
я имела ввиду можна ли создавать массив без указания его розмерности???
...
Рейтинг: 0 / 0
14.06.2009, 17:40
    #36040344
tanglir
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вибор поля с таблици
k_kristina,
Создавать без указания размера - вроде нельзя. Но можно изменять размер по необходимости:
VFP helpRedimensioning Arrays You can change the size and dimensions of an array by calling DIMENSION again. The size of an array can be increased or decreased; one-dimensional arrays can be converted to two dimensions, and two-dimensional arrays can be reduced to one dimension.

Yапример, сначала
Код: plaintext
DIMENSION Array1( 10 )
потом туда хотим чего-нибудь закинуть... обнаруживаем, что надо закинуть 30 элементов, а не 10... пишем
Код: plaintext
DIMENSION Array1( 30 )
И он уже из 30 элементов состоит. Новые инициализируются в зависимости от настроек (обычно в .F.)
В хелпе много полезного написано, в частности по ссылке arrays - creating.
...
Рейтинг: 0 / 0
14.06.2009, 17:42
    #36040346
k_kristina
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вибор поля с таблици
tanglir,
спасибо!
...
Рейтинг: 0 / 0
20.08.2009, 07:25
    #36153649
вибор поля с таблици
Доброго времени суток.

Понимаю что по существу повторяю вопрос, но, к сожалению, ответы представленые здесь ранее мне не помогли (не могу приспособить их), поэтому решила написать свой код и задачу.

Есть таблица MyTable. В ней есть столбцы со следующими именами: B, C, A1, A2, A3.
Мне необходимо получить значения столбцов А1-А3 и сложить их для каждой строки.

Код:
автор
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
DO WHILE i <= RECCOUNT('MyTable')
     GOTO RECORD i

     ColValue =  0 
     FOR j =  1  TO FCOUNT('MyTable')
           IF UPPER(LEFT(ALLTRIM(FIELD(j)),  1 )) == "A" THEN
               ColValue = ColValue + MyTable.??????      
                     && где MyTable.?????? значение в текущем столбце А (А1-А3)
               ? ColValue
           ENDIF
     NEXT
i = i +  1 
ENDDO
...
Рейтинг: 0 / 0
20.08.2009, 11:16
    #36154098
ВладимирМ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вибор поля с таблици
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
select MyTable

* Формируем выражение для последующего сложения
LOCAL lcExpression, lnI
lcExpression = ""
FOR m.lnI =  1  TO FCOUNT('MyTable')
	IF UPPER(LEFT(Field(m.lnI,'MyTable'), 1 )) = "A"
		lcExpression = IIF(EMPTY(m.lcExpression),"","+") + "MyTable." + Field(m.lnI,'MyTable')
	ENDIF
ENDFOR

* Для отладки смотрим, что получилось в результате
?lcExpression


* Сканируем записи таблицы
select MyTable
SCAN
	ColValue = EVALUATE(m.lcExpression)
	?ColValue
ENDSCAN
...
Рейтинг: 0 / 0
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / вибор поля с таблици / 17 сообщений из 17, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]