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

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

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

SQL-запрос: как ПРАВИЛЬНО написать запрос с датой?

Четверг, 28 Марта 2019 г. 10:42 + в цитатник
SELECT ФН.Завномер, ФН.ДоКакойДатыДействует, ФН.ДатаУстановки, ФН.Примечание, фр.завномер, фр.IPадрес, магазины.номер, магазины.Название, ФН.ДоКакойДатыДействует
FROM магазины INNER JOIN (фр INNER JOIN ФН ON фр.Код = ФН.НаКакомФрСтоит) ON магазины.Код = фр.вКакомМагазине
WHERE 
         IsNull 
         ( 
            [ФН].[ДатаСнялиФН] 
         )<>False
AND 
      ФН.ДоКакойДатыДействует
   <#01.01.2020#;

Дает ошибку синтаксическую на то, что после WHERE. Изначально было овердофига скобок - упростил до такого вида. Смоделировал на mysql - запрос отрабатывает нормально. На подозрении - только синтаксис даты.
Пробовал и "2020.01.01" и через минусы
Как правильно писать дату?

https://www.sql.ru/forum/1310759/sql-zapros-kak-pravilno-napisat-zapros-s-datoy


Прошу помощи в формировании запроса.

Среда, 27 Марта 2019 г. 16:35 + в цитатник
Что-то голова не варит.
Подкинули задачку.

Есть сводная таблица: покупатель, группа товара, товар, количество

например.
================
Покупатель: Антон

Группа товара: Соки
Товар: яблочный - 2 литра, виноградный - 1 литр, томатный - 3 литра

Группа товара: Крупы
Товар: Гречка - 3 кг, рис - 2 кг, ячка - 1 кг.

и т.д.
=================
Задача.
Для каждого покупателя выбрать по каждой группе наиболее покупаемый товар. Т.е должно получиться
=================
Покупатель: Антон

Группа товара: Соки
Товар: томатный - 3 литра

Группа товара: Крупы
Товар: Гречка - 3 кг,
=================
Я таблицу просто записал немного по другому

Это надо сделать запросами. Помню, что когда-то такое делал, но сейчас никак не могу вспомнить как?


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

https://www.sql.ru/forum/1310725/proshu-pomoshhi-v-formirovanii-zaprosa


InputBox и фокус

Среда, 27 Марта 2019 г. 13:03 + в цитатник
Уважаемый форум,

Может кто-то знает или сталкивался. Проблема тривиальна и очевидное обходное решение есть, но все же хотелось бы услышать мнение экспертов: можно ли каким-то образом принудительно поставить фокус на стандартный InputBox? Проблема в том, что иногда открытый InputBox теряет фокус и пользователь набивает данные на клавиатуре, которые пропадают, пока он сообразит, что нужно кликнуть на поле ввода в открывшемся InputBox-е.

Создавать отдельную форму имитирующую InputBox и ставить на нее фокус просьба не предлагать. Спасибо!

https://www.sql.ru/forum/1310711/inputbox-i-fokus


Как проверить наличие папки в директории?

Вторник, 26 Марта 2019 г. 14:51 + в цитатник
Приветствую всех! В форме есть контрол ВебБраузер, в котором отображается содержимое папки, которая в свою очередь создается процедурой в этой-же форме. При создании новой записи аксесс ругается, что не может найти путь к папке (она еще не создана). Пробовал обрабатывать эту ошибку так, что бы путь был первоначально на [CurrentProject].[Path], не работает
=IIf(IsError([CurrentProject].[Path] & "/" & [Фамилия] & [Код_лица] & "/Фото");[CurrentProject].[Path];[CurrentProject].[Path] & "/" & [Фамилия] & [Код_лица] & "/Фото")

Как можно по другому обработать эту ошибку?

https://www.sql.ru/forum/1310664/kak-proverit-nalichie-papki-v-direktorii


Как сделать что бы поле сразу обновлялось

Вторник, 26 Марта 2019 г. 14:40 + в цитатник
И знова Здравствуйте.

Есть как всегда база в базе есть подчинённое поле OLE в котором картинки.

Проблема: Когда выбираю другой код план-схему поле OLE не обновляется (разу)
Вопрос : Как сделать, что бы когда выбрали нужный код поле OLE сразу обновлялось, а лучше что-бы двигать стрелками "код план схемы" и поле тут же обновлялось.
База прилагается
https://cloud.mail.ru/public/toXb/ETVrLB9PV

