Ru-Board.club
← Вернуться в раздел «Программы»

» Про MS Access

Автор: Dixi257
Дата сообщения: 27.01.2011 15:40
Разбирался я с подобной проблемой лет 10 назад. Решения не нашёл. Суть тогда была примерно следующая. В момент внесения изменений в таблице драйвер блокирует запись, - не важно, какие там настройки, именно в момент физического изменения состояния текущей записи блокировка всегда есть. Причём драйвер блокирует не одну текущую запись, а некий "кластер", куда попадают и соседние нередактируемые в данный момент записи. Тогда (MSO-97) могли комфортно работать с одной таблицей не более восьми пользователей.
Автор: dneprcomp
Дата сообщения: 27.01.2011 16:24
aberesnev
http://office.microsoft.com/en-us/access-help/about-sharing-an-access-database-on-a-network-mdb-HP005240860.aspx
http://www.databasedev.co.uk/multi-user-application-record-locking.html
http://bytes.com/topic/access/answers/638493-record-lock-db-lock
http://www.google.com/#hl=en&sugexp=ldymls&xhr=t&q=ms+access+lock+record&cp=16&pf=p&sclient=psy&aq=0&aqi=&aql=&oq=ms+access+lock+r&pbx=1&fp=cf43155e95cc3965
Автор: aberesnev
Дата сообщения: 28.01.2011 14:45
Спасибо, буду изучать
Автор: mazay1989
Дата сообщения: 08.02.2011 12:26
Помогите пожалуйста........ На дипломную работу задали в Access разработать программу..... которая выполняет такие действия...... В одну строку я ввожу Текст... например "Подразделение наступает на рубеже " в другой строке у меня автоматически должно отобразиться определенное число.... И наоборот.... Просидел уже неделю толком ничего не выходит !!!
Автор: easy_y
Дата сообщения: 18.02.2011 17:44
Есть таблица расстояний между точками вида
А1 А2 300
А2 А3 150
А3 А10 138
Нужно по вводу двух точек, например А1 и А10 получить 588
Подскажите в какую сторону копать, чтобы получить такой результат
Автор: SERGE_BLIZNUK
Дата сообщения: 18.02.2011 21:17
easy_y
и что, у точек именно имена? И там обязательно порядковые номера?

я думаю, что нужно:
1) писать функцию (хоть на VBA, хоть на SQL) которая из имени точки достаёт номер точки (в виде числа)

2) ну и а дальше банальный запрос вида:
Код: select sum(Расстояние) form table1
where фунцияНомераТочки(НачальнаяТочка)>=1 and фунцияНомераТочки(конечнаяТочка)<=10
Автор: wrungel
Дата сообщения: 19.02.2011 20:46
При попытке открыть локальные шаблоны, появлятся сообщение:
Не удалось прочитать объект "какой то" из файла шаблона. Возможно, объект имеет нераспознанный формат или содержит недопустимые данные.
Access 2007, Windows 7 Pro. Как побороть?
Nordwind.accdt :

Events.accdt:

Projects.accdt:

Faculty.accdt:
Автор: RuPurple
Дата сообщения: 13.03.2011 14:14
Пытаюсь открыть dbf-файл с помощью MS Access 2003, однако он требует открыть еще файл индекса dBASE (*mdx , *ndx). У меня этого файла нет. Подскажите, чем и как можно открыть этот dbf-файл? Как восстановить файл индекса?
Автор: asbo
Дата сообщения: 13.03.2011 14:35
RuPurple, ни одного dbf нет под рукой. Выложи, если не совсекрет.
Автор: SERGE_BLIZNUK
Дата сообщения: 14.03.2011 01:06
RuPurple
если дружите с hex редактором -
в DBF файле по смещению 0x1C (28) _СЧИТАЯ_ от нуля у Вас находится байт 01
это признак наличия индексного файла.
Обнулите этот байт.

разумеется, делать надо всё на копии файла.

Либо, если есть FoxPro - откройте этот файл в фоксе - он предложит очистить привязку к индексу.
Автор: RuPurple
Дата сообщения: 14.03.2011 20:40
SERGE_BLIZNUK
Обнулил байт по адресу 0x1C, как Вы написали. База открылась. Большое спасибо!
Интересно, зачем этот индекс был нужен.

asbo
Не то чтобы там был совсекрет, но документ типа "после прочтения сжечь"
Автор: asbo
Дата сообщения: 14.03.2011 20:49
RuPurple,
ну это еще нормально. Вот если бы "перед прочтением сжечь", тады ой :)
Хорошо, что сработал метод. Надо будет взять на заметку.
Автор: SERGE_BLIZNUK
Дата сообщения: 15.03.2011 03:50

