powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Вопросы по поиску и отчету?
35 сообщений из 35, показаны все 2 страниц
Вопросы по поиску и отчету?
    #34432652
Neta
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
1) В среде DataEnvoirment отчета добавляю три таблицы.( 1 дочерняя). Связь сохраняется только между двумя. Почему?
2)По кнопке поиск хочу сделать выборку. Пишу:

IF (thisform.text3.Text!="")
SELECT файл.name;
FROM бд!файл;
WHERE файл.name=thisform.text3.Text;
INTO TABLE файл.dbf
SELECT файл
BROWSE
ENDIF

и ничего не отображается. Почему?

3) можно ли сделатьтак, чтобы выборка по запросу выводилась сразу в отчет? что для этого написаь?
...
Рейтинг: 0 / 0
Вопросы по поиску и отчету?
    #34432700
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Neta1) В среде DataEnvoirment отчета добавляю три таблицы.( 1 дочерняя). Связь сохраняется только между двумя. Почему?
Это как? Как именно "не сохраняется"?

Neta
2)По кнопке поиск хочу сделать выборку. Пишу:

IF (thisform.text3.Text!="")
SELECT файл.name;
FROM бд!файл;
WHERE файл.name=thisform.text3.Text;
INTO TABLE файл.dbf
SELECT файл
BROWSE
ENDIF

и ничего не отображается. Почему?
Любая строка при таком сравнении будет всегда равна пустой строке, поскольку при настройке SET EXACT OFF (это настройка по умолчанию) сравнение идет до истечения символов в более короткой строке. Т.е., в данном случае, сравнение не успеет начаться, как сразу же и закончится.

Сравнение символьной строки с пустой строкой так не производится. Для анализа символьного значения на "пустоту" используют функцию EMPTY()

Код: plaintext
1.
2.
IF Empty(thisform.text3.Text)=.F.
...
ENDIF

Кстати, надеюсь, Вы понимаете, чем отличается thisform.text3.Text от thisform.text3.Value? Text - это то, что видит пользователь на форме, а Value - это то, что физически будет записано. Это далеко не всегда одно и то же.

Кроме того, может и не сработать вот это условие

WHERE файл.name=thisform.text3.Text

Не потому, что оно не правильное, а потому, что синтаксический анализатор команды Select-SQL воспринимает конструкцию вида AAA.BBB как Имя_Таблицы.Имя_Поля читая ее справа-налево. Поэтому вполне вероятно сообщение об ошибке вроде "Column Text not found". Чтобы этого избежать необходимо присвоить значение переменной памяти и в Select-SQL использовать уже эту переменную

Код: plaintext
1.
2.
3.
4.
5.
6.
LOCAL lcValue
lcValue = thisform.text3.Text
IF Empty(m.lcValue)=.F.
	SELECT ... ;
	WHERE файл.name=m.lcValue ;
	...
ENDIF

Наконец, если результат запроса нужен для отчета, то нет смысла формировать постоянную таблицу (INTO Table). Логичнее сформировать курсор (временную таблицу)

Код: plaintext
1.
2.
3.
4.
SELECT ... ;
INTO CURSOR curTmp NOFILTER

select curTmp
BROWSE NOWAIT

Neta3) можно ли сделатьтак, чтобы выборка по запросу выводилась сразу в отчет? что для этого написаь?
Конечно. Именно так обычно отчеты и строятся.

Точнее, отчет все-равно придется делать вручную. Просто источником данных для него будет курсор или таблица, сформированные по результату работы запроса или собственной процедуры.

Если отчет формируется в Default DataSession, то просто перед выполнением отчета формируется курсор. А если отчет формируется в Private DataSession, то курсор формируется в методе DataEnvironment.BeforOpenTable() отчета.
...
Рейтинг: 0 / 0
Вопросы по поиску и отчету?
    #34433395
