-Поиск по дневнику

Поиск сообщений в rss_sql_ru_access_programming

 -Подписка по e-mail

 

 -Постоянные читатели

 -Статистика

Статистика LiveInternet.ru: показано количество хитов и посетителей
Создан: 16.03.2006
Записей:
Комментариев:
Написано: 4

Invalid link!








Добавить любой RSS - источник (включая журнал LiveJournal) в свою ленту друзей вы можете на странице синдикации.

Исходная информация - http://www.sql.ru/forum/actualtopics.aspx?bid=4.
Данный дневник сформирован из открытого RSS-источника по адресу http://www.sql.ru/forum/actualrss.aspx?id=4, и дополняется в соответствии с дополнением данного источника. Он может не соответствовать содержимому оригинальной страницы. Трансляция создана автоматически по запросу читателей этой RSS ленты.
По всем вопросам о работе данного сервиса обращаться со страницы контактной информации.

[Обновить трансляцию]

Поквартальный отчет

Среда, 28 Ноября 2018 г. 19:09 + в цитатник
Всем привет. Прошу идею. Задача - вывод поквартального отчета по видам событий (приложение). Тонкость - данных за некоторые кварталы может и не быть. При стандартном решении через перекрестный запрос и отчет на его основе вполне логично получается то, что на рисунке. Какими способами можно данную задачу решить?

https://www.sql.ru/forum/1306011/pokvartalnyy-otchet


Ошибка не удаётся найти объект

Среда, 28 Ноября 2018 г. 14:11 + в цитатник
Доброго дня,

При попытке исполнить запрос в коде VB Аксес выдаёт ошибку приложению Access не удаётся найти объект "INSERT INTO MaterTransfers ...
Вот сам запрос и его выполнение
 stDocName = "INSERT INTO MaterTransfers ( Quantity, MaterId, UnitId, DocId ) " & _
                "SELECT PullsGlass.Brutto, Material.IDMater, Material.IDOV, " & lDocID & _
                "FROM CutPulls LEFT JOIN (PullsGlass LEFT JOIN ((Musievsky_order LEFT JOIN " & _
                "Material ON Musievsky_order.MusId = Material.[1Ccode]) RIGHT JOIN " & _
                "MaterialGlass ON Musievsky_order.MaterOrdId = MaterialGlass.IDMater) " & _
                "ON PullsGlass.GlassCode = MaterialGlass.Code) ON CutPulls.PullNumb = PullsGlass.PullNumb " & _
                "WHERE PullsGlass.PullNumb Is Not Null " & _
                "AND CutPulls.DateSpys Is Null AND CutPulls.PullNumb = " & lPullNumb

              DoCmd.OpenQuery stDocName, acNormal, acEdit


Переменные lDocID и lPullNumb в дебаг принт печатаюся нормально.
Подскажите пожалуйста, что тут не так?
Аксес 2007

https://www.sql.ru/forum/1305992/oshibka-ne-udayotsya-nayti-obekt


RowSource списка с условиями

Среда, 28 Ноября 2018 г. 10:43 + в цитатник
Здравствуйте все! Прошу помочь решить проблему со списками (бьюсь несколько дней, но не хватает знаний - прошу не бить по голове!)
Имеются две таблицы "Врачи" и "График врачей", связанные один-ко-многим. В форме составления графика имеется СписокПриема с источником "График врачей", в котором отображаются врачи приема за день. Имеется ПолеСоСписком с источником "Врачи", которое используется для составления графика выбранного врача. Как сделать так, чтобы в ПолеСоСписком отображались только те врачи, которых нет в СпискеПриема. Заранее спасибо!

https://www.sql.ru/forum/1305968/rowsource-spiska-s-usloviyami


Расчёт MD5 с использованием .Net Framework и API "cryptdll.dll" даёт разные результаты

Вторник, 27 Ноября 2018 г. 11:04 + в цитатник
Мне предложили вместо паролей хранить в базе их хэши. Начал копать в сторону MD5.

Столкнулся с тем, что вот здесь примеры и библиотеки, выложенные здесь Получение MD5 хэша в VBA и здесь Вычисление MD5 строки из Microsoft Access (текст на VB здесь) дают разные значения MD5.

Текст - "текстовая строка"
Вариант .Net Framework
812c4f7fb1ccc1aebe7802dced6c4d67
Вариант API "cryptdll.dll"
9551104F79B49AAB8C58F726BD622B18

Может кто-нибудь пояснит, в чём дело?

Более подробно о проблеме тут Получение MD5 хэша в VBA