https://www.sql.ru/forum/1310663/kak-sdelat-chto-by-pole-srazu-obnovlyalos


ADP-проект, импорт из Excel

Вторник, 26 Марта 2019 г. 13:09 + в цитатник
Здравствуйте!
Посоветуйте, пожалуйста, как загрузить данные из Excel в проект adp
пробую так (ругается на IN)
   CurrentProject.Connection.Execute "INSERT INTO dbl.dbo.tblMain ([datPR], [client], [brand],  [model], [sn], [opis]) " & _
                    "SELECT [Дата приема], 1, 2, [Референс часов], [Серийный номер], [Описание внешнего вида часов при приеме] " & _
                    "FROM [list1$] IN 'C:\LEBED\TESTLebed.xlsx' [Excel 12.0;HDR=YES]"


пробую по другому
    CurrentProject.Connection.Execute "INSERT INTO dbl.dbo.tblMain ([datPR], [model]) " & _
                    "SELECT [datpr], model " & _
                    "FROM OPENROWSET('Microsoft.ACE.OLEDB.12.0','C:\LEBED\TESTLebed.xlsx','select * from [list1$]')"


ругается на провайдера

Как быть?

https://www.sql.ru/forum/1310654/adp-proekt-import-iz-excel


Перенос данных в шаблон Word из подчиненной формы Access

Понедельник, 25 Марта 2019 г. 10:35 + в цитатник
Доброго дня! Прошу помощи в решении задачи - подготовка к печати договоров и допсоглашений к ним по перевозчикам, на основе шаблонов Word. Покопавшись на форуме частично реализовал задачу - а именно вывод данных в шаблон Допсоглашения. Для этого использовал Закладки в Word. С выводом данных с формы в шаблон основного договора, тоже проблем думаю не возникнет, но в процессе создания кода для импорта столкнулся с двумя вопросами:
1) как осуществить перенос из подчиненной формы "Транспортные средства подчиненная форма" (транспортные средства принадлежащие перевозчику и хранящиеся в таблице "Транспортные средства" в шаблон ДОГОВОР_ТЗ
2) как сделать так чтобы выбрав на дополнительной форме "НомераУгод" номер дополнительного договора и дату договора из предлагаемого списка и нажав кнопку "Создать допсоглашения" вывело в папку Word (или подпапку с номером допсоглашения) допсоглашения по всем записям из нужного шаблона (скажем если номер 1 - то из шаблона "Допсоглашение1", а если 5 - то из "Допсоглашение5".

https://www.sql.ru/forum/1310607/perenos-dannyh-v-shablon-word-iz-podchinennoy-formy-access


Как реализовать правильную выборку в Access

Понедельник, 25 Марта 2019 г. 00:29 + в цитатник
Здравствуйте. Подскажите как лучше и с меньшим временем сделать запрос на выборку таблицы "Запросы".

Структура такая:
Код - ключевое поле, счетчик
От - числовое (код пользователя, который пишет запрос)
Кому - числовое (код пользователя, кому пишем)
Запрос - текст запроса
Дата - соответственно дата этого запроса

Нужно сделать такой запрос, который будет возвращать последние запросы пользователя.
Например:
Есть пользователи 1,2,3,4. Они друг другу могут отправлять запросы. Например 1 отправил 2, 3 и 4. В ответ на это 3 и 2 отправил встречный запрос. После этого 1 шлет дополнительно 2-му. Получилось в таблице так:

[ОТ] [КОМУ] [ДАТА]
1 2 11:10
1 3 11:15
1 4 11:20
2 1 11:25
3 1 11:30
1 2 12:00

Теперь надо как-то сделать так, что бы 1 пользователь получил все свои и чужие последние запросы. Я так понял нужно делать выборку по коду пользователя. Но он в двух столбцах сразу.... результат должен быть таким:

[ОТ] [КОМУ] [ДАТА]
1 4 11:20
3 1 11:30
1 2 12:00

Как это сделать? =)

Модератор: Тема перенесена из форума "MySQL".

https://www.sql.ru/forum/1310597/kak-realizovat-pravilnuu-vyborku-v-access


Альтернатива перекрестному запросу

Воскресенье, 24 Марта 2019 г. 23:53 + в цитатник
Здравствуйте. Помогите, пожалуйста, нарисовать форму для решения следующей задачи:
В организации имеется список товаров и несколько складов. Для каждого склада определены нормы остатков товаров. В начале недели склады отправляют информацию о своих остатках на центральный склад. На основании полученных данных, менеджер центрального склада должен распределить имеющийся на центральном складе товар по остальным складам. Для выполнения этой работы менеджеру нужна форма, в которой видно остатки центрального склада, потребности других складов, и возможность указать сколько товара подлежит отгрузке на склады.