Цитата:
База открылась. Большое спасибо!

вот и славненько! пожалуйста.


Цитата:
Интересно, зачем этот индекс был нужен.

надеюсь, что вопрос риторический?!...

Вообще, индексы нужны для ускорения доступа к данным (быстрого получения нужных данных), для связывания таблиц друг с другом (построения реляций), для обработки (и вывода) данных в определённом порядке (order by...)...

в особо извращённых случаях в индексные выражения могут быть включены функции (в т.ч. UDF) и поля других таблиц... Но это уже приёмчики на грани фола!

Автор: asbo
Дата сообщения: 16.03.2011 10:13
Хочу в списке таблиц нажать правой кнопкой на прилинкованную таблицу и пунктом котекстного меню открыть ее в первоисточнике (ну или ее базу mdb хотя бы) в другой копии Access.

Пункт меню я вставлю. Процедуру обрабатывающую назначу etc. А вот как получить имя таблички, на которой я правой кнопкой нажму?
Автор: SERGE_BLIZNUK
Дата сообщения: 16.03.2011 19:57

Цитата:
Процедуру обрабатывающую назначу etc

возможно, я скажу несусветную глупость, но я бы начал с того, чтобы посмотрел на эту самую процедуру - очень велика вероятность, что в неё передаётся объект, на котором и произведено нажатие..
Автор: asbo
Дата сообщения: 16.03.2011 21:13
SERGE_BLIZNUK, дык, нет еще никакой процедуры :) Я же не знаю имени таблицы, на которой я жму правой кнопкой. Кто и как мне его (имя) может вернуть? Вот в чем вопрос... Будет имя - буду процедуру писать.
Автор: asbo
Дата сообщения: 07.04.2011 21:04
Хочу скопировать таблицу из первой базы в третью кодом из второй. Но как?
Через вторую с подскоком 1 - 2 -3 не подходит.
Считать структуру tdf из 1, воссоздать в 3 и перегнать данные запросом - тоже знаю.
Неужели нет какой-нибудь волшебной команды?
Автор: LAN777
Дата сообщения: 12.04.2011 19:42
Привет всем. Нужна Ваша помощь. В общем дали 2 базы access(mdb), тесты связанные с работой. Будут в пятницу проверять, у друга открывалась база, то есть все нормально сидел решал тесты, взял к себе на компьютер, открываться, но когда перехожу к тестам, тупо ничего не работает и нельзя закрыть окно, приходится закрывать через диспетчер задач. Макросы все включены. Прошу помощи. Вызывал и друзей и программистов, понять не могут. Базы прилагаю http://www.sendspace.com/file/z505wg . Надеюсь на Вашу помощь. Спасибо!!!
Автор: asbo
Дата сообщения: 12.04.2011 20:00
Мне говорит: "Ваше обучение закончено. Пока!"
Окна закрываются, только проц она грузит при этом малехо.
Она не защищена. Запускать с шифтом можно. Код доступен. Нужен только энтузиаст, чтобы разбираться в этой поделке :)

Думаю, что друг подзавалил их у себя. Лучшее решение - надо взять оригиналы, если доступны.
Автор: k155k155
Дата сообщения: 21.04.2011 18:46
Имеем заполненyю некоторыми данными (фамилия, адрес) таблицу Access 2003. Нужно распечатывать наклейку каждый раз с денными только из одной выделенной мышью строки. Как организовать запрос так, чтобы в сконструированную форму печати наклейки передавались данные только для этой выделенной строки, либо открывалось окно, куда для поиска нужной строки вводить фамилию ?
Автор: NeoNia
Дата сообщения: 09.06.2011 19:52
Добрый вечер! Очень нужна помощь.
Работаю с Access 97. Нужно было из одной таблицы базы вытянуть данные для другой, и результат сохранить в третьей.
В итоге при создании финальной таблички выскочила ошибка про несовпадение типов данных. И действительно, в 1-ой таблице связанное поле оказалось текстовым, вместо числового. Я сменила тип данных в том поле, и при сохранении таблицы Access вылетел (приложение будет закрыто и т.д.). При попытке открыть 1-ую таблицу, изменить название, удалить происходит вылет.
Уверена, дело в моих кривых руках, хотелось бы понять, в чем косяк. Спасибо.
Автор: LevT
Дата сообщения: 28.07.2011 18:30

Как извлечь длинный текст из поля типа Memo? Желательно не прибегая к длинным VBA макросам.

Сейчас он обрезается в отчётах до 255 символов. И то же самое происходит даже при копировании таблицы руками во временную таблицу.

