Вверх ↑
Этот топик читают: Гость
Ответов: 23
Рейтинг: 0
#1: 2006-09-04 21:07:30 ЛС | профиль | цитата
имеем: dbf с количеством записей около 40 тысяч
структура dbf: 205 НОСОВ ВЛАДИМИР ИВАНОВИЧ 18.04.1948 330154000004420 01.07.2005 НВИ48
FoxBase+/dBASE III PLUSE, no memo
Имя Тип Размер
________________________________
RAI Числовой 3
FIO Символьный 50
BIRTHDAY Дата 8
POLIC Символьный 15
DATA_D Дата 8
POLCODE Символьный 5

необходимо:
При первом запуске приложение запрашивает путь к dbf, при последующих берет путь из ini файла. Предусмотреть возможность очистки ini, т.к. имя и расположение dbf периодически меняется.

основная задача:
Приложение выводит форму для ввода критерий отбора BIRTHDAY и POLCODE. Осуществляется построчный поиск в dbf по заданным критериям. Если строки с такими критериями не найдены, то на экран выводится зелёное "Действителен". Если строки с такими критериями найдены, то на экран выводятся FIO, BIRTHDAY, POLCODE для строк найденных по данному условию отбора, выводится красное "Недействителен" и звучит предупредительный сигнал .
карма: 0

0
Ответов: 574
Рейтинг: 1
#2: 2006-09-04 21:58:38 ЛС | профиль | цитата
У нас сайт бесплатных услуг?
карма: 0

0
Ответов: 3655
Рейтинг: 69
#3: 2006-09-04 22:05:34 ЛС | профиль | цитата
Gluzer, Вообще то форум для помощи в решении задачи, а не для решения её за тебя.
а твоих попытоток решить её мы невидели.
карма: 0

0
Ответов: 23
Рейтинг: 0
#4: 2006-09-05 00:41:12 ЛС | профиль | цитата
to CASPER
нет. это форум, а алчность - это порок...
to Вячеслав
то что необходимо(open и взаимодействие с ini) я сделал, вся проблема в реализации основной задачи
карма: 0

0
Ответов: 23
Рейтинг: 0
#5: 2006-09-05 02:22:43 ЛС | профиль | цитата
to Вячеслав (open и взаимодействие с ini)
Add(MainForm,16667266,49,7)
{
Left=20
Top=105
Width=626
Height=295
Caption="Контроль недействительных полисов"
link(onCreate,16301219:doRead,[(185,48)(185,230)])
}
Add(Hub,15233527,98,98)
{
InCount=2
OutCount=1
link(onEvent1,5559808:doText,[])
}
Add(Edit,5559808,147,98)
{
Left=120
Top=10
Width=260
Text="страховой компании"
link(onChange,9674355:doEvent1,[(198,104)(198,104)])
}
Add(ODialog,64572,49,98)
{
Filter="*.dbf"
Title="Открыть список"
link(onExecute,15233527:doEvent1,[])
}
Add(Ini,16301219,266,224)
{
FileName="Tester.ini"
Section="File"
Key="Open"
Type=1
Point(doDeleteKey)
link(onResult,5559808:doText2,[(315,230)(315,174)(137,174)(137,111)])
}
Add(Button,4477047,7,98)
{
Left=10
Top=10
Width=105
Caption="Данные из файла"
link(onClick,64572:doExecute,[])
}
Add(Button,8822839,7,231)
{
Left=10
Top=35
Width=105
Caption="Сброс настроек"
link(onClick,1130337:doEvent1,[])
}
Add(Hub,9674355,203,98)
{
link(onEvent2,16301219:doWrite,[(254,111)(254,237)])
}
Add(Hub,1130337,56,231)
{
link(onEvent1,15233527:doEvent2,[(93,237)(93,111)])
link(onEvent2,16301219:doDeleteKey,[])
}
карма: 0

0
Ответов: 23
Рейтинг: 0
#6: 2006-09-05 16:27:43 ЛС | профиль | цитата
да, ребята... взаимомолчание у вас на высоте...
карма: 0

0
Ответов: 9906
Рейтинг: 351
#7: 2006-09-05 16:37:34 ЛС | профиль | цитата
Gluzer, а ты разве сказал в чем у тебя проблемы
Чего на зеркало-то пенять...
карма: 9

0
Ответов: 23
Рейтинг: 0
#8: 2006-09-05 17:04:04 ЛС | профиль | цитата
1. Не знаю как прикрутить форму для ввода критерий отбора BIRTHDAY и POLCODE к построчному поиску в dbf по заданным критериям.
2. Не знаю как сделать построчный поиск. Необходимости показывать все содержимое файла нет.
3. Не знаю как выполнять условия если строки с такими критериями не найдены, то на экран должно выводится сообщение "Действителен". Если строки с такими критериями найдены, то на экран выводятся FIO, BIRTHDAY, POLCODE для строк найденных по данному условию отбора и сообщение "Недействителен"
карма: 0