Как приблизительно должна выглядеть форма - картинка во вложении.

Для решения задачи реализована следующая структура БД:
Таблицы
Склады (Код: счетчик, Наименование: строка), Ключ: Код
Товары (Код: счетчик, Наименование: строка), Ключ: Код
Нормы (Склад: число, Товар: число, Норма: число), Ключ: Склад+Товар
Остатки (Склад: число, Товар: число, Остаток: число), Ключ: Склад+Товар

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

Для фиксированного количества складов форма, в принципе, работает. Вопрос в том как решить задачу для переменного количества складов? Рисовать "лишние" контролы на форме и показывать только используемые из них не очень хочется. Нет ли какого-нибудь "классического" решения для такой задачи?

По ссылке можно скачать базу с текущей реализацией формы: https://cloud.mail.ru/public/M49r/19tViEvhu

Спасибо за внимание.

https://www.sql.ru/forum/1310596/alternativa-perekrestnomu-zaprosu


Ошибка если форме присвоено значение "Всплывающее окно"

Воскресенье, 24 Марта 2019 г. 22:55 + в цитатник
И снова здравствуйте, как всегда есть форма, открывается она из другой формы (кнопкой).
Так вот проблема в том, что если присвоить форме значение "Всплывающее окно" то она начинает ругаться на VBA код



код прилагаю
Option Compare Database
Option Explicit
Private Sub Form_Current()
Dim strPicFile As String
Dim rs As Recordset
  Set rs = Me.RecordsetClone 'Для дальнейшей работы нужен набор записей
  If IsNull(Me!ID) Then 'Если запись новая, то очищаем картинку на форме
    Me.imgPicture.Picture = ""
  Else
    rs.Bookmark = Me.Bookmark 'Встаём на текущую запись формы
    strPicFile = GetPath(CurrentDb.Name) & "temp.jpg" & Me!PictureType 'Получаем координаты временного файла
    Call WriteBLOB(rs, "Picture", strPicFile) 'Пишем картинку из поля Picture во временный файл
    Me.imgPicture.Picture = strPicFile 'Выводим картинку из этого временного файла в форму
  End If
End Sub

Private Sub btnLoad_Click()
Dim strPicFile As String
Dim strFilter As String
Dim rs As Recordset
    'Зададим параметры и вызовем диалог открытия файла
    strFilter = ahtAddFilterItem(strFilter, "Картинки JPEG", "*.JPG")
    strPicFile = ahtCommonFileOpenSave(Filter:=strFilter, OpenFile:=True, _
                    DialogTitle:="Выберите картинку...", _
                    flags:=ahtOFN_HIDEREADONLY)
    If strPicFile = "" Then Exit Sub 'Если файл не выбран - выходим из процедуры
    Me.txtPictureType = GetExt(strPicFile) 'Расширение файла картинки запомним в поле PictureType
     
                          ругается на строчку ниже, если ей ставлю " ' ", то тогда пишет что "данная запись используется другим пользователем, сохранение не возможно".
                             DoCmd.RunCommand acCmdSaveRecord 'Сохраним запись, что важно, если она новая
    


     Set rs = Me.RecordsetClone 'Для дальнейшей работы нужен набор записей
    rs.Bookmark = Me.Bookmark 'Встаём на текущую запись формы
    rs.Edit
      Call ReadBLOB(strPicFile, rs, "Picture") 'Пишем картинку из файла в поле Picture
    rs.Update
    'Пишем картинку обратно из поля Picture во временный файл в текущем каталоге базы
    Call WriteBLOB(rs, "Picture", GetPath(CurrentDb.Name) & "temp" & GetExt(strPicFile))
    'Выводим картинку из этого временного файла в форму
    Me.imgPicture.Picture = GetPath(CurrentDb.Name) & "temp" & GetExt(strPicFile)

End Sub

Private Sub Кн_Выход_Click()
On Error GoTo Err_Кн_Выход_Click
DoCmd.Close
    Dim stDocName As String
    Dim stLinkCriteria As String
    stDocName = "Данные"
    DoCmd.OpenForm stDocName, , , stLinkCriteria
Exit_Кн_Выход_Click:
    Exit Sub
