Rambler's Top100
Форум: MS ACCESSVBVBA MS OfficeMS SQL server
Новые сообщения: 0000

Форум: MS ACCESS

Вопросы связанные с MS ACCESS

Обновить визитку
Участники «Online»
Все участники

 
 

Доброго времени суток, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Помогите с 2007 аксом (Set fs = Application.FileSearch)
 
 автор: Скорп   (20.02.2008 в 08:56)   личное сообщение
 
 

не хочу подымать соседнюю ветку
но там обсуждалась проблемма защиты проги от несанкционки
из предложенных методов понравился k@s-а:

Private Sub Form_Open(Cancel As Integer)
fsort
End Sub

'Делаю модуль с названием fsort() следующего содержания:

Function fsort()
Dim fs As Object

Set fs = Application.FileSearch
With fs
.LookIn = "C:\windows"
.FileName = "winsysr.doc"
If .Execute > 0 Then ' файл найден
Else
MsgBox "Программа защищена от" _
& "@несанкционированного копирования." _
& "@Разработчик Матющенко Г.К. (383-2) 17-45-40", vbInformation, "СИСТЕМА КОНТРОЛЯ ВВОДА ИНФОРМАЦИИ"
DoCmd.Quit
End If
End With
End Function

При старте главной формы программа начинает проверять наличие файла winsysr.doc в директории C:\windows. Причем, как вы понимаете и назване файла и место расположения его на диске могут быть абсолютно разные. Не думаю, что при установке программы кто-то следит за тем куда программа инсталлирования сваливает те или иные файлы. Файл маленький по размеру. Он практически проскакивает на компьютере.

Результат. Как только кто-то скачивает базу. Она отказывается работать без этого маленького файлика.

но проблемма возникла
на домашнем компе работает (2003), а вот на работе (2007-й) - нет
пишет, что "FileSearch" типа того...нету такой приблуды

в справке что-то написано про изолированный режим и в этом режиме FileSearch недоступен
а чтобы его включить, надо лезть в реестр
1 Откройте окно редактора реестра.

2 Разверните папку HKEY_LOCAL_MACHINE и перейдите в следующий раздел реестра:
\Software\Microsoft\Office\12.0\Access Connectivity Engine\Engines

3 В правой области редактора реестра в разделе Имя дважды щелкните значение SandboxMode.
Откроется диалоговое окно Изменение параметра DWORD.

4 В поле Значение измените значение с 3 на 2, а затем нажмите кнопку ОК.
Закройте программу «Редактор реестра».


все я это проделал в реестре, на серваке на работе, а один фиг, не работает

мож кто подскажет, что надо еще сделать
и что такое "доверительный режим", о котором написано в справке??
мож тут собака порылась?
вобщем ХЕЛП!

  Ответить  
 
 автор: osmor   (20.02.2008 в 09:47)   личное сообщение
 
 

поскольку метод FileSearch сдалан в MSA 2007 скрытым, то велика вероятность что его вообще выведут.
Используйте для проверки наличия файла функцию dir()

  Ответить  
 
 автор: Скорп   (20.02.2008 в 17:24)   личное сообщение
 
 

фух!
osmor

поскольку из меня программер еще "тот", пришлось попотеть, чтобы понять, как работает функция dir
но за то сейчас получилось то что надо!

  Ответить  
 
 автор: osmor   (20.02.2008 в 17:27)   личное сообщение
 
 

а что Help у Вас враги украли?
Или с английским проблемы?
поставьте себе русский Help от MSA97

  Ответить  
 
 автор: Скорп   (20.02.2008 в 18:11)   личное сообщение
 
 

какой анлийский!!???
о чем вы osmor...
когда я учился в школе, язык совсем не обязателен был
в те времена мы позором клеймили прогнивший запад, рукоплескали компартии и стояли в очередях за колбасой

по поводу хелпа, конечно лазию по нему
но ведь нужна конструкция, одной команды dir() маловато же..
когда я прочитал ваше сообщение, подумал - блин, ну чего он не разжевал мне что и куда писАть!!!!??
но яндекс рулит!))))
в итоге сделал солянку и у меня получилось следующее:

Private Sub Form_Open(Cancel As Integer)
If Dir("C:\WINDOWS\winsysr.txt") <> "" Then ' файл найден
Else
MsgBox "Программа защищена от" _
& " несанкционированного копирования." _
& " Разработчик Скорп", vbInformation, "СИСТЕМА КОНТРОЛЯ ВВОДА ИНФОРМАЦИИ"
DoCmd.Quit
End If
End Sub

работает

  Ответить  
 
 автор: osmor   (20.02.2008 в 18:22)   личное сообщение
 
 

когда я учился в школе, язык совсем не обязателен был
в те времена мы позором клеймили прогнивший запад, рукоплескали компартии и стояли в очередях за колбасой

Ну мы с Вами ровестники, я чуть чуть не вступил в ряды этой самой партии (для продвижения про службе было необходимо)

но ведь нужна конструкция, одной команды dir() маловато же..
так в help есть примеры,


' Returns "WIN.INI" (on Microsoft Windows) if it exists.
MyFile = Dir("C:\WINDOWS\WIN.INI")    

  Ответить  
 
 автор: Скорп   (20.02.2008 в 18:50)   личное сообщение
 
 

>так в help есть примеры
да?))))))))
а я все по Борею постигал)))
а где этот хелпер взять?
по Ф1 который?
чета там так не разжовывается...


я в свое время искал, как базу скомпилировать...неделю наверное!!
где не прочитаю, везде пишут - нужно компильнуть и все будет ОК!
а как это сделать, нигде не написано...балин

ну да..методом тыка нашел..такая куча ошибок повылазила))
а я все думал, чего это у меня база в "мде" никак не переводится

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

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

  Ответить  
 
 автор: osmor   (21.02.2008 в 08:42)   личное сообщение
 
 

"Ремонт нельзя закончить, его можно только предкратить" (Жванецкий)
IMHO
С программой написанной местными программистами, под задачи фирмы, практически тоже самое. Мало вероятно что когда-то в ней ничего не надо будет менять, или что-то улучшать.

  Ответить  
HiProg.com - Технологии программирования
Rambler's Top100 TopList