Neta
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Большое спасибо за ответ. "Поиск" заработал!!!=)))
1)По поводу как не сохраняется связь: В DataEnviroment при расположении туда 3-х таблиц не отображается одна из линии, которая характерезует связь между таблицами.
2) Как сделать так, чтобы при поиске сразу отображался отчет, а не временная таблица. Как сделать для этого отчет?
То есть, вот у меня есть отчет, в нем выбраны нужные мне поля из трех разных таблиц, где-то эти поля соединены в одну переменную. Когда я делаю запрос результат его выборки из трех таблиц помещается в одну (временную) и как теперь изменить переменные в отчете, чтобы на те же места выводились переменные из сводной таблицы.
...
Рейтинг: 0 / 0
Вопросы по поиску и отчету?
    #34434353
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Neta
1)По поводу как не сохраняется связь: В DataEnviroment при расположении туда 3-х таблиц не отображается одна из линии, которая характерезует связь между таблицами.
"Постоянные связи" в контейнере базы данных и "временные связи" в DataEnvironment - это "две большие разницы". У них разные задачи и способы создания.

Чем они отличаются, можно посмотреть здесь

Связи и отношения между таблицами

Если Вы настроили постоянную связь в контейнере базы данных, то на основании этой связи может быть создана временная связь в DataEnvironment, но может и не быть.

В общем случае, не имеет никакого значения есть или нет "постоянная связь" в контейнере базы данных к тому, какие "временные связи" будут настроены в DataEnvironment.

В DataEnvironment, если необходимо можно настроить или удалить нужные "временные связи". Для этого надо нажать левой клавишей мыши на поле в главной таблице и не отпуская, перетащить указатель мыши на индекс подчиненной. Т.е. связь от поля к индексу.

Но, по большому счету, связи в DataEnvironment формы, как правило, только мешают. Приводят к самым разнообразным глюкам и непониманиям. Обычно их как раз удаляют, если они настриваются автоматически.

Neta
2) Как сделать так, чтобы при поиске сразу отображался отчет, а не временная таблица. Как сделать для этого отчет?
То есть, вот у меня есть отчет, в нем выбраны нужные мне поля из трех разных таблиц, где-то эти поля соединены в одну переменную. Когда я делаю запрос результат его выборки из трех таблиц помещается в одну (временную) и как теперь изменить переменные в отчете, чтобы на те же места выводились переменные из сводной таблицы.
Делаете запрос, указав в качестве цели курсор, например

INTO CURSOR curReport NOFILTER

Затем строите обычный отчет, указывая в качестве источника данных для полей отчета поля из этого самого кусрора. В процессе работы сразу по завершению Select-SQL запускаете готовый отчет.

Код: plaintext
1.
2.
3.
SELECT ... INTO CURSOR curReport NOFILTER
select surReport
REPORT FORM MyReport.frx TO PRNTER PROMPT PREVIEW

Т.е. в самом отчете идет ссылка не на поля исходной таблицы, а на поля курсорая, который будет создан перед выполнением отчета. Имя курсора, естесственно, известно заранее, как и имена полей.
...
Рейтинг: 0 / 0
Вопросы по поиску и отчету?
    #34438200
Neta
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Большое спасибо, запрос в отчет получился. Только небольшая проблема, в отчет выводит результат запроса три раза подряд (одно и тоже). В чем причина?

LOCAL lcValue
lcValue = thisform.text3.Text

IF Empty(m.lcValue)=.F.
SELECT DISTINCT файл.name, файл.disk, файл.sost, b.time, b.season, b.country, b.place, b.weather, a.road, a.r_road, a.move, a.prep, a.property, a.type_move;
FROM бд!файл INNER JOIN бд!погода b;
INNER JOIN бд!препятствия a;
ON a.idprep=файл.idprep;
ON b.idweather=файл.idweather;
WHERE файл.name=m.lcValue;
INTO CURSOR curReport NOFILTER
REPORT FORM i:\БД\Report\report1.frx TO PRNTER PROMPT PREVIEW

ENDIF
...
Рейтинг: 0 / 0
Вопросы по поиску и отчету?
    #34438279
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
NetaБольшое спасибо, запрос в отчет получился. Только небольшая проблема, в отчет выводит результат запроса три раза подряд (одно и тоже). В чем причина?
Это значит, что вместо курсора отчету назначена другая главная таблица. Т.е. в отчете происходит сканирование не записей полученного курсора, а записей какой-то другой таблицы. Соответсвенно для каждой записи этой "другой" таблицы и выводится одна текущая запись полученного курсора.

