Гость
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Заклинило ))) / 25 сообщений из 33, страница 1 из 2
19.03.2016, 19:29
    #39196162
Хиль
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Заклинило )))
Уважаемые знатоки, сильно не бейте )))
Понимаю что вопрос наверно очень легко решается, тем не менее...
Сейчас пытаюсь воскресить знания пятилетней давности. Клинит немного...
Суть вопроса такова:
Имеется форма, с двумя текстбоксами, гридом и двумя кнопками.
Первая кнопка отвечает за поиск по двум параметрам, результат которого передается в грид
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
SELECT klient
f=ThisForm.Text1.Value
n=ThisForm.Text2.Value

SELECT klient.fam, Klient.name, Klient.otch, Klient.adress, Klient.tel FROM klient WHERE klient.fam= f AND klient.name=n ORDER BY klient.name INTO cursor kl
SELECT kl
ThisForm.Grid1.RecordSourceType = 1
ThisForm.Grid1.RecordSource = ALIAS()
thisform.Grid1.Refresh



Вторая добавляет запись.
Код: sql
1.
2.
3.
4.
SELECT klient
thisform.Refresh
APPEND BLANK
thisform.grid1.SetFocus


И вот по отдельности они вроде как прекрасно работают.
Но ...!!! если выполнить поиск, то в гриде остается только запись после поиска и соответственно пользователь фиг что добавит.
Если повторно что-то поискать, то все подписи полей грида становятся именами полей и оформление тоже испаряется
Как исправить?
...
Рейтинг: 0 / 0
19.03.2016, 21:00
    #39196206
Заклинило )))
ХильКак исправить?Перестать путать поиск с выборкой по условию. Ваше SELECT klient.fam... не поиск, а выборка в новый курсор, про который грид не знает и потому теряет свой источник записей. Классические грабли. Читаем: Пропадают настройки Grid, события столбцов, заголовков, ячеек
Если нужен поиск, то пользоваться нужно командами поиска. Locate, Seek и т.д.
...
Рейтинг: 0 / 0
20.03.2016, 19:13
    #39196556
Хиль
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Заклинило )))
Следующий вопрос... )

на форме есть два комбо, связанные с разными таблицами (страны и города). Хочется сделать чтоб при выборе страны в комбо с городами оставались только нужные (города выбранной страны). Таблицы связаны по коду страны. В курсор вроде все выбирается, а дальше со вторым комбо тишина.... Как по человечески (а не как я , через ж..) все сделать? На какой метод навешивается код в таком случае?

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
[SRC sql]str=thisform.combo1.Value
SELECT strana 
LOCATE FOR strana.nazvanie_str=str
str_n=var(strana.id_str)
SELECT goroda
SELECT goroda.nazv_g FROM goroda WHERE goroda.id_str= str_n ORDER BY goroda.nazv_g INTO cursor gor
thisform.combo2.RowSource="gor"
thisform.Combo2.Refresh() 

[/SRC]
...
Рейтинг: 0 / 0
20.03.2016, 19:18
    #39196558
Хиль
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Заклинило )))
Буду благодарна за любой совет.
...
Рейтинг: 0 / 0
21.03.2016, 08:56
    #39196738
tanglir
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Заклинило )))
Код: 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.
form.load:
Use in Select('st')
Use in Select('gr')
Create Cursor st(id int, n varchar(20))
Insert into st values (1,'РФ')
Insert into st values (2,'США')
Create Cursor gr(sid int,n varchar(20))
Insert into gr values (1,'Москва')
Insert into gr values (1,'Севастополь')
Insert into gr values (2,'Вашингтон')
Insert into gr values (2,'Санкт-Петербург')


form.init:
thisform.combo1.rowsourcetype=6
thisform.combo2.rowsourcetype=6
thisform.combo1.rowsource='st.n'
thisform.combo1.listindex=1
thisform.combo1.InteractiveChange()


