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

» Access VBA

Автор: GunRose
Дата сообщения: 31.05.2008 20:21
dneprcomp
В одном поле данные выбираются из списка, который берет значения из таблицы (SELECT DISTINCT Тяговый класс FROM Гусеницы). А вот значения мощности вводятся непосредственно в форму. То есть присутствует на форме 2 поля, в одно вводится нижняя граница отбора, а во второе верхняя граница.
Запрос в принципе работает, все отбирает как надо, но данные в подчиненной форме показываются только тогда, когда войдешь в режим конструктора, а затем выйдешь. При выполнении же SQL запроса форма не обновляется(

Насчет
Цитата:
имя формы.Refresh
А разве в Access2003 есть комада Refresh? Я там только Requery нашел... Но Рефреш не работает, пишет "Compile Error. Method or data member not found"
А Requery в одной форме у меня работает (там при проставлении галочки в подчиненной форме сразу показывается то, что отбирается), а в этом запросе почему-то не хочет. В чем может быть проблема? Причем Access проглатывает ПодчиненнаяФорма.Requery , но не обновляет!

Автор: dneprcomp
Дата сообщения: 31.05.2008 20:43
GunRose
Без базы можно только гадать. Если не большая база, то заархивируй, смени расширение на txt(а то у меня может атачмент не пропустить) и вышли на профильное мыло. Постарайся не выслать 10 mb
Автор: OOD
Дата сообщения: 01.06.2008 08:13
Подскажите есть ли какой нибуть способ отчеты Access а делать в Excel?
Автор: wes
Дата сообщения: 01.06.2008 10:47
Создать файл, содержащий сведения о том, какие из пяти предлагаемых дисциплин по выбору желают слушать студенты. Каждая запись содержит поля: фамилия студента, номер группы, наименование дисциплин, средний балл успеваемости. Количество записей произвольное.

Написать программу, выводящую на экран следующую информацию:

- список студентов, желающих послушать дисциплину Х:

- с сортировкой по среднему баллу успеваемости.


Помогите ГОРЮ!!!!

Добавлено:
Создать файл, содержащий сведнья о количестве изделий, собраных сборщиком цеха за неделю. Каждая запись содержит поля: Фамилия сбощика, количество изделий собранных их ежедневно в течении шестидневной недели, т.е. раздельно понидельник, вторник и т.д.
Написать запрос, выдающий следующую информацию: фамилия сборщика и кол-во деталей, собранное им за неделю; фамилию сбощика, собравшего наибольшее число изделий, и день, когда он достиг наивысшей производительности труда.

Хоть подскажите как сделать запрос?
Автор: GunRose
Дата сообщения: 02.06.2008 12:04
dneprcomp
Спасибо большое за помощь! теперь все работает. А что значит Me в строке
Код: Me!внедренный4.Form.RecordSource = Query
Автор: Vitus_Bering
Дата сообщения: 02.06.2008 12:57
GunRose

Цитата:
можно ли форму из одной базы перетащить в другую, чтобы не делать ее заново

Можно, открой две базы на вкладке формы и перетащи (drag & drop).
Автор: dneprcomp
Дата сообщения: 02.06.2008 19:24
GunRose
Me - сылка на активную форму. Я там еще изменил формирование строки SELECT. Была ошибка. Теперь можно выбирать любую комбинацию параметров. Или воoбще без параметров.
Для копирования из базы в базу используй menu File-Export
Автор: GunRose
Дата сообщения: 04.06.2008 07:21
Vitus_Bering
Точняк, спс) тока я несколько разочаровался в этом способе создания новой формы... наверно все же легче заново сделать ее из какого-нибудь запроса и отформатировать подобным образом)

