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

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

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

 

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

 -Статистика

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

Invalid link!








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

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

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

Выборка по параметрам из отдельной таблицы

Пятница, 04 Октября 2019 г. 19:04 + в цитатник
Добрый день!
Помогите пожалуйста составить запрос на выборку.

Даны две несвязанные таблицы. В первой даты установления МРОТ. Во второй даты причинения ущерба.

Надо выбрать строки, где ущерб превышает МРОТ. Т.е. это должны получится строки 1 и 3.
База с таблицами прилагается

Таблица 1
ДатаМРОТ
01.01.2017100
01.01.2018200
01.05.2018250


Таблица 2
ДатаУщерб
102.03.2017120
203.05.201750
323.02.2018300
413.04.2018150


Спасибо!

https://www.sql.ru/forum/1317729/vyborka-po-parametram-iz-otdelnoy-tablicy



Понравилось: 3 пользователям

ApplyFilter для дубликатов в таблице

Четверг, 03 Октября 2019 г. 13:00 + в цитатник
Доброе время суток,

Имеется таблица в форме с не уникальными полями KS_ID, MAC. Необходимо наложить фильтр, чтобы отредактировать задублированные записи.

Можно ли это как-то сделать через doCMD.ApplyFilter?

Пока удалось реализовать с помощью запроса который разрешает вносить изменения:

SELECT *
FROM Reg_KS
WHERE (Reg_KS.[KS_ID]) In (SELECT [KS_ID] FROM [Reg_KS]  GROUP BY [KS_ID],[MAC] HAVING Count(*)>1  And [MAC] = [Reg_KS].[MAC])
ORDER BY Reg_KS.[KS_ID], Reg_KS.[MAC];

https://www.sql.ru/forum/1317689/applyfilter-dlya-dublikatov-v-tablice


Рабочий проект на Access для отделов ГИБДД

Среда, 02 Октября 2019 г. 12:37 + в цитатник
но для общего развития,
забросил еще в 2016, но может кому будет интересно
Все права на разработку принадлежат исключительно мне, разрешаю использовать код по Вашему усмотрению без уведомления )

https://drive.google.com/file/d/1OWCDppyxDyNwFW2smCXcZx12mfDQoZVP/view?usp=sharing

https://www.sql.ru/forum/1317643/rabochiy-proekt-na-access-dlya-otdelov-gibdd


Как скрыть от пользователя путь к файлу

Вторник, 01 Октября 2019 г. 15:22 + в цитатник
Добрый день,
есть база данных access с заказами, есть папки с документацией по заказам, все документы относящиеся к заказу лежат на сервере в подпапке с номером заказа. Т.е. для заказа 12345 есть папка X:\документация\12345. В этой папке может быть один или несколько файлов (doc, xls или pdf). Планирую сделать форму, на которой при переходе по заказам будет отображаться содержимое соответствующей папки. Пользователь может выбрать нужный документ и открыть его. Суть вопроса: нужно, чтобы пользователь, открыв файл, не видел его расположение. Возможно это сделать каким-либо способом без копирования файла во временную папку? Может кто-то делал что-то подобное? Буду признательна за любую помощь.

https://www.sql.ru/forum/1317609/kak-skryt-ot-polzovatelya-put-k-faylu


Выбирать картинки из контрола -ПолеСоСписком.

Вторник, 01 Октября 2019 г. 10:10 + в цитатник
На форме поле со списком - 2 столбца
Выбираем из списка наименование и картинку.
  Me!MARKA_AVTO = Me!MARKA_AVTO_VIBOR.Column(0)
               Me!LOGOTIP.SourceItem = Me!MARKA_AVTO_VIBOR.Column(1)

ошибок нет, но и картинки нет.
Как реализовать?
(с текстом проблем нет, а как отобразить картинку?)
В таблице картинка храниться в Поле объекта OLE
------------------------------------------------------------------------
Спасибо за ответ.

https://www.sql.ru/forum/1317596/vybirat-kartinki-iz-kontrola-polesospiskom


Win10Home+Office2003sp3 странности с Word

Понедельник, 30 Сентября 2019 г. 20:35 + в цитатник
CreateObject("Word.Application") тормозит 2 секунды на приличной хард машине,
а со штатного ярлыка поднимается мухой.

Никто не сталкивался?

https://www.sql.ru/forum/1317588/win10home-office2003sp3-strannosti-s-word


Внедренные картинки в отчете