Надо проверить следующее:

1) Если отчет вызывается из Grid, то первой командой надо увести фокус с Grid на любой другой объект формы. Хотя бы на ту кнопку, по нажатию которой отчет и запускается

Код: plaintext
1.
2.
3.
ThisForm.text3.SetFocus()
...
REPORT FORM ...


2) Убедится, что в DataEnvironment нет никаких курсоров. А если они необходимы, то в свойствах самого DataEnvironment должно быть пустое значение свойства DataEnvironment.InitialSelectedAlias

3) Теоретически, после выполнения команды Select-SQL текущей должна стать рабочая область того курсора, который формируется в результате этого запроса. Однако на всякий случай лучше это продублировать

Код: plaintext
1.
2.
SELECT ... CURSOR curReport NOFILTER
select curReport
REPORT FORM ...
...
Рейтинг: 0 / 0
Вопросы по поиску и отчету?
    #34438442
Neta
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо, убрала из DataEnviroment отчета старые таблицы и все стало хорошо =))))
...
Рейтинг: 0 / 0
Вопросы по поиску и отчету?
    #34450222
Neta
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
REPORT FORM i:\БД\Report\report2.frx TO PRNTER PROMPT PREVIEW

Вопрос такой: при просмотре отчета отображается только первая страница, как сделать так, чтобы отображались все или можно было бы листать страницы?
...
Рейтинг: 0 / 0
Вопросы по поиску и отчету?
    #34450270
Neta
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Все, извините, нашла!!!=))))
...
Рейтинг: 0 / 0
Вопросы по поиску и отчету?
    #34457436
Jaroslav
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Прошу прощения, кто-нибудь может мне дать полезный совет, а именно: у меня есть база данных (задание:Таблица 1: код института, название института, фамилия ректора
Таблица 2: код института, название специальности, количество принятых на первый курс студентов, количество выпускников. Определить Количество специальностей в каждом институте)
в access состоящая из двух таблиц, я сделал 2 формы для каждой таблицы соответственно в visual basic ,добавил DATA , связал ее с таблицами, также расположил нужное количество textbox для отображения в них данных по каждой таблице, а теперь мне нужно Определить Количество специальностей в каждом институте. Кто-нибудь может подсказать как это сделать?
...
Рейтинг: 0 / 0
Вопросы по поиску и отчету?
    #34458049
AleksMed
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
JaroslavПрошу прощения, кто-нибудь может мне дать полезный совет, а именно: у меня есть база данных (задание:Таблица 1: код института, название института, фамилия ректора
Таблица 2: код института, название специальности, количество принятых на первый курс студентов, количество выпускников. Определить Количество специальностей в каждом институте)
в access состоящая из двух таблиц, я сделал 2 формы для каждой таблицы соответственно в visual basic ,добавил DATA , связал ее с таблицами, также расположил нужное количество textbox для отображения в них данных по каждой таблице, а теперь мне нужно Определить Количество специальностей в каждом институте. Кто-нибудь может подсказать как это сделать?
Код: plaintext
select Таблица1.КодИнститута, Таблица2.НазваниеИнститута, count(Таблица2.НазваниеСпециальности) from Таблица1 inner join Таблица2 on Таблица2.КодИнститута=Таблица1.КодИнститута
...
Рейтинг: 0 / 0
Вопросы по поиску и отчету?
    #34458102
AleksMed
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
select Таблица1.КодИнститута, Таблица2.НазваниеИнститута, count(Таблица2.НазваниеСпециальности) 
from Таблица1 
inner join Таблица2 on Таблица2.КодИнститута=Таблица1.КодИнститута
group by Таблица1.КодИнститута, Таблица2.НазваниеИнститута
...
Рейтинг: 0 / 0
Вопросы по поиску и отчету?
    #34459853
