powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Определить данные, которые выделены в Grid
16 сообщений из 16, страница 1 из 1
Определить данные, которые выделены в Grid
    #37734006
Соколик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Проблема в следующем. Grid 1 заполняется инфой с 3 таблиц с помощью sql-запроса и курсора
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
thisform.Grid1.RecordSource=0
SELECT tovar.name as Íàéìåíóâàííÿ, viddil.name as ³ää³ë, post.name as Ïîñòà÷àëüíèê, tovar.price as Ö³íà, tovar.quant as ʳëüê³ñòü; 
FROM tovar;
INNER JOIN viddil ;
ON  tovar.id_viddil = viddil.id;
INNER JOIN post ;
ON  tovar.id_post = post.id;
INTO CURSOR skl
thisform.Grid1.RecordSource = "skl"



В результате необходимо отредактировать данные, которые выбрал пользователь, в новой форме, но я не знаю какой tovar.id выделен в таблице. Необходимо узнать его, дабы вставить в следующий код:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
SELECT tovar.id, tovar.name, viddil.name, post.name, tovar.price, tovar.quant; 
FROM tovar;
INNER JOIN viddil ;
ON  tovar.id_viddil = viddil.id;
INNER JOIN post ;
ON  tovar.id_post = post.id;
WHERE tovar.id=?????????????????????????????;
INTO array edskl
thisform.edit1.Value=edskl[1,2]
thisform.edit2.Value=chrtran(STR(edskl[1,5])," ","")
thisform.edit3.Value=chrtran(STR(edskl[1,6])," ","")


Очень нужна помощь. Заранее благодарен.
...
Рейтинг: 0 / 0
Определить данные, которые выделены в Grid
    #37734019
Соколик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Грубо говоря как узнать какая строка по порядку в таблице выделена?
...
Рейтинг: 0 / 0
Определить данные, которые выделены в Grid
    #37734063
alextashk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Соколик,

Grid средство отображения курсора. Т.е. при перемещении текущей строки по гриду,
Вы перемещаетесь по курсору.

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
iGridID = tovar.id 
SELECT tovar.id, tovar.name, viddil.name, post.name, tovar.price, tovar.quant; 
FROM tovar;
INNER JOIN viddil ;
ON  tovar.id_viddil = viddil.id;
INNER JOIN post ;
ON  tovar.id_post = post.id;
WHERE tovar.id=iGridID;
INTO array edskl
thisform.edit1.Value=edskl[1,2]
thisform.edit2.Value=chrtran(STR(edskl[1,5])," ","")
thisform.edit3.Value=chrtran(STR(edskl[1,6])," ","")
...
Рейтинг: 0 / 0
Определить данные, которые выделены в Grid
    #37734107
Соколик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
alextashkСоколик,

Grid средство отображения курсора. Т.е. при перемещении текущей строки по гриду,
Вы перемещаетесь по курсору.

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
iGridID = tovar.id 
SELECT tovar.id, tovar.name, viddil.name, post.name, tovar.price, tovar.quant; 
FROM tovar;
INNER JOIN viddil ;
ON  tovar.id_viddil = viddil.id;
INNER JOIN post ;
ON  tovar.id_post = post.id;
WHERE tovar.id=iGridID;
INTO array edskl
thisform.edit1.Value=edskl[1,2]
thisform.edit2.Value=chrtran(STR(edskl[1,5])," ","")
thisform.edit3.Value=chrtran(STR(edskl[1,6])," ","")



все бы ничего, но я так делал, в итоге получаю последнюю запись таблицы при любом положении курсора
...
Рейтинг: 0 / 0
Определить данные, которые выделены в Grid
    #37734113
FAM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Соколик,

просто строчечку
iGridID = tovar.id
вставь в AfterRowColChange
И всегда будет у тебя в переменноой записано tovar.id
...
Рейтинг: 0 / 0
Определить данные, которые выделены в Grid
    #37734129
Соколик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
FAMСоколик,