-------------------------------------------------------------
А ты вложил уже свой кровный рубль в 50-ти миллиардное состояние Билла Гейтса?

https://www.sql.ru/forum/1305917/raschyot-md5-s-ispolzovaniem-net-framework-i-api-cryptdll-dll-dayot-raznye-rezultaty


Непонятная ошибка.

Понедельник, 26 Ноября 2018 г. 21:09 + в цитатник
Приветствую всех профессионалов! Нужна ваша помощь. Сделал простую небольшую базу для американца. На его компе она вообще не хочет выполнять ни какие команды, выдает следующее сообщение. Смотрел на сайте Майкрософт, ничего не понял. Американец, тоже не в теме. Что это, и как с этим бороться?

https://www.sql.ru/forum/1305905/neponyatnaya-oshibka


Получение MD5 хэша в VBA

Понедельник, 26 Ноября 2018 г. 16:15 + в цитатник
Нашел вот здесь - https://excelvba.ru/code/md5

Может кому пригодится
Function GetHash(ByVal txt$) As String
    Dim oUTF8, oMD5, abyt, i&, k&, hi&, lo&, chHi$, chLo$
    Set oUTF8 = CreateObject("System.Text.UTF8Encoding")
    Set oMD5 = CreateObject("System.Security.Cryptography.MD5CryptoServiceProvider")
    abyt = oMD5.ComputeHash_2(oUTF8.GetBytes_4(txt$))
    For i = 1 To LenB(abyt)
        k = AscB(MidB(abyt, i, 1))
        lo = k Mod 16: hi = (k - lo) / 16
        If hi > 9 Then chHi = Chr(Asc("a") + hi - 10) Else chHi = Chr(Asc("0") + hi)
        If lo > 9 Then chLo = Chr(Asc("a") + lo - 10) Else chLo = Chr(Asc("0") + lo)
        GetHash = GetHash & chHi & chLo
    Next
    Set oUTF8 = Nothing: Set oMD5 = Nothing
End Function
Sub Получение_MD5_HASH()
    txt = "текстовая строка"
    res = GetHash(txt)
    Debug.Print res
End Sub

У меня заработало. Access 2010, Windows 7

-------------------------------------------------------------
А ты вложил уже свой кровный рубль в 50-ти миллиардное состояние Билла Гейтса?

https://www.sql.ru/forum/1305893/poluchenie-md5-hesha-v-vba


запрос по видам и подвидам

Понедельник, 26 Ноября 2018 г. 10:38 + в цитатник
просьба помочь в решении задачи

Есть одна большая таблица, откуда надо выбрать

товары категории "А" по параметрам: вид 5, подвид 19, стоимость которых > 5000 руб.
и товары той же категории, но чтоб стоимость была больше 10000 руб.

отчет должен выдавать все вместе

просьба помочь, как составить запрос

https://www.sql.ru/forum/1305870/zapros-po-vidam-i-podvidam


Нужен InputBox с парольным типом ввода информации

Пятница, 23 Ноября 2018 г. 14:55 + в цитатник
Проще говоря нужен InputBox в котором при вводе информации отображались бы звёздочки (*).
Про тип ввода "Пароль" в формах я знаю. Но нужна именно функция.

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

Но может у кого-то есть уже готовое решение? Написанное и отлаженное?

-------------------------------------------------------------
А ты вложил уже свой кровный рубль в 50-ти миллиардное состояние Билла Гейтса?

https://www.sql.ru/forum/1305796/nuzhen-inputbox-s-parolnym-tipom-vvoda-informacii


shortcut in access 2013 64 bits

Пятница, 23 Ноября 2018 г. 14:54 + в цитатник
В 32 bits Access все работало:

1. В конструкторе формы
Контекстное меню - Да
Имя пользовательского контекстного меню - SimpleShortcutMenu
2. При открытии формы
Создаем ссылку:
Sub AddRfrnc()
Dim s As String
RefNum = References.Count: s = Left(Application.Version, 2)
References.AddFromFile "C:\Program Files\Common Files\microsoft shared\OFFICE" + s + "\mso.dll"
End Sub[/SRC]
Создаем меню:
Sub CreateSimpleShortcutMenu()
Dim cmbShortcutMenu As Office.CommandBar
Set cmbShortcutMenu = CommandBars.Add("SimpleShortcutMenu", msoBarPopup, False)
cmbShortcutMenu.Controls.Add Type:=msoControlButton, Id:=21
cmbShortcutMenu.Controls.Add Type:=msoControlButton, Id:=19
cmbShortcutMenu.Controls.Add Type:=msoControlButton, Id:=22
cmbShortcutMenu.Controls.Add Type:=msoControlButton, Id:=644
cmbShortcutMenu.Controls.Add Type:=msoControlButton, Id:=4
Set cmbShortcutMenu = Nothing
End Sub
компилируем...

