powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Заклинило )))
25 сообщений из 33, страница 1 из 2
Заклинило )))
    #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
Заклинило )))
    #39196206
ХильКак исправить?Перестать путать поиск с выборкой по условию. Ваше SELECT klient.fam... не поиск, а выборка в новый курсор, про который грид не знает и потому теряет свой источник записей. Классические грабли. Читаем: Пропадают настройки Grid, события столбцов, заголовков, ячеек
Если нужен поиск, то пользоваться нужно командами поиска. Locate, Seek и т.д.
...
Рейтинг: 0 / 0
Заклинило )))
    #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
Заклинило )))
    #39196558
Хиль
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Буду благодарна за любой совет.
...
Рейтинг: 0 / 0
Заклинило )))
    #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
Заклинило )))
    #39197462
Хиль
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
tanglir, спасибо за подсказку.
Во втором комбо появляются нужные записи, но при попытке нажать на комбо (для выбора нужного города, в случае если их несколько) появляется ошибка THISFORM can only be used within a method

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

Появляется каждый раз при клике на комбоА это наверняка уже твоя самодеятельность по установке set filter, не так ли? Посмотри внимательно.
...
Рейтинг: 0 / 0
Заклинило )))
    #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
Заклинило )))
    #39197526
Хиль
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
правильный проходящий.,
...
Рейтинг: 0 / 0
Заклинило )))
    #39197527
Хильправильный проходящий.,

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

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

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

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

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

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

thisform.combo2.rowSource='gor.nazv_g'

Можно ли как-то по другому в комбо класть нужные значения?
...
Рейтинг: 0 / 0
Заклинило )))
    #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
Заклинило )))
    #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
Заклинило )))
    #39197688
Хиль
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
правильный проходящий.,
ЗАРАБОТАЛО!!!!!
добавила NOFILTER .
Спасибо ВАМ ВСЕМ огроменное кто озаботился моей проблемой!!!
...
Рейтинг: 0 / 0
25 сообщений из 33, страница 1 из 2
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Заклинило )))
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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