Neta
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вот такой еще у меня вопрос: есть форма с текстовыми полями (около 15 штук), в которых пользователь задает параметры поиска, соответственно, поле может быть как заполнено, так и пусто. По не пустым полям осуществляеться выборка (запрос). Так вот, можно лм учесть проверку на пустоту в теле самого запроса, то есть обойтись без if (не пустое поле), то запрос... А то вариантов очень много.
...
Рейтинг: 0 / 0
Вопросы по поиску и отчету?
    #34459899
Burn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторТак вот, можно лм учесть проверку на пустоту в теле самого запроса, то есть обойтись без if (не пустое поле), то запрос... А то вариантов очень много.
Например так:

SELECT <чтото откудато> WHERE IIF(Empty(pole),.t.,pole=table_field)
...
Рейтинг: 0 / 0
Вопросы по поиску и отчету?
    #34464873
J
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
J
Гость
Помогите! Вопрос: у меня есть 2 формы: на одной расположен data1 + textboxы в которых отображаются данные из базы данных access, на другой форме одна commandbutton и label7 для вывода в ней данных, по заданному заданию, вот кстати текст к command button :Private Sub Command1_Click()
Dim min As Integer
Dim i As Integer
Dim s As String
min = 32000
Data1.Recordset.MoveFirst
Do While Not Data1.Recordset.EOF
If min > Data1.Recordset.Fields(2).Value Then
min = Data1.Recordset.Fields(2).Value
s = Data1.Recordset.Fields(1).Value
End If
Data1.Recordset.MoveNext
Loop
Label7.Caption = Str(min) + " " + s
Data1.Recordset.MoveFirst
End Sub
Подскажите как ввести сюда связь с data которая находится на другой форме,а то просто программа пишет что Variable not defined
...
Рейтинг: 0 / 0
Вопросы по поиску и отчету?
    #34464888
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
NetaВот такой еще у меня вопрос: есть форма с текстовыми полями (около 15 штук), в которых пользователь задает параметры поиска, соответственно, поле может быть как заполнено, так и пусто. По не пустым полям осуществляеться выборка (запрос). Так вот, можно лм учесть проверку на пустоту в теле самого запроса, то есть обойтись без if (не пустое поле), то запрос... А то вариантов очень много.
Можно использовать макроподстановку

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
LOCAL lcFilter
lcFilter = ".T."

IF EMPTY(ThisForm.TextBox1.Value) = .F.
	lcFilter = m.lcFilter + " AND MyTab.MyField1="+TransForm(ThisForm.TextBox1.Value)
ENDIF

IF EMPTY(ThisForm.TextBox2.Value) = .F.
	lcFilter = m.lcFilter + " AND MyTab.MyField2="+TransForm(ThisForm.TextBox2.Value)
ENDIF

LOCAL lcSelect
lcSelect = "SELECT * FROM MyTab WHERE "+m.lcFilter

* Собственно выполнение запроса
&lcSelect
...
Рейтинг: 0 / 0
Вопросы по поиску и отчету?
    #34467159
J
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
J
Гость
кто-нибудь знает? Вопрос: у меня есть 2 формы: на одной расположен data1 + textboxы в которых отображаются данные из базы данных access, на другой форме одна commandbutton и label7 для вывода в ней данных, по заданному заданию, вот кстати текст к command button :Private Sub Command1_Click()
Dim min As Integer
Dim i As Integer
Dim s As String
min = 32000
Data1.Recordset.MoveFirst
Do While Not Data1.Recordset.EOF
If min > Data1.Recordset.Fields(2).Value Then
min = Data1.Recordset.Fields(2).Value
s = Data1.Recordset.Fields(1).Value
End If
Data1.Recordset.MoveNext
Loop
Label7.Caption = Str(min) + " " + s
Data1.Recordset.MoveFirst
End Sub
Подскажите как ввести сюда связь с data которая находится на другой форме,а то просто программа пишет что Variable not defined .КАК СДЕЛАТЬ связь между двумя этими формами? какой алгоритм?
...
Рейтинг: 0 / 0
Вопросы по поиску и отчету?
    #34467276
J
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
J
Гость
Все спасибо я разобрался)
...
Рейтинг: 0 / 0
Вопросы по поиску и отчету?
    #34467984