0
Ответов: 3655
Рейтинг: 69
#9: 2006-09-05 18:38:44 ЛС | профиль | цитата
Gluzer, Ты уверен что твоя dbf откроется в ХиАсм
Или ты будешь создавать её в Хиасм
Все запросы в базу выполняются с помощью SQL.
карма: 0

0
Ответов: 9906
Рейтинг: 351
#10: 2006-09-05 19:27:21 ЛС | профиль | цитата
ну интерфейсом между DBF и HiAsm может быть VBJScript, наверное.
Как в примере ExampleDateBaseDBFBlocknote.sha
Коллега Nic владеет сим высоким искусством...
карма: 9

0
Ответов: 23
Рейтинг: 0
#11: 2006-09-05 19:39:58 ЛС | профиль | цитата
to Вячеслав:
1. Да уверен, dbf с которой я работаю открывается в Hiasm(открываю на данный момент с помощью модифицированного скрипта из примера ExampleDateBaseDBFBlocknote.sha)
2. Данная dbf создается как выгрузка из стороннего приложения.
3. SQL запросы это хорошо, я не знаю как их формировать и куда прикручивать для выполнения.
карма: 0

0
Ответов: 689
Рейтинг: 20
#12: 2006-09-05 20:02:19 ЛС | профиль | цитата
Ваш код:

Add(ODialog,64572,49,98)
{
Filter="*.dbf"
Title="Открыть список"
link(onExecute,15233527:doEvent1,[])
}

На мой взгляд такой более корректный:
Add(ODialog,64572,49,98)
{
Filter="Файлы dBASE III (*.dbf)|*.dbf"
Title="Открыть список"
link(onExecute,15233527:doEvent1,[])
}

2. А почему Вы не используете таблицу строк?
3. SQL запросы, ну по крайней мере, запросы касающиеся выборок, сложны только на первый взгляд. На самом деле благодаря синтаксису SQL все становится понятным буквально после первых результатов этих запросов, так что не бойтесь.

P.S. Если DBF формируется из другого приложения, проверьите возможность формирования обычного TXT файла с разделителями и работайте с ним, а не непосредсвенно со скриптами читающими файл DBF.
А говорили SQL не знаете:
Gluzer писал(а):
to Старый чайник: а скриптом не удобнее?

dim OpSysSet
dim Obj

rem 0 = 16 = RELOGIN FORCE
rem 8 = SHUTDOWN
rem 4 = RELOGIN
rem 2 = 6 = REBOOT
rem 1 = 5 = FORCE (hand shutdown)

Set OpSysSet = GetObject("winmgmts:{impersonationLevel=impersonate,(Shutdown)}//./root/cimv2").ExecQuery _
("SELECT * FROM Win32_OperatingSystem WHERE Primary=true")

For Each Obj In OpSysSet
Obj.Win32Shutdown(6)
Next
[/quote]
("SELECT * FROM Win32_OperatingSystem WHERE Primary=true" ) <--Это SQL
карма: 0

0
Ответов: 8926
Рейтинг: 823
#13: 2006-09-05 20:56:22 ЛС | профиль | цитата
Gluzer, может проще работать с Вашей БД в Excel?
карма: 19

0
Ответов: 9906
Рейтинг: 351
#14: 2006-09-05 21:36:03 ЛС | профиль | цитата
Леонид, а может и проще букварь найти по этим злосчастным запросам SQL .........
Чтобы можно было пример Nic-а дорабатывать как душе угодно


Кстати, кто скажет, как понимать, сообщение: "открываю на данный момент с помощью модифицированного скрипта из примера..."
В приведенном примере-то ничего похожего.
карма: 9

0
Ответов: 23
Рейтинг: 0
#15: 2006-09-05 21:51:50 ЛС | профиль | цитата
to oldTV:
1. Спасибо за предложенный фильтр ="Файлы dBASE III (*.dbf)|*.dbf" да, это очень корретно.
2. Использовать таблицу строк > в этом есть смысл? Ведь нужен только построчный поиск. Необходимости показывать все содержимое файла нет.
3. SQL запрос это хорошо. Форму для ввода BIRTHDAY и POLCODE нарисую без проблемм. Но как засунуть эти данные в SQL запрос > если можно, то опубликуйте пример.
PPS. Данная DBF формируется на региональном уровне, и по этому мы им не указ. Конечно можно было бы и самому конвертировать с помощью ConvDBF, но это мне не положенно делать. Есть эталонный файл, и по этому необходимо работать именно с ним.
По поводу Shutdown.vbs > это не мое произведение, а взято очень давно с моего родного WinCity.Ru (что то тег url не отрабатывает....)
с тех пор и пользуюсь ;)

to Леонид:
Конечным юзерам использование Excel будет ой как не удобно, ибо он достаточно монстрообразный, а тут будет мальнькое окошечко, висящее на краешке рабочего стола.
карма: 0

0
Сообщение
...
Прикрепленные файлы
(файлы не залиты)