Access 2013. Макросы данных До событий (До изменения и До удаления) нормально работают, а макросы После событий (После вставки, После обновления, После удаления) нет. Вообще не срабатывает событие, хоть что туда пишу ничего не происходит.
Добрый день, коллеги. Access 2003 формат mdb. Хранимая процедура возвращает с SQL Server-а набор данных в формате ADODB.Recordset. Пытаюсь его назначить на форму - выдаёт ошибку : Указанный объект не может являться значением свойства "набор записей" (Recordset)
Dim rs As adodb.Recordset
Dim cmd As adodb.Command
OpenDBConnect "mydb"'---------------------------------Set cmd = New adodb.Command
cmd.ActiveConnection = cn
cmd.CommandText = "proc_name"
cmd.CommandType = adCmdStoredProc
cmd.Parameters.Refresh ' запрашиваем параметры для вызова процедуры
cmd.Parameters("@name").value = ... ' задаём параметры для вызова функции
cmd.Parameters("@pass").value = ...
Set rs = cmd.Execute ' принимаем результаты запроса процедуры в rsSet dealerdynamic_order.Form.Recordset = rs ' пытаемся этот adodb-рекордсет назначить на форму
на этом месте ругается
Но если делать не через процедуру, а напрямую запросом к sql-евским таблицам, то прокатывает.
Dim rs As ADODB.Recordset
Set rs = New ADODB.Recordset
With rs
Set .ActiveConnection = cn
.source = "SELECT code,id FROM unit"
.CursorLocation = adUseClient
.CursorType = adOpenStatic
.LockType = adLockReadOnly
.Open
EndWithSetMe.filterUnit.Recordset = rs
filterUnit.Requery
Но напрямую нельзя держать открытыми таблицы на сервере, зато можно делать запросы к ним из функций-процедур. .... Можно конечно в цикле построчно передавать каждый элемент списка, но так дольше. Подскажите плиз, кто знает.
Столкнулся с проблемой, что пользователи используя CopyPast заносят непечатные символы в базу. Кто как с этим борется? Проверяет на валидность внутри каждой ХР или в Access не допускает отсылку на сервер?
Доброго времени суток. Подскажите, пожалуйста, возможно ли это и как реализовать. Есть простенькая БД для печати фото сотрудников, в ней хранятся ФИО и фото. Нужна возможность печати не одной фото человека, а указанное количество. Например, одного человека 3 фото, другого 2 фото, остальных 1. Количество задается в поле таблицы "Копии". Но как дублировать записи для отчета не знаю, есть возможность такое сделать?
У меня большой договор, вся информация, которая находится в области данных начинает повторяться/дублироваться на сером фоне (у меня это до пункта 3.5, причём это происходит, как только я выбираю источником записей таблицу (Т.к в этом договоре делаю отдельные поля для вывода записей из таблиц) Если источник записей оставить пустым, то договор будет отображаться полностью без дубликатов, помогите, подскажите как решить это
БД для того чтобы собирать и накапливать сведения о поступлении и реализации ГСМ на АЗС по городу и области. Как её можно доработать или какие ошибки есть? Вот то что есть, помогите пожалуйста довести до ума.
Чтобы импортировать данные из файлов Excel использовал следующее:
+
PrivateSub Кнопка0_Click()
Dim a AsLong
a = 0
a = CreateObject("scripting.filesystemobject").getfolder(CurrentProject.Path & "\файлы").files.Count 'считаем количество файлов в папкеIf a > 0 Then'если папка не пустая'то
st = Dir$(CurrentProject.Path & "\файлы\*.xls", 15) 'запоминаем имя первого файлаDoWhile Len(st) > 0
Call LoadExcel(CurrentProject.Path & "\файлы\" & st) 'запускаем функцию загрузки инфы из файла
st = Dir$ 'запоминаем имя следующего файлаLoop' Call Kill(CurrentProject.Path & "\файлы" & "*.*") 'удаляем все файлы из папкиElse'иначе выводим сообщение о том что папка пустая
MsgBox "Сначала необходимо загрузить файлы в папку Файлы"EndIfEndSubPrivateFunction LoadExcel(ExcelPath AsString)
'функция загрузки инфы из ексель файлаDim ExlApp AsObjectDim WrkBk AsObjectSet ExlApp = CreateObject("Excel.sheet")
Set WrkBk = ExlApp.Parent
WrkBk.workbooks.Open ExcelPath 'открываем файл ексель
WrkBk.Visible = False'делаем невидимым
ExcelRow = WrkBk.Cells.SpecialCells(11).Row 'определяем количество строк
ExcelColumn = WrkBk.Cells.SpecialCells(11).Column 'определяем количество столбцовDim a(1 To 8) AsIntegerFor i = 1 To ExcelColumn
'определяем нужные столбцы - сравнение идет по названию столбцовSelectCase WrkBk.Cells(1, i)
..................
EndSelectNext i
'загружаем информацию в таблицу
................
WrkBk.Quit 'закрываем ексельSet WrkBk = Nothing'сброс объектных переменныхSet ExlApp = NothingEndFunction
Но сейчас приходят файлы в имени которых присутствует иероглифы и другие спец. символы. Во время запуска функции импорта в строке
WrkBk.workbooks.Open ExcelPath
возникает ошибка, т.е. окошко в котором Microsoft Office Access сообщает: нам не удалось найти файл ... Возможно он был перемещен, переименован или удалён? Пробовал смотреть название файла через MsgBox эти символы отображаются вопросительными знаками, как и при просмотре в области отладки (Immediate).
Добрый день, имеется БД паспортов Есть графа дата рождения, но искать по ней не могу. Когда ввожу дату рождения, он просто её игнорирует и выводит все результаты. Можно ли как-то это исправить? Заранее спасибо.
Помогите реализовать запрос на выборку свободных номеров, пожалуйста. Уже долго бьюсь, ничего не получается. Вот что смог: SELECT * FROM Номера WHERE КодНомера NOT IN (SELECT КодНомера FROM Регистрация WHERE ДатаЗаезда<=[Введите дату заезда] AND ДатаВыезда>=[Введите дату выезда]);
Добрый день. Подскажите, пожалуйста, как прописать закладку в документе Excel/Word чтобы дробное число прописалось прописью? Например число 3,2076, из поля в таблице, должно прописываться в готовом документе как "три целых две тысячи семьдесят шесть десятитысячных".
У меня есть текстовая строка. В форме, в текстовом поле для ввода этой строки, я задала маску ввода 99"\"99"\"99"\"99"\"99"\"99"\"99"\"99"\"99"\"99"\"99"\"99"\"99"\"99"\"99"\"99"\"99"\"99"\"99"\"99"\"99"\"99 То есть пользователь вводит 23 числа или менее. В форме это выглядит так: 06\08\14\16\20\22\24\28\30\ \ \ \ \ \ \ \ \ \ \ \ \ Но в таблице это выглядит так: 060814162022242830
Теперь я ищу значения с 01 по 31 в этой строке. И когда я ищу 02, он мне находит 060814162022242830. Но на самом деле это неправильно, потому что эти числа - номера дней месяца, и дня 02 в этой строке вообще нет, а есть дни 20 и 22 (например, 20 мая и 22 мая).
И я не пойму, мне изменить как-то маску, что ли? Поставить пробелы до и после каждого числа, чтобы он искал не 02, а _02_, тогда не будет ошибок в поиске? Но строка и так длинная, мне бы так не хотелось. А еще есть варианты?
сразу извиняюсь за стрый access и старый вопрос. Имеются 1 таблица и 1 запрос, которые однозначно соединяются по 3 полям. Надо, используя это соединение, заменить содержимое поля таблицы содержимым поля запроса. Все тривиально, только уже 2 дня ничего не получается. Все перепробованные запросы постить не буду, но вот самый популярный в инете:
автор
UPDATE tbl_sklad_zustand INNER JOIN qon_way ON (tbl_sklad_zustand.KodTovara = qon_way.tov_id) AND (tbl_sklad_zustand.Stuk_Korobki = qon_way.in_box) AND (tbl_sklad_zustand.Country = qon_way.country_id) SET tbl_sklad_zustand.Eingang_Lieferung = qon_way.on_way
(пробовал просто вставить абы какое число, например, 333) Все время выдает
автор
Операция должна использовать обновляемый запрос. (Ошибка 3073)
Запрос, действительно, не изменяемый, он из прилинкованной таблицы MySql, но я ж меняю таблицу. А она очень даже обновляемая. Как с этим бороться?
Доброго времени суток господа. Подскажите пожалуйста в каком направлении двигаться. Думал сначала на VBA формироваться n-запросов с условием для каждого столбца, а потом склеить их. Правда уверен что есть гораздо более красивый способ.
И снова здравствуйте! Есть форма, которая берёт данные из запроса, через VBA прикреплена ещё одна таблица, в которой берутся дополнительные данные Как в случае ошибки кода, сделать чтобы запускалась нужная форма, а не стандартная форма с запуском VBA конструктора. По конкретике примерно так:
If
Set rs32 = CurrentDb.OpenRecordset("select * from [Крточка учета подчиненная] where Код=" & Me.Код)
если данная строка выдаёт ошибку то,
Then
DoCmd.Close
oshibka = "Не указано или корректно указано оконечное устройство, в закладке ""ТХО"""
DoCmd.OpenForm "Ф_Ошибка"ExitSubElseEndIf
Так вот проблема как объяснить машине вот это "ЕСЛИ"
В учебной базе Борей (формат 2003 Аксесса) открытый запрос имеет "полосатый" темносерый фон. Остальные - светлосерый. Каким параметром это задается? Спасибо.
Получили новые компьютеры Используемая операционная система Windows 10, а офис по умолчанию стоял 2016 Имеется проект написанный в Access 2007, Я установил В ОТДЕЛЬНУЮ ПАПКУ OFFICE 2007 Весь проект ACCESS 2007 в ОДНОМ файле: re.adp, таблицы на сервере MS SQL SERVER 2008 R2
Сосуществование на одном компьютере двух офисов сложно: пользователи работают с файлами WORD и EXCEL 2016 , а проект Access 2007 Часто самопроизвольно начинается установка офиса то одного то другого..
Как решить проблему?
Попробовать удалить отдельный компонент ACCESS 2016 из OFFICE 2016 ?!
Коллеги, добрый день! Понимаю что вопрос часто поднимался, но я так и не смог найти четкого ответа. Таблицы связал по схеме (файл приложил) Делаю форму для таблицы "План" и в выпадающем списке "Номенклатура" данные, которые тянутся в номенклатуру "формат сыра" и "Способ формования", отображаются кодами, как показать пользователю значения?
Как через макрос открыть второстепенную форму, которая создана в диспетчере кнопочных форм? То есть форма создана, и после авторизации ее нужно макросом открыть. Через макрос открывает только начальную форму, в которой я выбираю админа/пользователя. Как перейти сразу на второстепенную страницу, которая создана в диспетчере кнопочных форм? HEELLLPPPP!
Делаю запрос где должна цена за час умножиться на количество часов, но часы представляются в виде double. Как преобразовать время 4:00:00 в число 4 или 4.00 ?