Jaroslav
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Кто-нибудь еще знает способы , а именно: у меня есть база данных (задание:Таблица 1: код института, название института, фамилия ректора
Таблица 2: код института, название специальности, количество принятых на первый курс студентов, количество выпускников. Определить Количество специальностей в каждом институте)
в access состоящая из двух таблиц, я сделал 2 формы для каждой таблицы соответственно в visual basic ,добавил DATA , связал ее с таблицами, также расположил нужное количество textbox для отображения в них данных по каждой таблице, а теперь мне нужно Определить Количество специальностей в каждом институте. Кто-нибудь может подсказать как это сделать но без select?
...
Рейтинг: 0 / 0
Вопросы по поиску и отчету?
    #34468025
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Jaroslav

Создай новую тему. Не надо "мусорить" в чужих темах. Да и далеко не все читают все подряд. Твой "довесок" могут просто не увидеть.

Кстати, ты форумом не ошибся? Это форум по FoxPro, а не по VBA.
...
Рейтинг: 0 / 0
Вопросы по поиску и отчету?
    #34525798
Neta
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Не могли бы пояснить, что происходит вот в этой строчке:

lcFilter = m.lcFilter + " AND MyTab.MyField1="+TransForm(ThisForm.TextBox1.Value)

Особенно, что такое "m."
и вот здесь:

lcSelect = "SELECT * FROM MyTab WHERE "+m.lcFilter
...
Рейтинг: 0 / 0
Вопросы по поиску и отчету?
    #34537940
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Вопросы по поиску и отчету?
    #34538779
alex11100
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
если переменная объявлена локальной,
то использование префикса
m.

являестся избыточным

корректным и удобным является такой синтаксис

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
local lcFilter, lcSelect
text to lcFilter additive noshow textmerge pretext  7 
     AND MyTab.MyField1=<<TransForm(ThisForm.TextBox1.Value)>>
endtext
text to lcSelect noshow textmerge pretext  7 
     SELECT * FROM MyTab WHERE <<lcFilter>>
endtext
...
Рейтинг: 0 / 0
Вопросы по поиску и отчету?
    #34539334
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alex11100если переменная объявлена локальной,
то использование префикса
m.

являестся избыточным

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
CREATE CURSOR test (MyField C( 10 ))
INSERT INTO test (MyField) VALUES ('123456')

LOCAL MyField
MyField = 'пример'

?"MyField=",MyField
?"m.MyField=",m.MyField

Чтобы "здесь писать, а здесь - не писать" надо иметь достаточно большой опыт. Проще и понятнее, писать везде. Без скидок на "локальность" и "избыточность"
...
Рейтинг: 0 / 0
Вопросы по поиску и отчету?
    #34539377
alex11100
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2 ВладимирМ

прекратите заниматься дурью

есть венгерская нотация, ее и нужно придерживаться

переменной LOCAL MyField
быть не должно!!!!!!

должна быть переменная
L(тип)имя

полей в таблице
ln...., lt...., ldD... ,
быть не должно!!!!! есть свои методы именования (префикс + ...)

на дворе 2007 год!
есть устоявшиеся правила и принципы, которые облегчают разработку и поддержку.

не нужно писать напропалую, нужно думать и облегчать себе и другим жизнь
...
Рейтинг: 0 / 0
Вопросы по поиску и отчету?
    #34539390
alex11100
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
авторПроще и понятнее, писать везде

для кого??? для Вас???
для меня проще и понятней переменные в Венгерской нотации
...
Рейтинг: 0 / 0
Вопросы по поиску и отчету?
    #34539410
Urri
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alex11100прекратите заниматься дурью
есть венгерская нотация, ее и нужно придерживаться
есть устоявшиеся правила и принципы, которые облегчают разработку и поддержку.
Алекс, ну я прямо уж и не знаю, как к вам относиться.
Не будьте столь категоричны.
Венгерская нотация ничем не лучше других способов, с помощью которых несколько разработчиков могут договориться друг с другом.
Ваши способности договариваться с некоторых пор лично у меня вызывают сомнение. ;-)
...
Рейтинг: 0 / 0
Вопросы по поиску и отчету?
    #34539710
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Для справки.

