Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Вопросы от новичков / 13 сообщений из 13, страница 1 из 1
02.06.2007, 19:12
    #34569936
Noct
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопросы от новичков
Создал несколько обобщающий топик, так как ночичок и думаю, что вопросов будет много.

И так...

if thisform.pageframe1.page1.optiongroup1.value=tt1.otv

...

tt1 - это таблица, otv это поле в таблице, значение в этой ячейке нумерек. По понятным причинам этот код не будет отрабатывать. как обратиться именно к значению поля tt1.otv, ведь оно равно числу, а не как на данный момент получается что число сравнивается хз вообще с чем, но только не со значением нужного поля.
...
Рейтинг: 0 / 0
02.06.2007, 20:56
    #34569988
Ольга Семенова
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопросы от новичков
нужно определить ту запись таблицы, с который ты сравниваешь
это можно сделать к примеру через запрос с с наложением условия в разделе Where

т.е. сначала извлекаешь запросом нужную тебе запись из таблицы и помещаешь ее в какую-нить переменную, а далее сравниваешь эту переменную так, как это делал ты
...
Рейтинг: 0 / 0
03.06.2007, 09:35
    #34570203
Dag
Dag
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопросы от новичков
А если

if thisform.pageframe1.page1.optiongroup1.value == tt1.otv
...
Рейтинг: 0 / 0
03.06.2007, 11:47
    #34570285
Noct
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопросы от новичков
Ольга Семенованужно определить ту запись таблицы, с который ты сравниваешь
это можно сделать к примеру через запрос с с наложением условия в разделе Where

т.е. сначала извлекаешь запросом нужную тебе запись из таблицы и помещаешь ее в какую-нить переменную, а далее сравниваешь эту переменную так, как это делал ты

пробывал. почему то эффект тот же.

DagА если

if thisform.pageframe1.page1.optiongroup1.value == tt1.otv

всё та же ошибка. operator/operand type mismatch
...
Рейтинг: 0 / 0
03.06.2007, 11:54
    #34570290
Noct
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопросы от новичков
Dag, убрал пробелы, и фокс начал видеть, что f=2
f=alltrim(tt1.otv)
if thisform.pageframe1.page1.optiongroup1.value==f

но ошибка в этой строчке - operator/operand type mismatch осталась. почему?
...
Рейтинг: 0 / 0
03.06.2007, 13:00
    #34570320
BMJ
BMJ
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопросы от новичков
Потому и ошибка что thisform.pageframe1.page1.optiongroup1.value и f переменные разного типа, числовые, символьные приведите одному и ошибка пропадет. см. VAL(),STR()
...
Рейтинг: 0 / 0
03.06.2007, 14:20
    #34570385
Noct
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопросы от новичков
BMJ, да с этим я разобрался, спасибо.
Теперь вот такой вопрос...

на одной форме из значения комбобокс выбирается некое значение, оно ищется в таблице и из соответствующей ячейки берётся название новой таблицы, которую необходимо открыть. допустим эта таблица называется икс. и это икс присваевается переменной, например игрек.
на следующей форме я обращаюсь к этой таблице как к игрек, и фокс видет, что этот игрек равно иксу, тип данных строковый, но эту таблиуцу не открывает. Как открыть таблицу, название которой равно переменной? и как потом обратиться кней, например в текст боксе
this.value=игрек.one, где one поле таблицы игрек, который равен иксу?
...
Рейтинг: 0 / 0
03.06.2007, 14:42
    #34570401
JuliBadu
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопросы от новичков
У меня вот такой вопрос. Как построить запрос, чобы он вернул количество наибольше встречаемого значения?
Вот я думаю он должен быть таким: только, что передать параметрами в max (думал так, но у меня ругается FOX):

SELECT count(*) FROM MyTable GROUP BY MyCell HAVING count(*)=max( count(*) )
...
Рейтинг: 0 / 0
03.06.2007, 17:25
    #34570494
JuliBadu
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопросы от новичков
На SQL я решил эту проблему так
SELECT TOP 1 count(*) AS Quant FROM MyTable GROUP BY MyCell ORDER BY Quant DESC

А как можно решить эту проблему языком FoxPro?
...
Рейтинг: 0 / 0
04.06.2007, 10:33
    #34571227
SindoMeon
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопросы от новичков
JuliBaduНа SQL я решил эту проблему так
SELECT TOP 1 count(*) AS Quant FROM MyTable GROUP BY MyCell ORDER BY Quant DESC

А как можно решить эту проблему языком FoxPro?

Абсолютно точно так же. смотри синтаксис SELECT`а в Фокс 8 (если конечно пишешь не на более ранней)
...
Рейтинг: 0 / 0
04.06.2007, 21:25
    #34573573
BMJ
BMJ
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопросы от новичков
Цитата:
на следующей форме я обращаюсь к этой таблице как к игрек, и фокс видет, что этот игрек равно иксу, тип данных строковый, но эту таблиуцу не открывает. Как открыть таблицу, название которой равно переменной? и как потом обратиться кней, например в текст боксе
this.value=игрек.one, где one поле таблицы игрек, который равен иксу?

Вы же написали что fox не открывает таблицу, поэтому и нет значения игрек.one. Попробуйте открыть таблице USE x AGAIN alias y
или сделайте выборку SELE * from x into ......
...
Рейтинг: 0 / 0
05.06.2007, 12:36
    #34574709
Noct
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопросы от новичков
Плохо понимаю, луче наверно на конкретном коде решить...

Форма #1

command1 в клике...
set step on
public tt1
public uu1

if !used("predmet")
use D:\nesterov\dbf\predmet.dbf in 0 exclusive
select predmet
endif
ww1=alltrim(thisform.Combo1.displayValue)
locate for alltrim(predmet.predmet)=ww1
if found()=.T.
endif
uu1=alltrim(predmet.tbl)
tt1=alltrim(predmet.tbl_pred) && это название таблицы, всего может быть 45 таблиц
do form ('D:\nesterov\form\test.scx')

на форме test.scx, мне с самого начала надо открыть таблицу tt1, а tt1 может быть равно названию любой из 45 таблиц.
как это сделать ? :)
...
Рейтинг: 0 / 0
05.06.2007, 13:18
    #34574892
Noct
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопросы от новичков
решил проблему так...
Use (tt1) In 0 Alias MyAlias
Select MyAlias

а дальше к MyAlias можно как угодно обращаться.
...
Рейтинг: 0 / 0
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Вопросы от новичков / 13 сообщений из 13, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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