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

Форум: MS ACCESS

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

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

 
 

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

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

тема: Считалка! Может кому сгодится...
 
 автор: Alex   (05.06.2007 в 22:41)   личное сообщение
 
 

Ну уж очень хочется похвастаться (может конечно хвастаться нечем...) ! Но это мой первый относительно серьезный и доведенный почти (наверное) до ума проект.
Очень хочется ПОБЛАГОДАРИТЬ Osmor'а и других за помощь в его создании!!!

Софтина предназначена для расчета стоимости системного блока из отдельных комплектующих и прайс лист на типовые конфигурации

Мануал писать очень уж пока лениво , да по моему и так все понятно...

Справочник товаров может получать данные из файла *.xls, который в свою очередь (у нас) генерируется 1С. Образец файла залью завтра.
Криво сделана "Связь с таблицами" клиентской части с серверной: если после нажатия кнопки Выполнить не довести дело до конца (нажать где то Отмена - кильдык...

Просьба сильно не пинать - я еще только учусь!
Буду очень признателен за любую критику и коментарии!

Ссылка на архив (345Кб) - http://slil.ru/24471474

  Ответить  
 
 автор: osmor   (06.06.2007 в 11:35)   личное сообщение
 
 

В общем довольно симпатично, вполне адекватный интерфейс. Функциональность не проверял, поскольку не знаю предметной области и тех процесса.
Что сразу не понравилось... если при старте не найдена БД с таблицами, то вываливается с ошибкой.
Добавил модуль basCheckLoad и поправил форму Заставка (изменил обработчик события Load и TimerInterval)
Теперь, если при старте не смог найти БД, то предложит указать файл с таблицами, и перелнкует таблицы из указанного файла, в случае ошибки закроет приложение. Думаю нужно с использованием этого модуля переделать и функцию "сервис" - "связь с таблицами БД"
http://slil.ru/24473512

  Ответить  
 
 автор: Alex   (06.06.2007 в 15:37)   личное сообщение
 
 

Спасибо за внимание!
Да! С перелинковкой - красиво!
" Думаю нужно с использованием этого модуля переделать и функцию "сервис" - "связь с таблицами БД" " - а зачем оно теперь вообще нужно? Если БД на месте - все в порядке, если нет - попросит указать расположение... Удалил нафик пункт меню и макрос

  Ответить  
 
 автор: Скорп   (10.02.2009 в 01:15)   личное сообщение
 
 

osmor, ну или кто нибудь, а подскажите, почему у меня, в отличии от приведенного примера
http://hiprog.com/index.php?option=com_content&task=view&id=251661571 не запоминается путь к файлу с данными, а каждый раз при запуске базы, выводится табличка с поиском пути?

скопировал себе модули basCheckLoad и clsOpenDialog и в загрузку стартовой формы повесил

DoEvents
If CheckLinks("Сотрудники фирмы") Then 'таблицы есть и успешно перелинковались
Else ' не удалось перелинковаться закрываем приложение
    Application.Quit acQuitSaveNone
End If

вобщем как в примере все
что еще нужно добавить мне?

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

такой странный вопрос, а таблица "Сотрудники фирмы" - есть?

  Ответить  
 
 автор: Скорп   (10.02.2009 в 09:27)   личное сообщение
 
 

да, есть такая таблица
после перелинковки пути у связанных таблиц меняются, но при новом открытии все равно спрашивает местоположение файла с таблицами

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

странно. Кинь в почту.
<добавлено>
Это "ошибка" в функции, она неверно работает с именами таблиц с пробелом
для исправления нужно в функции CheckLinks
Заменить строку
rst.Open "select * from  " & strTblName , CurrentProject.Connection 

на
rst.Open "select * from  [" & strTblName & "]", CurrentProject.Connection 

  Ответить  
 
 автор: Скорп   (10.02.2009 в 10:14)   личное сообщение
 
 

osmor спасибо!

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


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

  Ответить  
 
 автор: osmor   (10.02.2009 в 10:34)   личное сообщение
 
 

ну что при увеличении кол-ва пользователей увеличивается время отклика - это да.
Но проверка "линка" происходит открытием всего одной таблицы. Так что если база не перемещается, то проверка должна проходить быстро. А если переместилась, то задержка будет только один раз, при первом открытии с новым положением БД.
Кстати сейчас трезво взглянув на функцию...., нужно открывать пустой рекордсет. т.е.

rst.Open "select * from  [" & strTblName & "] where 1=2", CurrentProject.Connection 

  Ответить  
 
 автор: Alex   (06.06.2007 в 15:40)   личное сообщение
29 Кб.
 
 

Образец ексельного файла: ...

  Ответить  
 
 автор: Егор   (12.06.2007 в 13:43)   личное сообщение
 
 

Alex, как у тебя работает журнал заказов? Ты используешь фильтр?
Подскажи не могу понять!!!

  Ответить  
 
 автор: Alex   (12.06.2007 в 20:30)   личное сообщение
 
 

Главная форма не имеет источника записей
ПФзапЗаказыЗаголовки - источник записей - запрос "запЗаказыЗаголовки"
В главной форме есть поле КодЗаказа=[ПФзапЗаказыЗаголовки].[Form]![КодЗаказа] (прячется под ПФзапЗаказыЗаголовки)
ПФзапЖурналЗаказыСБ и ПФзапЖурналЗаказыП - источники записей запросы запЖурналЗаказыСБ и запЖурналЗаказыП соответственно
У этих форм ручками прописаны основные и подчиненные поля - КодЗаказа. Следовательно при выборе в ПФзапЗаказыЗаголовки какого то заказа - в ПФзапЖурналЗаказыСБ и ПФзапЖурналЗаказыП будут товары из этого заказа.

  Ответить  
 
 автор: Егор   (13.06.2007 в 11:49)   личное сообщение
52 Кб.
 
 

Alex, что не так посмотри, пожалуйста, у меня не работает как у тебя, форма frm_prosmotr, как ты установил связи между формами?

  Ответить  
 
 автор: Alex   (13.06.2007 в 12:24)   личное сообщение
22 Кб.
 
 

Сделал - работает
Так я ж говорю - в двух нижних подчиненных формах нужно ручками прописать подчиненные и основные поля!

  Ответить  
 
 автор: Alex   (13.06.2007 в 12:25)   личное сообщение
46 Кб.
 
 

Смотри рисунок...

  Ответить  
 
 автор: Егор   (13.06.2007 в 12:49)   личное сообщение
 
 

Спасибо, чувак, я с тобой дружу, будут вопросы- буду задавать тебе (респект и уважуха).

  Ответить  
 
 автор: Егор   (16.06.2007 в 13:10)   личное сообщение
53 Кб.
 
 

Alex, есть проблема с календарем, посмотри плз, не пойму в чем проблема

  Ответить  
 
 автор: Alex   (17.06.2007 в 22:03)   личное сообщение
 
 

Кнопка вызова календаря не работает НА ВКЛАДКАХ - работает только в главной форме... Почему - не знаю Создай новую тему - может народ поможет...

  Ответить  
 
 автор: Гамлет   (26.02.2009 в 17:10)   личное сообщение
 
 

http://hiprog.com/index.php?option=com_content&task=view&id=251661571

Osmor Вы не помните по этой ссылке лежит уже ПОДПРАВЛЕННЫЙ пример ?

Короче нужен тот который Вы улучшали и выкладывали на http://slil.ru/24473512

  Ответить  
 
 автор: Гамлет   (26.02.2009 в 17:19)   личное сообщение
 
 

Еще вопрос:
Насколько корректно сделано, рассматриваемое в этом топике решение автоматической перелинковки таблиц (при запуске программы, если файл с таблицами не был найден).
Или можно сделать проще?
Есть ли смысл изобретать велосипед?

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

я думаю есть смысл сделать из этого модуль класса...
проще не знаю.
насколько корректно .. тоже не знаю, но я делал так

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

да, на сайте пример с перелинковкой таблиц, и еще какие-то улучшения от автора
но с ошибкой в перелинковке которую Скорп обнаружил

  Ответить  
 
 автор: Гамлет   (26.02.2009 в 17:34)   личное сообщение
 
 

ник: osmor
я думаю есть смысл сделать из этого модуль класса...


1) Сделать из модуля basCheckLoad модуль класса ?

2) Из этого примера нужна только перелинковка таблиц.
Может где-то в недрах сайта завалялись уже готовые (проверенные) решения такой задачи.
(я не ленюсь, просто разбираться в чужом коде сомнительное удовольствие)

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

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

  Ответить  
 
 автор: Гамлет   (26.02.2009 в 17:41)   личное сообщение
 
 

Ок, Спасибо

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