просто строчечку
iGridID = tovar.id
вставь в AfterRowColChange
И всегда будет у тебя в переменноой записано tovar.id
зделал таким образом, всеравно вытягивает последнюю запись :(
...
Рейтинг: 0 / 0
Определить данные, которые выделены в Grid
    #37734171
IgorNG
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
СоколикFAMСоколик,

просто строчечку
iGridID = tovar.id
вставь в AfterRowColChange
И всегда будет у тебя в переменноой записано tovar.id
зделал таким образом, всеравно вытягивает последнюю запись :(

А почему iGridID = tovar.id когда thisform.Grid1.RecordSource = "skl"? В таком случае правильно, что выдает данные из последней записи таблицы tovar
...
Рейтинг: 0 / 0
Определить данные, которые выделены в Grid
    #37734172
alextashk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Соколик,

Значит у тебя в грид отображается курсор не связанный с tovar
проверь.
...
Рейтинг: 0 / 0
Определить данные, которые выделены в Grid
    #37734188
IgorNG
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Соколик,

В запрос skl добавить поле tovar.id - тогда будет счастье.
...
Рейтинг: 0 / 0
Определить данные, которые выделены в Grid
    #37734330
Соколик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
sql-запрос в первом сообщении, курсор связан (если я правильно понял) с таблицей tovar.

когда я использовал tovar.name, который есть в запрос - в результате все то же
...
Рейтинг: 0 / 0
Определить данные, которые выделены в Grid
    #37734353
IgorNG
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Соколик,

Курсор - это некая выборка по заданным параметром из одной или нескольких таблиц. И он никоим образом не связан с таблицей tovar. В этом курсоре нет поля ID из таблицы tovar.
Во втором запросе WHERE tovar.id=?????????????????????????????;
Ну и где ты возьмешь значение, равное tovar.id, если в запросе кроме имен ничего нет.
...
Рейтинг: 0 / 0
Определить данные, которые выделены в Grid
    #37734378
Соколик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
IgorNG,
я понимаю, я говорю что ключевым полем я выбрал tovar.name, который есть в курсоре:
iGridID = tovar.name вставил в AfterRowColChange, в условии записал WHERE tovar.name=iGridId
результат аналогичен - в форме редактирования данные последне записи
...
Рейтинг: 0 / 0
Определить данные, которые выделены в Grid
    #37734392
Соколик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
или нужно использовать именно курсор, в данном случае skl?
как тогда получить доступ к полю name ?
...
Рейтинг: 0 / 0
Определить данные, которые выделены в Grid
    #37734397
IgorNG
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Соколик,

Из командного окна попробуй сначала 1-й запрос сделать, а потом 2-й запрос в курсор. Какой будет результат?
...
Рейтинг: 0 / 0
Определить данные, которые выделены в Grid
    #37734451
Соколик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
IgorNGСоколик,

Из командного окна попробуй сначала 1-й запрос сделать, а потом 2-й запрос в курсор. Какой будет результат?

спасибо за совет, как зделал сразу понял. я использовал таблицу товаров, вместо того чтобы использовать курсор, куда я помещал данные... так как в запросе поле name было указано как Найменування, то когда я поставил iGridID = skl. Найменування все заработало!!

Всем большое спасибо за советы!!!
...
Рейтинг: 0 / 0
Определить данные, которые выделены в Grid
    #37734459
alextashk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Первый запрос для формирования наполнения Grid1
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
thisform.Grid1.RecordSource=0
SELECT tovar.id, tovar.name as Íàéìåíóâàííÿ, viddil.name as ³ää³ë, post.name as Ïîñòà÷àëüíèê, tovar.price as Ö³íà, tovar.quant as ʳëüê³ñòü; 
FROM tovar;
INNER JOIN viddil ;
ON  tovar.id_viddil = viddil.id;
INNER JOIN post ;
ON  tovar.id_post = post.id;
INTO CURSOR skl
thisform.Grid1.RecordSource = "skl"



собственно запрос для редактирования в зависимости от
выбора в grid1

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
iGridID = skl.id 
SELECT tovar.id, tovar.name, viddil.name, post.name, tovar.price, tovar.quant; 
FROM tovar;
INNER JOIN viddil ;
ON  tovar.id_viddil = viddil.id;
INNER JOIN post ;
ON  tovar.id_post = post.id;
WHERE tovar.id=iGridID;
...
Рейтинг: 0 / 0
16 сообщений из 16, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Определить данные, которые выделены в Grid
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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