dneprcomp
Да, я обратил внимание, здорово! Я это использую и в другой базе, очень нужная вещь.
Кстати, тут еще один вопрос появился: можно ли в отчете сделать так, чтобы печатался графический файл jpg, содержащийся в OLE поле? А то, как вы наверно заметили, они и в форме у меня отображаются только в виде значка. Но в форме это ладно, там у меня есть идея, как показать есть ли к данной машине чертеж или нет. А вот в отчете хотелось бы все же видеть уже изображение. Как это сделать?
Автор: dneprcomp
Дата сообщения: 05.06.2008 00:01
GunRose
Восстанавливаешь файл из OLE поля на хард. Затем в проперти контрола указываешь на этот файл
Автор: GunRose
Дата сообщения: 08.06.2008 21:46
Спасибо, обязательно попробую, руки еще не дошли. Но меня тут достал один глюк Эксеса! В нем взял вдруг и перестал работать мастер! То есть когда пытаешься создать форму с помощью мастера поля таблицы не видны! И добавлять в форму нечего(
Еще одно проявление бага: попытался с помощью мастера сделать кнопку для печати отчета.. вставилась кнопка и все, больше ничего нету. Есть только заголовок и конец процедуры, середина отсутствует... как с этим бороться?
Причем интересная особенность: утром у меня все работало, а под вечер перестало. С компом не делал ничего! Только в эксесе работал. Вирусы на нем были, но не в них дело. Потому что подобный глюк наблюдался и на заведомо чистом компьютере.

Офис стоит 2003 с SP3. Пробовал вообще без сервис пака - такая же фигня. Ставил второй - те же яйца, тока в профиль.
Автор: GunRose
Дата сообщения: 11.06.2008 15:18
В общем разобрался я со своей проблемой, хочу поделиться, чтобы вы не наступали на эти же грабли. Не работал Access так, как надо из-за... АНТИВИРУСА КАСПЕРСКОГО 5 ВЕРСИИ. Стоит только отключить его, все сразу же встает на круги своя. Имейте это в виду
Автор: RKK
Дата сообщения: 16.06.2008 15:56
У меня возникла следующая проблема.
При вставке любого файла в поле объекта таблицы или формы базы данных access 2000 (XP) стала появляться надпись Ошибочный аргумент Run-time error '3001', и файл невозможно сохранить. Возможно ошибка появилась после репликации базы, но не сразу, а где-то уже после 30-40 вставленных файлов.

при процедуре debug вижу вот такое:
Private Sub Кнопка20_Click()
On Error GoTo Err_Кнопка20_Click


DoCmd.DoMenuItem acFormBar, acRecordsMenu, acSaveRecord, , acMenuVer70 (ЭТА СТРОКА ВЫДЕЛЕНА ЖЕЛТЫМ)

Exit_Кнопка20_Click:
Exit Sub

Err_Кнопка20_Click:
MsgBox Err.Description
Resume Exit_Кнопка20_Click

End Sub

Я не программист, базу создавал довольно долго, и она терпимо работала пару лет.
Но вот появилась такая ошибка и не позволяет наполнять базу.
Надеюсь на Вашу помощь и на любые подсказки.
С уважением РК
Автор: CaseU
Дата сообщения: 23.06.2008 17:27
Сорри возможно не в тему.
Подскжите кто знает. Из Access цепляюсь к oracle базе поля в varchar2 (4000 Byte)
Access понимает их как поля memo. Подскажите плз может кто сталкивался где можно сказать тому же ODBC чтобы он трактовал их как текст определенной длины.

Спасибо
Автор: SergBSI
Дата сообщения: 25.06.2008 18:59
подскажите где посмотреть как посмотреть базу SQL Server из Access
Автор: Czechoslovak
Дата сообщения: 26.06.2008 09:05
CaseU
А как ему трактовать если текстовое поле может быть максимально 255 символов ???
Автор: mrdime
Дата сообщения: 26.06.2008 21:53
Народ, подскажите:
Есть 2 таблицы с абсолютно одинаковой структурой (т.е. одинаковое количество полей, используются одинаковые типы данных), НО: поля имеют разные названия. Надо все данные из одной таблицы залить в другую.
История проблемы такова: человек, создававший таблицу, решил стать умным и переименовал поля со временем), а поскольку под эту таблицу была написана прога, то она естественно пересатала работать, посколько поля теперь называются по-другому. Приходиться теперь каждый раз при обновлении менять названия полей руками (несколько раз в месяц). Хочу сделать запрос, где бы все это делалось автоматически. Подскажите, кто знает.
Автор: dneprcomp
Дата сообщения: 26.06.2008 22:13
mrdime
Обращайся по номеру поля
recordset.Fields (1)
Автор: mrdime
Дата сообщения: 27.06.2008 03:22
dneprcomp
Спасибо, принцип понял.
Автор: mirnvmkhl
Дата сообщения: 29.06.2008 17:40
Как работать с календарем. т.е. вставить дату?Разместил кнопку рядом с полем. при клике открывается форма с календарем......дальше не получается. Не знаю как передавать данные из равнозначных форм.Прошу помочь.
Автор: gubo
Дата сообщения: 03.07.2008 04:43
Подскажите ответ на глупейший вопрос: как использовать текстовые функции в запросах?
Есть простая база с двумя текстовыми полями Name1 и Name2. Name1 заполнены. Нужно в Name2 занести значения Name1 без начальных и конечных пробелов. На попытку выполненить запрос UPDATE Таблица1 SET Таблица1.Name2 = Trim([Таблица1]![Name1]); выдается сообщение
Ошибка компиляции, в выражении запроса 'Trim([ Таблица!]![Name1])'.
То же самое выдается и при попытке создать запрос на выборку, а также при использовании любой другой текстовой функции.
Access 2003SP3. Попробовал 2007 - результат тот же
Автор: ninjab
Дата сообщения: 03.07.2008 05:59
1.как сделать что бы высота текстбокса менялась в зависимости от того сколько там текста введено... то есть небыло полосы прокрутки.. и весь текст влазил бы в текст бокс.. и его было видно..
во время предварительного просмотра перед печатью такая функция существует.. но не знаю как в режиме редактирования ее сделать...
была мысль помещать его в метку(label) делать его авторазмер брать оттуда высоту и присваивать высоту текст боксу.