Err_Кн_Выход_Click:
    MsgBox Err.Description
    Resume Exit_Кн_Выход_Click
End Sub

Все функции прописаны в трёх модулях, если нужны будут то выложу.

https://www.sql.ru/forum/1310595/oshibka-esli-forme-prisvoeno-znachenie-vsplyvaushhee-okno


Квадратик на форме

Суббота, 23 Марта 2019 г. 11:46 + в цитатник
Здравствуйте!

Подскажите пжлст что это такое? Всегда при открытии формы в углу отображается пунктирный квадрат типа ячейки сетки, хотя я сетку скрыл в конструкторе. Что это? как убрать?

https://www.sql.ru/forum/1310571/kvadratik-na-forme


Запрос на выборку по номерам полей.

Суббота, 23 Марта 2019 г. 11:13 + в цитатник
Здравствуйте!

Попробовал поискать, но даже не пойму как вопрос составить. Возможно ли сделать запрос на выборку не указывая конкретные имена полей, а например по маске их наименований, или по номерам (идексам) полей?

Например таблица:
ID
Москва
Тула
Тверь
Калуга

Хочу получить только третье и четвертое, или все, которые начинаются с Т*

Что-то типа CurrentProject.Connection.Execute ("SELECT tmp_ListSellers.Т* from tmp_ListSellers")

Только по голове не бейте))))

https://www.sql.ru/forum/1310570/zapros-na-vyborku-po-nomeram-poley


Как в аксесс 2016 задать в мастере отчета групировку по годам по интервалу в 10 лет?

Суббота, 23 Марта 2019 г. 07:36 + в цитатник
Ну чтобы группировка шла по группам 1910-1920, 1920-1930 и тд.

https://www.sql.ru/forum/1310567/kak-v-aksess-2016-zadat-v-mastere-otcheta-grupirovku-po-godam-po-intervalu-v-10-let


Выпадающий календарик с настраиваимым списком праздников (пример)

Пятница, 22 Марта 2019 г. 14:04 + в цитатник
Ещё одна поделка - календарик с примером.
В новых Access для поля типа Date по умолчанию появляется стандартный календарь в старых такого нет.
Особенность этого - настраиваемые из контекстного меню списки праздничных дней.
Хранятся в таблице.

https://www120.zippyshare.com/v/AEts2Gyh/file.html

PS.
Большой размер базы из-за дополнительных модулей:
- поддержка настраиваемых контекстных меню (clsContextMenu, clsContextMenuControl);
- групповой обработки событий для контролов (clsControlEventsTransfer, clsRelay);
- плавающих кнопок (clsFloatButton)
- и, - основная масса за счет набора модулей для использования картинок на контролах (в данном случае используются для вывода иконок в контекстное меню).
Дергаю из своих проектов - старался максимально обрезать всё, что непосредственно не нужно для работы примера, но без фанатизма поэтому наверняка осталось много "лишнего" кода.

PS. PS. как и ранее для тех кому это может быть нужно|интересно.

https://www.sql.ru/forum/1310541/vypadaushhiy-kalendarik-s-nastraivaimym-spiskom-prazdnikov-primer


Поиск наиболее повторяющейся записи

Четверг, 21 Марта 2019 г. 15:25 + в цитатник
Здравствуйте! У меня такая проблема: мне нужно выявить самую повторяющуюся запись в столбце Страна прибытия. Можно ли это сделать с помощью sql-запроса? Конкретный пример: создал базу данных турагентство и хочу сдалась запрос и по итогу получить отчёт в форме (приложил картинку)
Буду благодарен за любую помощь ))

https://www.sql.ru/forum/1310485/poisk-naibolee-povtoryaushheysya-zapisi


Отсутствуют даты

Четверг, 21 Марта 2019 г. 15:16 + в цитатник
Здравствуйте.
Есть база в Access. В ней есть таблицы-регистры, где я пишу изменение во времени той или иной переменной.
Например, переменная "Фамилия" может иметь значение "Петрова" с даты рождения человека Петровой и до даты вступления в брак. Затем заводится новая строка и в ней переменная "Фамилия" имеет значение "Иванова" с даты вступления в брак и пока бессрочно (если не разведется и не сменит фамилию обратно).
Проблема в том, что эти даты не всегда известны. Например, я не всегда знаю, когда кто вступил в брак, а иногда и дату рождения не знаю. И тогда там две строки, одна с фамилией "Петрова", другая с "Иванова", но обе строчки дефектные, например есть только дата начала или только дата окончания.

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

