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

Поиск сообщений в 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 ленты.
По всем вопросам о работе данного сервиса обращаться со страницы контактной информации.

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

два вопроса по FSO

Четверг, 03 Мая 2018 г. 18:49 + в цитатник
Коллеги и единомышленники, и снова здравствуйте!
Хочу в целях производственной необходимости организовать у себя на работе более гибкий формат работы с папками.
Так сложилось, что на текущем месте работы исторически организовалась достаточно сложная структура и иерархия хранения файлов
с документами , в разрезе поставщиков, подрядчиков услуг, итд итп.
Хочу более гибко организовать иерархию папок.

Для этого нужно научиться в VBA создавать не папки, а ярлык папки, который в свою очередь ссылается на основную.

Вопрос №1. Подскажите пожалуйста, есть ли возможность создать ярлык папки в определенном месте, который открывает саму основную папку в другом месте:
MkDir вроде для этих целей не походит. Бегло посмотрел свойства, не нашел возможности.

Вопрос №2. Есть ли возможность идентифицировать папку не по имени, а по какому нибудь системному номеру, который создается в момент создания этой папки? То есть какой то идентификатор, который не меняется в случае переименования данной папки? Свойство постоянное какое нить?

http://www.sql.ru/forum/1292160/dva-voprosa-po-fso


формат даты при связи с MS SQL сервер через ODBC

Четверг, 03 Мая 2018 г. 11:44 + в цитатник
Добрый день!
Подключаю таблицы к Access через ODBC все даты отображаются в формате YYYY-MM-DD.
А необходимо даты отображать в формате DD.MM.YY можно ли каким то образом преобразовывать даты автоматически? может есть вариант настроить SQL server?

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

http://www.sql.ru/forum/1292104/format-daty-pri-svyazi-s-ms-sql-server-cherez-odbc


Как создать кнопку, которая удаляет запись выбранную через поле со списком(access 2013)

Четверг, 03 Мая 2018 г. 01:14 + в цитатник
Добрый день. Подскажите пожалуйста.
Создал форму, через конструктор форм, затем добавил поле со списком через конструктор. Жму раскрыть список, выбираю строку, которая соответствует строке в таблице. Как создать кнопку, чтобы выбранная запись удалялась из таблицы и все обновлялось без нажатия кнопки обновить все. Спасибо

http://www.sql.ru/forum/1292083/kak-sozdat-knopku-kotoraya-udalyaet-zapis-vybrannuu-cherez-pole-so-spiskom-access-2013


Кнопка загрузки файла в БД

Среда, 02 Мая 2018 г. 23:09 + в цитатник
Здравствуйте, подскажите возможно ли создать кнопку в базе данных access, которая открывала бы проводник и загружала в базу данных выбранный мною файл? Если да, то не могли бы привести пример кода.

http://www.sql.ru/forum/1292075/knopka-zagruzki-fayla-v-bd


Определение админских привилегий пользователя в системе

Среда, 02 Мая 2018 г. 12:12 + в цитатник
Нашел тут на сайте VBStreets код, который позволяет определить, является ли админом пользователь, вошедший в систему
Код можно посмотреть здесь

Что интересно.
В Access 2003 код великолепно работает, а в 2010 вылетает. Без всяких сообщений об ошибках (в операторах). Просто идёт на перезагрузку Access и предлагает послать сообщение в Microsoft.

Windows 7 - 32 bit и Windows Server 2008 R2.

Access 2010 - 32 bit 14.0.4750.1000

Access 2003 11.8321.8405 SP3

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

http://www.sql.ru/forum/1292045/opredelenie-adminskih-privilegiy-polzovatelya-v-sisteme


Список пользователей, подключенных к базе (на основе LDB)

Среда, 02 Мая 2018 г. 10:29 + в цитатник
На сайте http://access.mvps.org лежит утилита для просмотра ДВИ файла - AppUser
Что-то я не могу у себя запустить нормально. Она дважды вылетает по ошибке 9, а потом выводит данные (правда не полные)
Программа вроде требует для своей работы msldbusr.dll
Нашел в интернете два таких Dll, v1.100 и v2.000
Ни один из них не регистрируется в системе. Я их просто ложил в каталог system32.