combo1.interactivechange:
thisform.combo2.rowSource=''
Select n from gr where sid=st.id into cursor gor
thisform.combo2.rowSource='gor.n'
thisform.combo2.ListIndex=1
thisform.combo2.Refresh()
...
Рейтинг: 0 / 0
21.03.2016, 19:30
    #39197462
Хиль
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Заклинило )))
tanglir, спасибо за подсказку.
Во втором комбо появляются нужные записи, но при попытке нажать на комбо (для выбора нужного города, в случае если их несколько) появляется ошибка THISFORM can only be used within a method

Появляется каждый раз при клике на комбо
...
Рейтинг: 0 / 0
21.03.2016, 21:42
    #39197503
Заклинило )))
Хильtanglir, спасибо за подсказку.
Во втором комбо появляются нужные записи, но при попытке нажать на комбо (для выбора нужного города, в случае если их несколько) появляется ошибка THISFORM can only be used within a method

Появляется каждый раз при клике на комбоА это наверняка уже твоя самодеятельность по установке set filter, не так ли? Посмотри внимательно.
...
Рейтинг: 0 / 0
21.03.2016, 22:48
    #39197525
Хиль
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Заклинило )))
правильный проходящий.,

SET FILTER вообще тут не использовался.

form Init
Код: sql
1.
2.
3.
4.
5.
thisform.combo1.rowsourcetype=6
thisform.combo2.rowsourcetype=6
thisform.combo1.rowsource='strana.nazvanie_str'
thisform.combo1.listindex=1
thisform.combo1.InteractiveChange()



на combo1 combo1.interactivechange
Код: sql
1.
2.
3.
4.
5.
thisform.combo2.rowSource=''
SELECT goroda.nazv_g FROM goroda WHERE goroda.id_str=thisform.combo1.ListIndex ORDER BY  goroda.nazv_g INTO CURSOR gor
thisform.combo2.rowSource='gor.nazv_g'
thisform.combo2.ListIndex=1
thisform.combo2.Refresh() 



Больше ничего не писала...
...
Рейтинг: 0 / 0
21.03.2016, 22:52
    #39197526
Хиль
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Заклинило )))
правильный проходящий.,
...
Рейтинг: 0 / 0
21.03.2016, 22:54
    #39197527
Заклинило )))
Хильправильный проходящий.,

SET FILTER вообще тут не использовался.
А я что-то писал про "тут"? И какой код тут выложил tanglir я тоже видел. Речь не о нём, а о прочей самодеятельности.
...
Рейтинг: 0 / 0
21.03.2016, 23:01
    #39197532
Заклинило )))
Хиль,
сообщение об ошибке я уже читал и скриншот ничего не меняет. Вы считаете нас ментами из анекдота, которым все надо как минимум два раза повторять? Может сами для начала начнете с первого раза выполнять то, что вас просят? Вроде у вас ошибки, а не у нас, и вам нужна помощь, а не нам.
...
Рейтинг: 0 / 0
21.03.2016, 23:23
    #39197539
Хиль
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Заклинило )))
правильный проходящий.,
я благодарна за ваши комментарии, не нужно нападок. С фоксом имела дела очень давно, а сейчас пытаюсь помочь брату сдать курсач. Времени как у всех студентов из разряда "сдать вчера"...
Никаких дополнительных настроек я в проекте не делала (ну по крайней мере я так думаю)
Поясните пожалуйста подробнее как исправить ошибку )))
...
Рейтинг: 0 / 0
21.03.2016, 23:30
    #39197543
Заклинило )))
ХильПоясните пожалуйста подробнее как исправить ошибку )))Прежде чем что-то исправлять это что-то надо найти. Самый вероятный вариант я уже предложил. Вы знаете такой инструмент с названием Code Reference, находящийся в меню Tools? Можете им пользоваться и найти с его помощью все места использования слова filter?
...
Рейтинг: 0 / 0
21.03.2016, 23:43
    #39197545