Что бы вы мне посоветовали? Я могу пустую дату окончания программно заменять на текущую дату. Но дату начала чем заменить?

Буду признательна, если ответите

https://www.sql.ru/forum/1310484/otsutstvuut-daty


Загрузка картинки из таблицы в контрол (пример)

Четверг, 21 Марта 2019 г. 11:19 + в цитатник
Собственно сабж.
Используется слегка модифицированный класс c32bppDIB By LaVolpe (from psc cd) http://www.planet-source-code.com/vb/scripts/ShowCode.asp?txtCodeId=67466&lngWId=1
с некоторыми доработками под Access.
преобразование в EMF по методу Бенедикт https://www.sql.ru/forum/348182-a/primer-jpeg-gif-iz-long-binary-polya-v-image-bez-kopirovaniya-vo-vremennyy-fayl?hl=createenhmetafile
плюс немного творчества от себя для упрощения работы со всем этим.
корявости в коде много, но вполне юзабельно.

Пример содержит форму демонстрирующую возможности:
загрузка/выгрузка файла изображения в таблицу для последующего использования,
вывод данных из таблицы на контролы типа Access.CommandButton и Access.Image
и некоторые дополнительные возможности последующей работы с загруженным изображением (добавление текста, повороты, т.п.)
поддерживает альфаканал, PNG и ICO файлы

приложить файл не удалось из-за размера (0.78 MB - пример содержит картинки)
выложил здесь: https://www63.zippyshare.com/v/JClsKWKR/file.html

https://www.sql.ru/forum/1310471/zagruzka-kartinki-iz-tablicy-v-kontrol-primer


Вопрос по передаче значений переменных из одной подпрограммы в другую ?

Среда, 20 Марта 2019 г. 10:27 + в цитатник
Добрый день!
Подскажите по вопросу передачи значений переменных из одной подпрограммы в другую.

Открываю Excel книгу(думаю почти не важно, что открывать) и присваиваю переменной FN_PRG имя открытой книги оператором FN_PRG = Application.ActiveWorkbook.Name
Отладчик показывает, что имя присвоено и все ОК.

Далее пытаюсь использовать переменную FN_PRG в другой подпрограмме, но переменная уже видится как пустая строка" " - Empty
Пробовал разные варианты - определял переменную в основном модуле или в процедуре открытия...
Результат везде отрицательный.
Подпрограммы определены как Public и по идее видимость переменной обеспечена...

Подскажите в чем может быть дело?
Как передавать значения переменных из подпрограммы в другие подпрограммы?
Спасибо!

Public Sub WorkBook_Open()
Dim FN_PRG As String
FN_PRG = Application.ActiveWorkbook.Name
Debug.Print "ИМЯ КНИГИ при открытии- "; FN_PRG
UserForm1.Show
End Sub

Public Sub ConnectExcel()
Debug.Print "FN_PRG в подпрограмме Connect- "; FN_PRG
' Здесь переменная FN_PRG уже пустая строка
' И соответственно использовать ее уже по назначению невозможно
End Sub

https://www.sql.ru/forum/1310410/vopros-po-peredache-znacheniy-peremennyh-iz-odnoy-podprogrammy-v-druguu


Уникальное значение по двум полям

Среда, 20 Марта 2019 г. 02:26 + в цитатник
Скажите, а как сделать в таблице уникальное поле из двух полей? И при этом должен быть и инкрементный ключ.
Сейчас в таблице 3 поля:
ID, FileID, SheetID

ID ключевое, а вот по FileID и SheetID - необходимы уникальные значения.
т.е. записи
1, 1, 1
2, 1, 1
не должны присутствовать,
а вот,
1, 1, 1
2, 1, 2
имеют право, они уникальные.

https://www.sql.ru/forum/1310401/unikalnoe-znachenie-po-dvum-polyam


Сравнение двух интервалов дат

Среда, 20 Марта 2019 г. 00:24 + в цитатник
Добрый час! Уважаемы коллеги! Прошу помочь ...

1. Есть Группы обучаемых, к примеру №100, у нее есть дата начала и конца обучения
2. Есть Помещения, к примеру № 123, у них есть даты начала и конца занятости

Мне необходимо определять помещения группам и при этом мне нужно понимать занято ли в этот момент данное помещение исходя из его сроков занятости или нет ... те по сути мне надо понять соответствуют или не соответствуют друг другу указанные интервалы дат?

https://www.sql.ru/forum/1310400/sravnenie-dvuh-intervalov-dat



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