Код:Private Sub label_Click()
Set db = CurrentDb
Dim korr As Recordset
Set korr = db.OpenRecordset("blank")
label.Caption = Recordset.Fields("posled")
End Sub



но если так делать то выдает ошибку " слишком большое значение для данного семейства"
вот конец...

2. есть 1 таблица в ней находятся данные..
на форме есть выподающий список со значения поля "название" выбираем название..
на этой же форме есть кнопка"далее"
при ее нажатии надо сделать следующее.. что бы он брал ID того названия которого мы выбрали а вставлял их в другую форму (которая открывается при нажатии) в этой форме находятся текст боксы соответствующие полям другой таблицы (практически эдентичной этой) вот и вставлял значения в нужные поля..
это сделанно для того что бы не тронуть базовые названия... и вести учет по измененым значениям..
не подскажите как это сделать? (=
спасибо..
Автор: Chichako
Дата сообщения: 07.07.2008 23:05
gubo

Странная ошибка - попробовал copy/paste твою строку - у меня работает на ура
М.б. у тебя что-то с полями Name1 и Name2 не совпадает по типам?

А почему у тебя 'Trim([ Таблица!]![Name1])'?
Там же "1" должна быть по идее вместо "!"

Как вариант попробуй что-то отличное от имени "Таблица1"




ninjab

1.1) Думаю, что твой вариант не прокатит - скорее всего Label действительно не даст запихнуть столько знаков, сколько в TextBox лезет.

1.2)
Цитата:
от того сколько там текста введено
- имеется ввиду 1.2.1 - введено в данный момент времени в форме или же 1.2.2 при выводе в форму из уже заполненной таблицы?

1.2.1 Имхо сложно/невозможно, поскольку чтобы поменять размер бокса должно произойти событие потери фокуса или ему подобное - или же тебе надо втупую отслеживать нажатия всех клавиш, учитывая служебные и подсчитав варианты менять размеры и возвращать фокус элементу