Воскресенье, 29 Сентября 2019 г. 06:50 + в цитатник
Всем здравия во все органы!!!
По мотивам темы про детскую ЖД, - http://www.cyberforum.ru/ms-access/thread2430948-page4.html#post13852200 - пытаюсь в Аксике 2000, сделать свою БД.
Однако в - Отчетах, ругается на внедренные картинки, типа не находятся.
В чем может быть проблема?
Ведь внедренный рисунок он и есть - Внедренный, по любому должен отображаться, это ведь не ссылка на фотку.
Или я чёй та не правильно понимаю и в зависимости от версий Акса, что то происходит совсем по другому?
Как это исправить, дабы в любой версии нормально отображалась картинка.
А то я как то не особо этим ранее интересовался и соответственно чЁй та туплю не по детски.
Картинки прилагаются.

https://www.sql.ru/forum/1317545/vnedrennye-kartinki-v-otchete


Как редактировать созданный RecordSet.

Пятница, 27 Сентября 2019 г. 21:55 + в цитатник
Всем привет.
Подскажите плиз кто знает, как редактировать созданный RecordSet на основе пары таблиц.
Если делать всё в одном запросе, то выполняется он почему-то минут 5, поэтому приходится извращаться...
MDB

  Dim rs As Recordset
  Dim rs2 As Recordset
  Dim q As String
  
  q = ""
  q = q & "SELECT Код, Дата, Код_дилера, База_Опт, "
  q = q & "(select opc.id from order_price_change as opc where (opc.order_code=ord.код) and (opc.note='import')) as opc_id "
  q = q & "FROM [Заказы] as ord "
  q = q & "order by Дата,Код"

  
  Set rs = DBEngine(0)(0).OpenRecordset(q)
  rs.MoveFirst
  Do Until rs.EOF
    rs.Edit
      q = "select [data],amount from order_price_change as opc where (opc.id=" & rs!opc_id & ")"
      Set rs2 = CurrentProject.Connection.Execute(q)
      rs2!data = rs2("data").value
      rs2opc_amount = rs2("amount").value
    rs.Update
    rs.MoveNext
  Loop

  Set Me.Recordset = rs
  rs2.Close
  rs.Close
  Set rs2 = Nothing
  Set rs = Nothing


Валится на строчке
    rs.Edit

пишет ошибку :
run-time error 3027
Обновление невозможно. База данных или объект доступны только для чтения.

пробовал в параметрах открытия рекордсета ставить adOpenDynamic и другие - не помогает.

https://www.sql.ru/forum/1317526/kak-redaktirovat-sozdannyy-recordset


Присвоить комбобоксу запрос

Четверг, 26 Сентября 2019 г. 20:16 + в цитатник
Добрый день и сорри.. читал читал, не нашел..

Есть комбобокс в форме, нужно вывести в него одно значение запроса, чтобы оно сразу было видно.
Собственно комбо может и не нужен, но в поле нужно иметь два значени, id и текст, вроде только комбо.

Me!party_1.RowSource = strSQL - присваивает, но чтобы увидеть текст, нужно ткнуть в треугольник
Me!party_1 = dbs.OpenRecordset(strSQL).Fields (0) - присваивает только одно поле

Как можно id b текст в комбо запросом записать и чтобы сразу виден был текст?
Спасибо.

https://www.sql.ru/forum/1317482/prisvoit-komboboksu-zapros


удаление фильтров в сводной таблице Access

Четверг, 26 Сентября 2019 г. 16:07 + в цитатник
есть форма в режиме своей таблицы, структура формируется программно, после чего пользователь выбирает значения фильтров в строках, столбцах, таблица соответственно фильтруется. Как программно сбросить все фильтры? Инструкций нигде нет, F1 ничего не знает, инфа в основном для сводных таблиц excel. я так понял с 2013 вообще acces сводные таблицы не поддерживает.

https://www.sql.ru/forum/1317471/udalenie-filtrov-v-svodnoy-tablice-access


Оптимизация запроса

Четверг, 26 Сентября 2019 г. 09:04 + в цитатник
есть запрос
SELECT DISTINCT MAIN1.code AS Codm1, MAIN.code AS CODP, vers.code AS codever, vers.vers, MAIN.MARKA, MAIN.fold, MAIN.COMMENT, 
vers.mat1, MAIN1.prod, MAIN1.lev, MAIN1.own, MAIN1.qt, 
IIf(Exists (select tprcs.code from tprcs where tprcs.codever=vers.code),True,False) AS tp, 
IIf(Exists (select spztmp.code from spztmp where spztmp.codm1=main1.code),True,False) AS pn  
FROM tprcs RIGHT JOIN ((MAIN INNER JOIN vers 
ON MAIN.CODE = vers.codem) INNER JOIN MAIN1 
ON vers.code = MAIN1.codever) 
ON tprcs.codever = vers.code  WHERE (((MAIN1.sernn) = " & Me!serc & ")) 
ORDER BY MAIN1.lev, MAIN.MARKA, MAIN1.code;