Автор: proskurin_MIHAIL1990
Дата сообщения: 06.09.2011 15:49
Здравствуйте! Возникла задача сделать базу данных в access сетевой и желательно что бы это работало через браузер! Возможно ли это провернуть если да то подскажите как это можно сделать!
Автор: co_bratva
Дата сообщения: 06.09.2011 17:13

Цитата:
Здравствуйте! Возникла задача сделать базу данных в access сетевой и желательно что бы это работало через браузер! Возможно ли это провернуть если да то подскажите как это можно сделать!

proskurin_MIHAIL1990
Столбец1), нечисловой тип данных суммируемых полей, нетуда было вставлено SQL-выражение запроса. Но раз уж ИТОГО нужно именно в таблице, привожу подробную инструкцию (без SQL-выражений - с ними, похоже, проблема).
1. Если в таблице уже есть записи, открываем конструктор запросов и добавляем в него нашу злосчастную таблицу. Вставляем в бланк запроса лишь поле ИТОГО, хотя можно и все - роли не играет. В меню "Запрос" выбираем "Обновление". В бланке запроса в столбце поля ИТОГО в строке Обновление вводим
[Поле1]+[Поле2]
Нажимаем "Запуск" (!) и подтверждаем свои намерения. Проверяем результат.
Если таблица изначально пуста - пункт 1 можно пропустить, это была лишь подготовка таблицы к эксплуатации.
2. В окне базы выделить название таблицы -> Панель инструментов -> Новый объект -> Автоформа, либо в своей форме привязать итоговое поле к полю ИТОГО таблицы.
В режиме конструктора формы открыть свойства любого поля, входящего в сумму (Поле1 или 2), выбрать вкладку События, строку "После обновления", в ней из списка "Процедура..." и нажать кнопку "...". В тело процедуры, тоесть между строками "Private Sub..." и "End Sub", вписать строку:
[ИТОГО] = [Поле1] + [Поле2]
Аналогично поступить со вторым полем и вставить в его процедуру это же выражение.
ВНИМАНИЕ! В обоих пунктах необходимо использовать СВОИ названия полей.
Этот способ будет работать только если заполнять таблицу и изменять данные в ней только через форму.
Автор: filemoto
Дата сообщения: 22.09.2011 12:18
Всем привет!
А может ли ктото ответить вот на такой вопрос:
мне нужно сделать карточку выдачи инструмента работнику.
В чём (форма или отчёт) нужно по-правильному делать ?

Потому что у меня не совсем получается. Если делаю с помощью формы, то список там создаётся ввиде листвью, и если товаров много, то он получается с прокруткой. А как такую страницу вывести на печать. Если делаю с помощью отчёта, то выдаются ВСЕ записи, а не конкретной карточки. А нужно вот так чтобы было:

----------------------------------------------------------------
Работник: Иванов И.И.

Список выдаваемого инструмента:
1. Молоток 1шт.
2. Плоскогубцы 1шт.
3. Рукавицы 4шт.

Всего количество: 6шт.
----------------------------------------------------------------

Список выдаваемого инструмента не постоянный, и может содержать любое количество. Но при печати должен быть виден весь.
Автор: asbo
Дата сообщения: 22.09.2011 12:28
Джентльмены, я свои соображения ао старой памяти высказал здесь. Но я давно уже подобных решений не практиковал, может кто и поправит. Вдруг что-то не так сформулировал :)
Автор: filemoto
Дата сообщения: 22.09.2011 22:16
судя по всему вопрос напряжный...
я изготовил тестовые данные, там таблицы, запрос, форма...

что требуется:
при вводе в форме значения, чтобы генерировался отчёт на базе указанного значения на форме. не могу понять, как сделать динамический запрос, подставить, так сказать, в запрос значение.

http://narod.ru/disk/26022839001/test2.rar.html
Автор: asbo
Дата сообщения: 22.09.2011 22:52
filemoto
Я не могу твой файл открыть - 2003 у меня. И тема, к сожалению, еле дышит - за 7 лет 29 страниц :(
Попробуй вот сюда ткнись. Там плотно спецы сидят.
Автор: aidomars
Дата сообщения: 23.09.2011 10:37
filemoto
Читай про RowSource, например типа того:
Запрос.RowSource = "SELECT Поле1, Поле2 FROM Таблица WHERE ID=1 OR ID=2"
Автор: filemoto
Дата сообщения: 23.09.2011 12:20
пацаны помогли решить...
вот тут:
http://programmersforum.ru/showthread.php?t=166287

Страницы: 12345678910111213141516171819202122

Предыдущая тема: Как замедлить скорость чтения CDROM?


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.