Может кто-нибудь подскажет, в чём дело? Я выяснил, что ошибка 9 возникает при обращении к функции apiAllocateAndInitializeSid
Private Declare Function apiAllocateAndInitializeSid _
    Lib "advapi32.dll" Alias "AllocateAndInitializeSid" ...

При попытке исправить её, вылетает следующая, но уже связанная с защитой.
Работаю в Access 2010 в Windows 7 - 32 bit

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

http://www.sql.ru/forum/1292033/spisok-polzovateley-podkluchennyh-k-baze-na-osnove-ldb


Подскажите как применить iif

Вторник, 01 Мая 2018 г. 16:19 + в цитатник
Привет всем ,подскажите как выполнить запрос
Такого вида
Имеется количество блюд их продажи
Написал что бы считалась сумма проданных
Нужно что бы если блюда не продавалось не разу писалось 0

SELECT Заказ_из_меню.Код_блюда, Блюда.Название, Sum(Заказ_из_меню.Количество_блюд) AS [Проданные блюда] FROM Заказы INNER JOIN (Блюда INNER JOIN Заказ_из_меню ON Блюда.Код_блюда = Заказ_из_меню.Код_блюда) ON Заказы.Код_заказа = Заказ_из_меню.Код_заказа GROUP BY Заказ_из_меню.Код_блюда, Блюда.Название;

http://www.sql.ru/forum/1292002/podskazhite-kak-primenit-iif


Как по дате узнать, какой порядковый номер в году

Вторник, 01 Мая 2018 г. 13:11 + в цитатник
Всем доброго времени суток. Рекламщики подкинули проблему, нужно по дате рождения клиента +- 20 дней предоставить ему скидку. Как можно в Акцессе 2003 вычислить порядковый номер даты (например дата 28 янв 1997г. и дата 28 янв 1984 г. должны отображаться числом 28, а дата 20 фев 97 г. и 20 фев 85 г. должны отображаться числом 51 ). Извините за сумбур.

http://www.sql.ru/forum/1291993/kak-po-date-uznat-kakoy-poryadkovyy-nomer-v-godu


ленточная форма