1.2.2 Имхо возможно - разберись с порядком событий обновления, загрузки, потери фокуса - тогда перехватив одно из них при смене записи можно подкорректировать размер Текстбокса

2) Сумбур:
Цитата:
вставлял их в другую форму
<>
Цитата:
вставлял значения в нужные поля

2.1) Если речь идет об установке значений редактируемых записей одного из полей 2-й таблицы в значение ID первой - то это делается подчинением через связи между таблицами

я делал так - в открывающаяся форма состоит из 2-х частей - основная содержит поле ID первой таблицы (F1ID) и при инициализации этой 2-й формы происходит переход к той записи, которая выбрана в 1-й форме.

Подчиненная форма с твоими записями. При этом устанавливаем на вкладке данные Подчиненным поле F2ID - это то поле в которое у тебя автоматом будет писаться значения F1ID, А Основным полем то самое F1ID

2.2)Если же просто тащить ID - ну скопируй ее в глобальную переменную, а в 2-й форме вставь инициализацию твоего бокса второй формы в событие Form_Load
Автор: gubo
Дата сообщения: 08.07.2008 03:38
Chichako

Цитата:
Странная ошибка - попробовал copy/paste твою строку - у меня работает на ура

Прошу прощения за поднятую панику. Проблема локальная. Проверил на чистой системе со свежеустановленным офисом - все работает нормально
Автор: ninjab
Дата сообщения: 08.07.2008 08:26
Chichako


Цитата:
1.2.2 при выводе в форму из уже заполненной таблицы?


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


еще вопросик как сделать... что бы прокрутка колесика... небыло просмотра данных по таблице. а работало оно что бы форму вверх вниз листить...
Автор: dmention
Дата сообщения: 11.07.2008 14:21
На сервере находится папка с общим доступом в которой находятся базы данных access. (Несколько файлов с расширением mdb.)

В этой папке (пока не ясно откуда) появилась подпапка "C" в которой еще одна папка "С" и папка "Microsoft". В свою очередь в папке Microsoft подпапки Access, AddIns и Office, в которых лежат папки и файлы, в частности файл System.mdw.

Откуда это могло появиться и если это необходимые папки, то для чего они служат?
Автор: faith4u
Дата сообщения: 07.08.2008 17:54
Народ! Нужна помощь... задача следующая:

Есть таблицы Родители и Дети. В них есть данные как имена телефоны а также их фотки (портрет физиономии).

Я хочу в форме навигации по родителям*(семьям) сделать подформу - скажем бегущую, где будет видно все лица детей... сейчас я поставил Active X объект под названием DBPix... а он падла не работает в бегущей форме... пытался создавать ДАО фунцию и так далее... пока все темный лес...

Есть идеи лучше???? Благодарю!!!!
Автор: MUSICFROMWEB
Дата сообщения: 13.08.2008 16:29
ткните, пожалуйста, в мануал или помогите любым другим способом

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

Как ?
Автор: Vitus_Bering
Дата сообщения: 13.08.2008 18:44
MUSICFROMWEB
В одной базе сделай связь с нужными таблицами из др. баз и далее запрос и т.д.
Автор: MUSICFROMWEB
Дата сообщения: 14.08.2008 16:09
Vitus_Bering
все таблицы reestr представляют собой набор одинаковых полей (фио, количество принадлежащих ценных бумаг, идентификационный код и прочие поля).
теперь нужно чтобы запрос прошуршал по всем таблицам и выдал результат поиска в разрезе отдельной таблицы.

например, спрашиваем в каких таблицах Пупкину В.В. соответствует значение в поле "количество ценных бумаг" >0.

Как вообще организовывается поиск по нескольким таблицам одновременно (почему одновременно, потому что если под каждую таблицу делать свой запрос, теряется смысл затеи как таковой) ?
Автор: dmka
Дата сообщения: 14.08.2008 19:30
MUSICFROMWEB
А эти mdb меняются или статические? Если статические, то проще затянуть все в одну новую таблицу access или, еще лучше, в sql server.

Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445

Предыдущая тема: BDE - траблы, помогите пожалуйста срочно...


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