В 64 bits Access: Все операции с Declare и LongPtr произведены и приложение работает, кроме ShortcutMenu:
"Приложению не удается найти объект SimpleShortcutMenu"
Картинка с другого сайта.

В чем причина и как с этим справиться?

https://www.sql.ru/forum/1305795/shortcut-in-access-2013-64-bits


После обновления пустое поле комбобокса

Четверг, 22 Ноября 2018 г. 21:27 + в цитатник
Привет. на событие Change комбобокса стоит код:
Private Sub FActor_Change()
    On Error GoTo FActor_Change_Error
    Dim f
    f = Me.FActor.Text
    Me.FActor.RowSource = "SELECT OffID,(People.FName &" & "' '" & "& Left(People.LName,1) &" & "'.'" & "& Left(People.PName,1) &" & "'.')" _
        & "AS FIO FROM People INNER JOIN Officers ON People.PeopleID = Officers.PeID WHERE People.FName like '*" & f & "*' ORDER BY People.FName"
    Me.FActor.SelStart = Len(f)
    Me.FActor.SelLength = 0
    Me.FActor.Dropdown
  
    On Error GoTo 0
    Exit Sub

FActor_Change_Error:

    MsgBox "Error " & Err.Number & " (" & Err.Description & ") in procedure FActor_Change, line " & Erl & "."

End Sub


Код работает (фильтрует), но при выборе значения из списка в поле комбо значение пропадает. Переход форма-конструктор-форма - значение появляется. Других процедур для комбо не прописано, кроме начального задания значения комбо.RowSource на событии Form.Load.
В чем может быть причина и как от этого избавиться?

П.С. на других комбо формы такой же код работает как надо.

https://www.sql.ru/forum/1305775/posle-obnovleniya-pustoe-pole-komboboksa


Переменная в операторе ветвления.

Четверг, 22 Ноября 2018 г. 19:33 + в цитатник
В очень многих местах кода используется оператор ветвления с одним и тем же набором условий.
А именно
"Рога", "Справки", "Копыта", "Шапки"

 Select Case KOGO_VIBRATb
 Case "Рога", "Справки", "Копыта", "Шапки"


подскажите как можно записав эту строку в коде единожды в переменную или ещё во что,
что бы каждый раз не писать этот набор
 "Рога", "Справки", "Копыта", "Шапки"

а подставлять короткую замену типа:
 
NABOR =  "Рога", "Справки", "Копыта", "Шапки"
Select Case KOGO_VIBRATb
 Case NABOR 


------------------------------------------------------------------------
Спасибо за ответ.

https://www.sql.ru/forum/1305769/peremennaya-v-operatore-vetvleniya


Не грузится база из-за ошибки msoutl.olb

Четверг, 22 Ноября 2018 г. 10:51 + в цитатник
Доброго дня!
Вводные данные: База разделена на табличную и интерфейсную части. Все юзеры запускают базу через интерфейсную часть.

Столкнулся со следующей проблемой: периодически по утрам у самого первого запустившего базу юзера быстро-быстро мерцает ошибка MSOUTL.OLB , а затем при попытке авторизироваться, он вылетает в debug с ошибкой Can't find project or library. С этого момента база запускается по этому же печальному сценарию у каждого юзера. Достаточно заменить этот интерфейсный файл на резервную копию и всё начинает работать как часы.
Скрины ошибок в приложении.
Подскажите, в чём может быть дело? Спасибо)

https://www.sql.ru/forum/1305726/ne-gruzitsya-baza-iz-za-oshibki-msoutl-olb


Особенности описания пути линковки таблиц

Четверг, 22 Ноября 2018 г. 10:24 + в цитатник
Добрый день.
Акс2003, бд разделенная, несколько клиентов в сети.
Начались проблемы с базами, слетает ключ, база портится.
Таблицы прилинкованы, путь описан стандартно (мастером подключения), имя ПК базы - латиницей.
Если переписать пути, указав IP-адрес ПК базы, а не имя ПК, проблемы возникают на порядок реже.
Почему так происходит? Может ли быть причина где-то в этом кроется? Прошу помочь разобраться.