При использовании команды SCATTER MEMVAR создается набор переменных памяти, имена которых полностью совпадает с именем полей таблицы. Там нет никаких "префиксов".
...
Рейтинг: 0 / 0
Вопросы по поиску и отчету?
    #34541308
alex11100
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ВладимирМ, успокойтесь наконец

для справки
на дворе 2007 год, фокспро 9
и скаттер умеет создавать объект-емпти

форум для того, чтобы общаться и показывать новшества,
а не топтаться на месте
...
Рейтинг: 0 / 0
Вопросы по поиску и отчету?
    #34542745
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Александр, Вы очень странно ведете дискуссию. В особенности для человека, утверждающего, что он изучал логику.

Озвучивая какой-либо тезис, я, как правило, привожу примеры и аргументы, объясняющие, почему я выбрал тот или иной способ решения. Если я в чем-то ошибся, и оппонент сумел аргументировано доказать ошибочность моих положений, я признаю свою ошибку.

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

В данном случае, Вы утверждали, что всегда следует использовать венгерскую нотацию, для формирования имен переменных.

Во-первых, как справедливо заметил Urri венгерская нотация - это всего-лишь рекомендация . Следовать ей или нет и в каких пределах - каждый решает для себя сам. На работоспособность программы - это никак, никоим образом, не сказывается.

Во-вторых, я показал на примере команды SCATTER, что даже если Вы приняли решение следовать венгерской нотации это не всегда возможно чисто технически.

И что Вы высказали в ответ? Голые эмоции.

Почему Вы считаете, что использование префикса "m." - это "избыточность", а использование венгерской нотации - это "устоявшиеся принципы"? Кстати, в каком году была предложена венгерская нотация? А ведь на дворе уже 2007 год! Пора бы уже перестать "топтаться на месте"!

В стеклянном доме нельзя бросаться камнями. Вас же самого и завалит.
...
Рейтинг: 0 / 0
Вопросы по поиску и отчету?
    #34557432
Neta
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
SELECT * FROM бд!файл INNER JOIN бд!препятствия b;
ON b.idweather=файл.idweather;
INNER JOIN бд!погода a;
ON a.idprep=файл.idprep;
INTO CURSOR curReport NOFILTER

LOCAL lcFilter
lcFilter = ".T."

IF EMPTY(ThisForm.Text1.Value) = .F.
lcFilter = m.lcFilter + " AND curReport.name="+TransForm(ThisForm.Text1.Value)
ENDIF

LOCAL lcSelect
lcSelect = "SELECT * FROM curReport WHERE "+m.lcFilter
&lcSelect

select curReport
REPORT FORM c:\БД\Report\report1.frx TO PRNTER PROMPT PREVIEW

Выдает ошибку "Column "имя_файла" is not found".

Почему? Где исправить?
...
Рейтинг: 0 / 0
Вопросы по поиску и отчету?
    #34557484
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я так понимаю, ошибка возникал при попытке выполнить запрос? Тогда что в результате получилось в строке lcSelect? Какая команда?

Если ошибка возникла на этапе выполнения отчета, то надо смотреть, совпадает ли структура курсора и имена столбцов, используемых в объектах печати отчета.
...
Рейтинг: 0 / 0
Вопросы по поиску и отчету?
    #34557657
Neta
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ошибка возникает при выполнении запроса. Имена в структуре курсора совпадают с именами столбцов.
lcSelect="Select * From curReport Where .T. AND curReport.name=имя_искомого_файла"
...
Рейтинг: 0 / 0
Вопросы по поиску и отчету?
    #34557763
Urri
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
имя_искомого_файла - надо в кавычки ж наверное взять? Это ведь строковая константа?
________
Не дадим распространиться заразе политкорректности!
...
Рейтинг: 0 / 0
Вопросы по поиску и отчету?
    #34558328
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Urri прав. Символьные константы надо обрамлять кавычками. В данном случае можно так:

Код: plaintext
1.
2.
3.
IF EMPTY(ThisForm.Text1.Value) = .F.
	lcFilter = m.lcFilter + " AND curReport.name=["+Alltrim(ThisForm.Text1.Value)+"]"
ENDIF

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


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