Хиль
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Заклинило )))
правильный проходящий.,
ничего не найдено говорит (закрыла проект> запустила инструмент> указала место поиска> задала в поле поиска "filter" Так??? )
...
Рейтинг: 0 / 0
21.03.2016, 23:47
    #39197548
Хиль
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Заклинило )))
правильный проходящий.,

посмотрите пожалуйста, может я накосячила там капитально.... что дальше только хуже будет.....
...
Рейтинг: 0 / 0
21.03.2016, 23:59
    #39197551
Заклинило )))
Хильзакрыла проект> Зачем?запустила инструмент> указала место поиска>Какое? задала в поле поиска "filter" Так??? )Почти...
...
Рейтинг: 0 / 0
22.03.2016, 00:11
    #39197553
Заклинило )))
Хиль,

ошибка не воспроизводится. Отсюда вывод - дело не в коде и не в проекте. Ищите у себя.
...
Рейтинг: 0 / 0
22.03.2016, 05:58
    #39197586
tanglir
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Заклинило )))
правильный проходящий.,

а у меня воспроизводится, но только на проекте ТС. Если создать форму с нуля(в том же проекте), то ошибка отсутствует. ТС как-то накосячила с формой, но как именно, понять не могу.
...
Рейтинг: 0 / 0
22.03.2016, 08:29
    #39197618
Dima T
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Заклинило )))
Скачал, запустил, потыкал - никаких ошибок.

Как ошибку воспроизвести?
...
Рейтинг: 0 / 0
22.03.2016, 08:45
    #39197629
tanglir
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Заклинило )))
Dima T,

запустить форму, что на скрине выше(вроде бы "tour"), выбрать страну, ткнуть мышой во второй комбобокс.
...
Рейтинг: 0 / 0
22.03.2016, 09:06
    #39197639
Dima T
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Заклинило )))
Работает. VFP9 SP2
...
Рейтинг: 0 / 0
22.03.2016, 09:31
    #39197663
Хиль
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Заклинило )))
tanglir,
пробовала создавать новую форму - ни в какую... опять ошибка.
Ошибка возникает при подключении курсора ко второму комбо

thisform.combo2.rowSource='gor.nazv_g'

Можно ли как-то по другому в комбо класть нужные значения?
...
Рейтинг: 0 / 0
22.03.2016, 09:37
    #39197669
Dima T
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Заклинило )))
Попробуй NOFILTER добавить
Код: sql
1.
SELECT goroda.nazv_g FROM goroda WHERE goroda.id_str=thisform.combo1.ListIndex ORDER BY  goroda.nazv_g INTO CURSOR gor NOFILTER
...
Рейтинг: 0 / 0
22.03.2016, 09:50
    #39197681
Заклинило )))
ХильМожно ли как-то по другому в комбо класть нужные значения?Можно. Вопрос только в нужности.

В качестве проверки одного предположения замените код на приведенный ниже. Он нам позволит заодно позволит проверить и предположение, выдвинутое Dima T.
Код: sql
1.
2.
3.
4.
5.
6.
7.
With Thisform
  .combo2.RowSource=''
  Select goroda.nazv_g From goroda Where goroda.id_str= .combo1.ListIndex Order By  goroda.nazv_g Into Cursor gor
  .combo2.RowSource='gor.nazv_g'
  .combo2.ListIndex=1
  .combo2.Refresh()
Endwith
...
Рейтинг: 0 / 0
22.03.2016, 09:56
    #39197688
Хиль
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Заклинило )))
правильный проходящий.,
ЗАРАБОТАЛО!!!!!
добавила NOFILTER .
Спасибо ВАМ ВСЕМ огроменное кто озаботился моей проблемой!!!
...
Рейтинг: 0 / 0
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Заклинило ))) / 25 сообщений из 33, страница 1 из 2
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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