Выполняется секунд 15-20
Можно ли его оптимизировать?

https://www.sql.ru/forum/1317450/optimizaciya-zaprosa


В отчете выделить исправленные значение

Среда, 25 Сентября 2019 г. 11:22 + в цитатник
Ребята, голову сломала, прошу вашей помощи:
Есть отчет, который содержит в себе подчиненные отчеты представленные в табличной форме.
Необходимо при обнаружении ошибок , описок в отчете, сформировать отчет исправленный , но исправления должны быть каким то образом выделены, типа курсивом, подчеркивание, цветом.
Поля различных типов (числовые, символьные, дата).
Реально ли это сделать ? Спасибо.

https://www.sql.ru/forum/1317420/v-otchete-vydelit-ispravlennye-znachenie


DLL тип Variant -> VBA.ADODB.Recordset

Среда, 25 Сентября 2019 г. 00:13 + в цитатник
Доброго дня господа !

Библиотека DLL (Delphi) преобразовала ADODB.Recordset в OLEVariant, этот тип принят функцией VBA и вернул тип Variant

[ Public | Private ] Declare FunctionnameLib "libname" [ Alias "aliasname" ] [ ( [ arglist ] ) ] [ As type ] as Variant
Данные видны в Debug-ере.

Вопрос
Как в VBA осуществить приведение типов, сделать ADODB.Recordset и стандартными методами
пройтись по массиву (while Rs.EOF, Rs.Next т.д.)

Dim Rs as ADODB.RecordSet, V as Variant
V = myFunction(.......) 'возврат Variant (recordset из DLL)
Rs = V ?????????????? Как преобразовать тип

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

https://www.sql.ru/forum/1317406/dll-tip-variant-vba-adodb-recordset


Создание текстового описания объекта (таблица,запрос) DAO

Вторник, 24 Сентября 2019 г. 13:56 + в цитатник
Здравствуйте! Помогите пжлст разобраться с проблемой: пытаюсь программно через DAO создать текстовое описание запроса. Никак не могу понять почему не работает и выдает ошибку 3367. Вроде все необходимые референсы подключены.
В интернете ничего дельного не нашел. Порыл форум тоже. Задал вопрос в https://www.sql.ru/forum/382821/opisanie-polya-tablicy-access - нет ответа.

Самое странное, что с запросом на объединение (в примере Запрос1) срабатывает, а в простым запросом на выборку нет (Запрос2). Как так?

Option Compare Database

Function TEST() '
'пытаюсь программно через DAO создать текстовое описание запроса. Никак не могу понять почему не работает и выдает ошибку 3367 _
Вроде все необходимые референсы подключены _
Самое странное, что с запросом на объединение срабатывает, а в простым запросом на выборку нет. Как так?
DoCmd.SetWarnings False
    
    Dim dbs As DAO.Database, prp As DAO.Property, tdf As DAO.QueryDef
    Dim sDescr As String
    Dim QName As String 'имя запроса

Set dbs = DBEngine(0).OpenDatabase(CurrentDb.Name) 'CurrentDb
    Set tdf = Nothing
    Set MyQuery = Nothing

'здесь просто убиваю тестовые результаты
On Error Resume Next
    DoCmd.DeleteObject acQuery, "Запрос1 NEW"
    DoCmd.DeleteObject acQuery, "Запрос2 NEW"
On Error GoTo 0

'РАБОТАЕТ
QName = "Запрос1" 'есть запрос на объединение здесь называется "Запрос1"
    GoSub Process1
'НЕ РАБОТАЕТ!
QName = "Запрос2" 'есть запрос на выборку здесь называется "Запрос2"
    GoSub Process1

Exit Function

Process1:
    On Error GoTo err_
txtSQL = dbs.QueryDefs(QName).SQL
'просто создаю его копию
'DoCmd.CopyObject , QName & " NEW", acQuery, QName
    Set MyQuery = dbs.CreateQueryDef(QName & " NEW", txtSQL)

'дальше хочу создать описание объекта (созданного запроса)
    sDescr = dbs.Containers("tables").Documents(QName).Properties("description") 'читаем описание объекта, которое есть по-любому (по условию)
    'sDescr = "Тест бл*"