https://www.sql.ru/forum/1305724/osobennosti-opisaniya-puti-linkovki-tablic


Переменная, как условие отбора в запросе

Среда, 21 Ноября 2018 г. 20:34 + в цитатник
Условие отбора запроса выглядит вот так:
Like "*Рога*" Or Like "*Справки*" Or Like "*Копыта*" Or Like "*Шапки*"  


Подскажите, как в запросе использовать переменную, вместо этой строки.
Что-то типа
VIBORKA = "Like '*Рога*' Or Like '*Справки*' Or Like '*Копыта*' Or Like '*Шапки*'" 


Ещё одно условие, другого запроса:
Not Like "*Рога*" And Not Like "*Справки*" And Not Like "*Копыта*" And Not Like "*ШАПКИ*"


или присвоить эту последовательность функции строкового типа, и использовать её в качестве условия отбора.
  MyFunction() As string

MyFunction = "Like '*Рога*' Or Like '*Справки*' Or Like '*Копыта*' Or Like '*Шапки*'" 

------------------------------------------------------------------------
Спасибо за ответ.

https://www.sql.ru/forum/1305702/peremennaya-kak-uslovie-otbora-v-zaprose


Модуль авторизации. Тестирование и обсуждение

Среда, 21 Ноября 2018 г. 16:07 + в цитатник
Недавно пришлось пришлось полазить по интернету для поиска подходящего способа авторизации пользователей в программе.
Того, чего хотелось не нашел. Пришлось разрабатывать самому, используя старые наработки и сведя всё в кучу. Вот выкладываю на суд то, что получилось. Выдрано из рабочей программы, так что есть лишние таблицы и формы.

Модуль авторизации

Прежде чем продолжить работу над работами (фу, тавталогия...) решил сделать модуль авторизации пользователей. Пригодится.

Данный модуль имеет 3 вида авторизации
1. без авторизации
2. Windows авторизация
3. авторизация по Login/Password
Выложен он будет в режиме "Без авторизации"

Переключать режимы авторизации может администратор программы. Для этого надо нажать кнопку "Сервис" (ключ и молоток) Появляется форма "Сервис" с двумя кнопками (пока).
Нажимаем на кнопку "Настройка программы".Программа запросит пароль администратора.

ВНИМАНИЕ! Сейчас для администратора установлен пароль "121212". Для всех остальных пользователей пароль не установлен. Логин администратора всегда "admin". Этот логин зарезервирован за системой. Пользователи не должны его использовать.

Вводим пароль. Откроется форма "Настройки программы". Выбираем нужный режим и закрываем форму.
Тут можно сменить и пароль администратора, нажав кнопку "Смена пароля текущего пользователя". У Вас снова будет запрошен пароль администратора, При правильном вводе будет предложено ввести новый пароль. Так меняется пароль администратора в режиме "Без авторизации"

Пользователей (менеджеров) и логины для них задаёт руководитель. А вот пароль устанавливает сам пользователь.

Для изменения параметров пользователей нажмите на кнопку "Менеджеры" (два профиля). Откроется форма со списком пользователей. Внизу есть кнопки "Добавить", "Изменить", "Удалить".
Выберите пользователя и нажмите на кнопку "Изменить". Откроется соответствующая форма. Перейдите на закладку "Авторизация".
Там находятся два поля "Логин Windows" и "Логин программы"
В поле "Логин Windows" вносится логин под которым пользователь регистрируется в Windows. Предназначен для режима Windows авторизации.
В поле "Логин программы" вносится логин для режима авторизации Login/Password. При создании нового пользователя пароль всегда пустой. Чтобы его изменить, необходимо при заданном режиме "Авторизация по Login/Password" войти в программу по своим логином. В поле "Пароль" ничего не вводить. Затем выбрать режим "Сервис" и "Смена пароля текущего пользователя". Введите новый пароль и подтвердите его. Пробелы вводить нельзя. Регистры в пароле учитывается.
Кроме того там есть кнопка для сброса пароля. Если пользователь забыл свой пароль, то руководитель может его сбросить.

Логины и пароли пользователей хранятся в таблице UserManager. Режим авторизации и пароль администратора хранятся в таблице tbl_SetProgramm.

При "Windows авторизации" программа при запуске просматривает поле LoginWin в таблицы UserManager. В случае совпадения входит в программу под найденным логином.

При авторизация по Login/Password программа запрашивает логин и пароль пользователя.

Попробуйте, как работает и выскажите своё мнение.