Вторник, 01 Мая 2018 г. 09:57 + в цитатник
возможно ли после обновления поля в последней записи,в ленточной форме,отсортированной по убыванию даты(последняя запись отображается первой, отображение новой в начале(над последней), в первой позиции?

http://www.sql.ru/forum/1291983/lentochnaya-forma


Ввод и просмотр данных по списку компаний за месяц года

Воскресенье, 29 Апреля 2018 г. 21:47 + в цитатник
Вроде тривиально, но не нашел удобного решения:
Нужна форма, которая вносит в таблицу начисленные суммы для каждой компании за указанный месяц.
Имею таблицу с организациями и таблицу с начислениями, где есть кроме самой компании есть поля "месяц" и "год".
Как правильно сделать форму, чтобы в главной я мог выбирать нужный месяц и год, а в подчиненной видел бы список всех компаний и мог редактировать данные в любой из них. Какое должно быть представление подчиненной формы? Как их лучше связать?

Спасибо за наводку..

http://www.sql.ru/forum/1291935/vvod-i-prosmotr-dannyh-po-spisku-kompaniy-za-mesyac-goda


динамический импорт из excel

Воскресенье, 29 Апреля 2018 г. 12:54 + в цитатник
Привет всем.
Есть множество файлов приаттаченного вида с которыми приходится работать. Хочу облегчить себе работу и импортировать данные в Access и сделать более удобочитаемый вид, точнее форму. Но перед этим данные нужно импортировать из файла. Проблема в том, что количество ячеек динамическое от файла к файлу. Что не изменно, так это название полей в таблицах. Например, "Полный номер сектора". В данном файле это ячейка "A66".
Каким образом можно найти "Полный номер сектора", т.е. начало таблицы и определить её окончание по пустому значению этого же столбца? В данном случае это ячейка "A100". Прошу сильно не пинать, т.к. я в этом не силён. Работы меньше не становится и вот этим приходится заниматься в своё личное время :(

http://www.sql.ru/forum/1291908/dinamicheskiy-import-iz-excel


Помогите - объединение 2-х таблиц по 3 параметрам + вычисление

Суббота, 28 Апреля 2018 г. 18:45 + в цитатник
Всем - добрый день!
Помогите вывести итоговую таблицу (то-ли запросом, то-ли еще как...)

Суть:
Есть 2 таблицы. Нужно получить результирующую.
Примерчик - ниже.
Определяющие поля - Овощ, Цвет, Страна

Небольшое описание.
В первой таблице Помидор/Красный/Китай/10+5=15
Во второй таблице Помидор/Красный/Китай/5
Расхождение 5

Надеюсь, суть понятна.
Для простоты - пример во вложении.

Таблица1___________________________Таблица2___________________________РезультирующаяТаблица
Овощ Цвет Страна Количество Овощ Цвет Страна Количество Овощ Цвет Страна КоличествоТаблица1 КоличествоТаблица2 Расхождение
Помидор Красный Китай 10 Помидор Красный Китай 5 Помидор Красный Китай 15 5 10
Помидор Красный Китай 5 Помидор Желтый Индия 3 Помидор Желтый Китай 3 3
Помидор Желтый Китай 3 Помидор Зеленый Риссия 4 Помидор Зеленый Риссия 3 4 -1
Помидор Зеленый Риссия 3 Яблоко Желтый Россия 3 Яблоко Желтый Россия 1 3 -2
Яблоко Желтый Россия 1 Банан Желтый Египет 8 Помидор Желтый Индия 3 -3
Банан Желтый Египет 8 -8


Помогите, кто сможет.
Спасибо!

http://www.sql.ru/forum/1291880/pomogite-obedinenie-2-h-tablic-po-3-parametram-vychislenie


Проблема рост размера базы, НЕ сжатие!

Суббота, 28 Апреля 2018 г. 14:33 + в цитатник
Здравствуйте! Прошу извинить за флуд, но проще спросить у знающих. Вопрос по возможности НЕувеличения размера базы, именно отстутствия роста размера, а не возможностей сжатия из FAQ, про которые всё известно (и применяется мной в разных вариантах).
Вообще возможно ли такое?

Простой пример: база Акс2003, в нее импортируется таблица (в моем случае dbf), потом производятся внутренние обработки и так каждый день. НО таблица большая и если два раза подряд импортнуть без сжатия, то возникает проблема переполнения базы (превышение макс.размера 2145 Мб) при обновлении внешней таблицы.
Импортируемая таблица всегда практически одинакового размера. Попробовал и удаление ее и последующий импорт и очистку таблицы и ее заполнение из прилинкованной - толку нет, размер базы mdb всё равно пропорционально растет если базу предварительно не сжать. Конечно можно попробовать прерывать процесс после очистки, или удаления таблицы командой сжатия, но тогда прерывается сам внутренний процесс. Можно конечно подумать над фичей, чтобы разделить процесс на "До" и "После", но мне кажется как-то это кривовато. Есть мнения, или я задал глупый вопрос? Спасибо!

http://www.sql.ru/forum/1291857/problema-rost-razmera-bazy-ne-szhatie


POST запрос multipart/form-data

Пятница, 27 Апреля 2018 г. 23:42 + в цитатник
Мне нужно загрузить данные на сервер : Описание, что хотят на входе:

https://zakupki.gov.ru/pgz/services/upload/upload HTTP/1.1

Content-Type: multipart/form-data; boundary=---------------------------7db10b11c0824
Host: zakupki.gov.ru
Content-Length: (размер содержимого)
Connection: Keep-Alive
Cache-Control: no-cache

-----------------------------7db10b11c0824
Content-Disposition: form-data; name="login"

(имя пользователя)
-----------------------------7db10b11c0824
Content-Disposition: form-data; name="password"

(пароль)
-----------------------------7db10b11c0824
Content-Disposition: form-data; name="clientType"

(тип клиента)
-----------------------------7db10b11c0824
Content-Disposition: form-data; name="document"; filename="(имя файла)"
Content-Type: text/xml

(XML-документ)
-----------------------------7db10b11c0824
Content-Disposition: form-data; name="signature"; filename="(имя файла)"
Content-Type: application/octet-stream

(Электронная подпись)
-----------------------------7db10b11c0824


Все писать в setRequestHeader ? Где заканчивается заголовок и начинается тело?

Content-Type: text/xml
Сюда забрасываю строки xml файла? Содержит русские буковки, что с ними будет на сервере?

Content-Type: application/octet-stream
Сюда забрасываю строку электронной подписи?


Если нет в заголовке, то и не нужно?
oHttp.setRequestHeader "User-Agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)"

Хочу получить вразумительный ответ сервера... Пароль неправильный, или электронной подписи нет...


Private Sub Кнопка0_Click()
Dim strPOST As String
Dim boundary As String
Dim UserName As String
Dim Password As String
Dim XMLHTTP As Object
Dim headers

boundary = "---------------------------7db10b11c0824"
UserName = "12345"
Password = "12345"

' Собираю тело

strPOST = boundary & vbCrLf
strPOST = strPOST & "Content-Disposition: form-data; name=""login""" & vbCrLf & vbCrLf & UserName & vbCrLf
strPOST = strPOST & boundary & vbCrLf
strPOST = strPOST & "Content-Disposition: form-data; name=""password""" & vbCrLf & vbCrLf & Password & vbCrLf
strPOST = strPOST & boundary & vbCrLf
strPOST = strPOST & "Content-Disposition: form-data; name=""clientType""" & vbCrLf & vbCrLf & "bank" & vbCrLf
strPOST = strPOST & boundary & vbCrLf
strPOST = strPOST & "Content-Disposition: form-data; name=""document""" & ";filename=c:\xml\1.xml" & vbCrLf
strPOST = strPOST & "Content-Type :text/xml" & vbCrLf & vbCrLf
strPOST = strPOST & ???? Здесь не знаю, что писать. Код xml? А как быть с двойными кавычками...? 
strPOST = strPOST & boundary & vbCrLf
strPOST = strPOST & "Content-Disposition: form-data; name=""signature""" & ";filename=c:\xml\1.sig" & vbCrLf
strPOST = strPOST & "Content-Type :application/octet-stream" & vbCrLf & vbCrLf
strPOST = strPOST & ??? Тут куча символов электронной подписи & vbCrLf  
strPOST = strPOST & boundary &"--"& vbCrLf   ' Нужны ли здесь в конце --
strPOST = strPOST & "--" & boundary & "--" & vbCrLf


'Формирую заголовок

Set XMLHTTP = CreateObject("MSXML2.Msxml2.XMLHTTP.6.0")
XMLHTTP.Open "POST", "https://zakupki.gov.ru/pgz/services/upload", True
' Нужен "User-Agent"? Не просят...
XMLHTTP.setRequestHeader "Content-Type", "multipart/form-data; boundary=---------------------------7db10b11c0824"
XMLHTTP.setRequestHeader "Content-Length", Len(strPOST)
XMLHTTP.setRequestHeader "Cache-Control", "no-cache"
XMLHTTP.setRequestHeader "Connectiont", "Keep-Alive"


XMLHTTP.send strPOST

  Dim t!
    t = Timer + 10
    Do
      DoEvents
      headers = XMLHTTP.getAllResponseHeaders()
    If Len(headers) Then Exit Do
    Loop While Timer < t
    On Error GoTo 0
    MsgBox headers

Set XMLHTTP = Nothing
End Sub

http://www.sql.ru/forum/1291800/post-zapros-multipart-form-data


Чередование цвета ленточной формы - выход цвета за пределы крайних полей (Access 2013)

Четверг, 26 Апреля 2018 г. 13:14 + в цитатник
Друзья, добрый день! Пытался найти решение проблемы, читал здесь - не помогло ((( - цвет чередования выходит за пределы полей "таблицы", прилагается скрин (указано красным). Как можно ограничить цвет чередования крайним левым и правым полями?

Заранее премного благодарен!

http://www.sql.ru/forum/1291624/cheredovanie-cveta-lentochnoy-formy-vyhod-cveta-za-predely-kraynih-poley-access-2013


Найти имя пользователя Windows через WMI

Четверг, 26 Апреля 2018 г. 10:39 + в цитатник
Наворочено, но работает!
Подход заключается в том, чтобы использовать WMI для отображения активных сеансов, а затем перекрестно ссылаться на сеанс с зарегистрированным именем пользователя. Это можно сделать, выполняя что-то вроде:

'---------------------------------------------------------------------------------------
' Procedure : WMI_GetUsernames
' Author    : Daniel Pineault, CARDA Consultants Inc.
' Website   : http://www.cardaconsultants.com
' Purpose   : Return a dictionary (unique values) of usernames for the specified computer
' Copyright : The following is release as Attribution-ShareAlike 4.0 International
'             (CC BY-SA 4.0) - https://creativecommons.org/licenses/by-sa/4.0/
' Req'd Refs: Uses Late Binding, so none required
'
' Входные переменные:
' ~~~~~~~~~~~~~~~~
' sHost     : хост-компьютер для запроса, пропустите для локального ПК
'
' Usage:
' ~~~~~~
'
'
' История изменений:
' Rev       Date(yyyy/mm/dd)        Description
' **************************************************************************************
' 1         2018-04-13              Initial Release
'---------------------------------------------------------------------------------------
Public Function WMI_GetUsernames(Optional sHost As String = ".") As Object    'Scripting Dictionary
    'Ref: https://msdn.microsoft.com/en-us/library/aa394189(v=vs.85).aspx
    '     https://msdn.microsoft.com/en-us/library/aa394172(v=vs.85).aspx
    '     https://msdn.microsoft.com/en-us/library/aa384793(v=vs.85).aspx
    On Error GoTo Error_Handler
    Dim oWMI                  As Object    'WMI object to query about the PC's OS
    Dim sWMIQuery             As String    'WMI Query
    Dim oLogonSessions        As Object
    Dim oLogonSession         As Object
    Dim oUsers                As Object
    Dim oUser                 As Object
    Dim dictUsers             As Object    'Scripting Dictionary
 
    Set WMI_GetUsernames = Nothing    'Always empty it!
    Set dictUsers = CreateObject("Scripting.Dictionary")    'New dictionary
    Set oWMI = GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & sHost & "\root\cimv2")
    sWMIQuery = "SELECT * " & _
                "FROM Win32_LogonSession " & _
                "WHERE LogonType=2"
    Set oLogonSessions = oWMI.ExecQuery(sWMIQuery)
    For Each oLogonSession In oLogonSessions
        'Теперь, когда у нас есть активные сеансы, давайте узнаем, кто их запускает.
        sWMIQuery = "Associators of " & _
                    "{Win32_LogonSession.LogonId=" & oLogonSession.LogonId & "} " & _
                    "WHERE AssocClass=Win32_LoggedOnUser Role=Dependent"
        Set oUsers = oWMI.ExecQuery(sWMIQuery)
        For Each oUser In oUsers
            With oUser
                '                Debug.Print .Name
                If dictUsers.Exists(.Name) = False Then dictUsers.Add .Name, .Name
            End With
        Next
    Next
    Set WMI_GetUsernames = dictUsers
 
Error_Handler_Exit:
    On Error Resume Next
    Set dictUsers = Nothing
    Set oUsers = Nothing
    Set oUser = Nothing
    Set oLogonSession = Nothing
    Set oLogonSessions = Nothing
    Set oWMI = Nothing
    Exit Function
 
Error_Handler:
    MsgBox "The following error has occured" & vbCrLf & vbCrLf & _
           "Error Number: " & Err.Number & vbCrLf & _
           "Error Source: WMI_GetUsernames" & vbCrLf & _
           "Error Description: " & Err.Description & _
           Switch(Erl = 0, "", Erl <> 0, vbCrLf & "Line No: " & Erl) _
           , vbOKOnly + vbCritical, "An Error has Occured!"
    Resume Error_Handler_Exit
End Function

 
'Вот как это можно использовать!
Sub TestMe()
    Dim User As Variant
'    Dim WMI_GetUsernames As Object
 
    For Each User In WMI_GetUsernames.keys
        Debug.Print User
    Next
End Sub

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

http://www.sql.ru/forum/1291602/nayti-imya-polzovatelya-windows-cherez-wmi


DlookUp, DCount, Dmin итд, замена более быстрыми и менее требовательными аналогами

Среда, 25 Апреля 2018 г. 22:16 + в цитатник
Уважаемые единомышленники, всем привет!

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

На уровне главной формы должно быть порядка 9-10 расчетных полей. Как организовать при помощи DlookUp ,DCount и прочих вбашных агрегатных функций я естественно знаю, это легко.

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

В год вижу на уровне главной табличной формы порядка 5000 записей при 30 полях (все типы,в основном текст, дробные числа и даты),из них 9-10 расчетных. (Источником данных будет запрос.)

Подскажите пожалуйста, есть ли более быстрые и менее требовательные к ресурсам замены агрегатным функциям vba? Запросы с группировкой с выводом в расчетное поле прошу не предлагать, так как при этом теряется возможность редактировать инфо на уровне главной табличной формы. Я пробовал ухищряться и писал отдельными функциями vba выражения ,куда пихал текст запросов с группировкой и только потом выводил в расчетные поля в виде значения функции ,но это тоже приводило к существенным замедлениям при большом количестве строк. Есть ли возможность обойти этот порочный круг?)

http://www.sql.ru/forum/1291567/dlookup-dcount-dmin-itd-zamena-bolee-bystrymi-i-menee-trebovatelnymi-analogami


перехват события изменения изменения записи

Среда, 25 Апреля 2018 г. 14:58 + в цитатник
Всем доброго времени суток! Есть ли для форм способ перехвата события изменения записи, если более корректно, то событие "после_изменения_значения_любого_поля" :-) Допустим, источником данных формы рекордсет с полным доступом к данным из какой-нибудь таблицы. Я когда-то придумал туповатый способ: создаем самопальную процедурку типа:
Sub recordChange()
    'код обработки
End Sub

Ну, и в событии Dirty каждого поля просто вызываем эту процедуру. Очень тупо, особенно, при большом количестве полей. Но, может, есть какой-то более рациональный способ?

http://www.sql.ru/forum/1291518/perehvat-sobytiya-izmeneniya-izmeneniya-zapisi


Ускорение запросов

Среда, 25 Апреля 2018 г. 11:57 + в цитатник
Добрый день!

В существующей БД часть таблиц выложены на сервер mssql, и добавлены в БД через ODBC.
Часть существующих запросов, к данным таблицам выполняется очень долго.

Каким образом можно ускорить выполнение данных запросов?

http://www.sql.ru/forum/1291495/uskorenie-zaprosov


ODBC + Локальная таблица

Среда, 25 Апреля 2018 г. 11:43 + в цитатник
Добрый день!
на сервере MS SQL написано представление. У данного представления добавлен триггер Instead Of Update.
в БД Access через ODBC добавлена таблица связанная с данным предствалением.
Когда я создаю запрос объединяющий ODBC таблицу и локальную таблицу - выдается сообщение объект recordset не является обновляемым и я не могу изменить параметры локальной таблицы.

Подскажите, пожалуйста, каким образом модифицировать БД, что бы исправить данную ошибку.

http://www.sql.ru/forum/1291492/odbc-lokalnaya-tablica



Поиск сообщений в rss_sql_ru_access_programming
Страницы: 353 ... 306 305 [304] 303 302 ..
.. 1 Календарь