'создаем описания таблицы (здесь не используется)
'CurrentDb.Containers("tables").Documents(QName & " NEW").Properties("description") = sDescr & " NEW" 'создаем описания таблиц

    dbs.TableDefs.Refresh
    Application.RefreshDatabaseWindow
    
    Set tdf = dbs.QueryDefs(QName & " NEW")
    Set prp = tdf.CreateProperty("description", dbText, sDescr)
    tdf.Properties.Append prp 'Call tdf.Properties.Append(prp) ВОТ ЗДЕСЬ НЕ ПРОХОДИТ и РУГАЕТСЯ!!
    
    Set tdf = Nothing
    Set MyQuery = Nothing
Return

err_:
    If Err.Number = 3270 Then
        tdf.Properties.Append tdf.CreateProperty("Description", dbText, sDescr)
    ElseIf Err.Number = 3367 Then
        Err.Raise Err.Number, Err.Source, Err.Description, Err.HelpFile, Err.HelpContext
    End If
Resume Next

End Function

https://www.sql.ru/forum/1317386/sozdanie-tekstovogo-opisaniya-obekta-tablica-zapros-dao


Postgres. Не работает сортировка и фильтр в табличной форме. Прямые запросы к серверу.

Вторник, 24 Сентября 2019 г. 10:30 + в цитатник
Если делаю прямой запрос к серверу, обычный sql Select или этот же select, только в postgres функции, то получаю табличку в форме, в которой не работает аксессовская (2016) сортировка и фильтрация данных. Ругается, в частности, что from не тот.

Если делаю запрос через присоединённые таблицы Постгреса, то всё работает нормально.

Что может быть?

https://www.sql.ru/forum/1317371/postgres-ne-rabotaet-sortirovka-i-filtr-v-tablichnoy-forme-pryamye-zaprosy-k-serveru


Запрос для выборки записей через форму при связи многие ко многим

Понедельник, 23 Сентября 2019 г. 21:51 + в цитатник
Никак не могу разобраться. Есть БД книг, в одной таблице записаны книги, во другой - рубрики (художественная, детская, научная и т.п.). Каждая книга может относиться к нескольким рубрикам.

Надо, чтобы на форму можно было вывести все книги, относящиеся к определённым рубрикам.

Как вывести все книги, принадлежащие к одной рубрике - это понятно:
Me.RecordSource = "SELECT * FROM Книги INNER JOIN КнВид ON Книги.Кн_ключ=КнВид.Кн_ключ WHERE Вид_ключ = " & Me.Список2

Но каким должен быть запрос, чтобы вывести книги, принадлежащие одновременно к нескольким рубрикам? Например, детские и художественные?

Вариант с Книги INNER JOIN КнВид здесь, по-видимому, уже не подойдёт, поскольку, если, например, "Книга 1" принадлежит сразу к 2 рубрикам, то он даст для неё 2 строки:
Название Вид_ключ
Книга11
Книга12

Т.е. в этой таблице не существует кортежа, который имел бы 2 значения "Вид_ключ", поэтому мы не сможем найти его через какое-либо условие WHERE. Способов решить это с помощью GROUP BY мне не удалось найти.

Единственное, что я смог придумать - это использовать множество запросов, например,

Запрос 1 - выводит ключи художественных книг:
SELECT КнВид.Кн_ключ FROM КнВид WHERE КнВид.Вид_ключ=1
Запрос 2 - выводит ключи детских книг:
SELECT КнВид.Кн_ключ FROM КнВид WHERE КнВид.Вид_ключ=2
Запрос 3 - выводит ключи детских и художественных книг:
SELECT Запрос1.Кн_ключ FROM Запрос1 INNER JOIN Запрос2 ON Запрос1.Кн_ключ=Запрос2.Кн_ключ

Но! Чтобы по такому принципу определялся источник записей формы, надо или реализовать этот запрос через одну строку, или динамически формировать подзапросы во время работы формы.
Первый вариант, конечно же, исключается, поскольку он невероятно сложен (с учётом того, что число рубрик не ограничено).
Реализовать второй - более реально, для этого надо динамически создавать/изменять запросы базы данных, которые служат источниками данных формы.

Вопрос в том, существуют ли какие-то другие, более простые/правильные способы решения этой задачи?

https://www.sql.ru/forum/1317365/zapros-dlya-vyborki-zapisey-cherez-formu-pri-svyazi-mnogie-ko-mnogim



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