Заданные мной логины для программы
Иванов - Ivan
Петров - Peter
Сидоров - Sidor
Александров - Alex
Фёдоров - Fedor
Ефимов - Efim
Сергеев - Serg
Регистр для логина неважен. т.е. Alex=alex=aLeX

P.S. Ещё раз напоминаю, пароль для администратора сейчас установлен 121212.

-------------------------------------------------------------
А ты вложил уже свой кровный рубль в 50-ти миллиардное состояние Билла Гейтса?

https://www.sql.ru/forum/1305683/modul-avtorizacii-testirovanie-i-obsuzhdenie


Глобальная замена в коде

Среда, 21 Ноября 2018 г. 10:57 + в цитатник
Поменяли сервер, а в коде программы очень много ссылок на старый сервер, нельзя ли это как-то глобально заменить.

https://www.sql.ru/forum/1305657/globalnaya-zamena-v-kode


Как в форме Access получить значения расстояния между двумя городами.

Среда, 21 Ноября 2018 г. 01:22 + в цитатник
Здравствуйте люди добрые. Думаю что задача яйца выеденного не стоит для специалистов и должна нормально гуглится только я вопрос нормально сформулировать не могу :(

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



Имеется таблица. Назовём её [Расстояния_между_городами]. В ней содержатся столбцы:
[ID] - Счётчик
[Город1] - числовое поле (значение из справочника [Города])
[Город2] - числовое поле (значение из справочника [Города])
[Расстояние] - числовое поле (заполняется вручную)

[Город1] не может быть равен [Город2]

Задача:

1- В Форме в поле [Город_Отбытия] - выбираем в разворачивающемся списке город (думаю что нужно брать из справочника Города)
2 - В Форме в поле [Город_Прибытия] - выбираем в разворачивающемся списке соответстуещее значение из таблицы [Расстояния_между_городами] Содержаться это значение может и в [Город1] и в [Город2]
3 - В Форме после введения информации в поле [Город_Прибытия] обновляется поле [Расстояние] (значение берется соответственно из [Расстояние Между Городами]![ Расстояние])


Не то чтобы воoбще не вижу никакого решения но в голову всякая фигня лезет. Например 2 раза вводить значения в таблицу [Расстояния_между_городами] в разном порядке. В VBA и SQL не мостак. пользуюсь макросами и конструктором запросов. Тапками пожлуйста не кидайтесь.
Пример не выкладываю так как база не на русском и не на английском. Если без примера никак то навояю специально.

Заранее спасибо.

https://www.sql.ru/forum/1305643/kak-v-forme-access-poluchit-znacheniya-rasstoyaniya-mezhdu-dvumya-gorodami


Получить предыдущее значение поля

Вторник, 20 Ноября 2018 г. 20:41 + в цитатник
Нужно получить предыдущее значение поля.
Возникает несколько вопросов:
1) как проверить, что нажата кнопка вперед или назад?
2) как обойти ошибку 3021?
Пример бд прилагается, процедура называется «GetPreviousRec()».

___________________________________
Использую Microsoft Access 2010, 64 бит.

Спасибо каждому, кто мне когда-либо здесь помог и продолжает помогать.

https://www.sql.ru/forum/1305637/poluchit-predydushhee-znachenie-polya


При повторном открытии формы из меню меняется режим формы

Вторник, 20 Ноября 2018 г. 13:15 + в цитатник
Хелп, господа.

Есть акс 2003 и табличная форма.
Режим по умолчанию - таблица, разрешенные режимы - только таблица.

При открытии из меню форма открывается норм - в табличном виде.

Но если форма скрыта от юзера другими формами и юзер снова открывает её из меню, то форма открывается в режиме форма, несмотря на то, что такой режим не разрешен.

Говоря - "открывается из меню" - имеется ввиду не меню "окно" с перечислением открытых окон, а обычный вызов (например: Меню -> Справочники -> Продукты)

Как пофиксить?

https://www.sql.ru/forum/1305614/pri-povtornom-otkrytii-formy-iz-menu-menyaetsya-rezhim-formy


Группировка данных

Понедельник, 19 Ноября 2018 г. 09:17 + в цитатник
Доброго времени суток столкнулись с таким вопросом, как сделать в access отчете что бы было так как в приложенном файле?
Все необходимые данные для раскрытия вопроса готовы предоставить

https://www.sql.ru/forum/1305544/gruppirovka-dannyh



Поиск сообщений в rss_sql_ru_access_programming
Страницы: 353 ... 328 327 [326] 325 324 ..
.. 1 Календарь