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

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

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

Запрос с UNION внутри таблицы

Вторник, 03 Января 2017 г. 21:50 + в цитатник
Всем добрый вечер!

Есть таблица Clients с тремя полями User, Contact - числовые, DT -дата/время

пример:
User   Contact         DT
51 112 05/10/2013
52 112 18/10/2013
87 11 19/10/2010
112 51 21/10/2011
112 51 21/10/2011
112 52 22/10/2011
112 52 23/10/2011
118 56 23/10/2011
230 59 24/10/2012

Из таблицы нужно вычленить подмножество совпадающих пар User/Contact и Contact/User причем нужно отобрать записи с максимальной датой. Например, первое подмножество объединяет записи где User=51, Contact=112 и User=112, Contact=51
причем запрос должен отобрать из этого подмножества запись с максимальной датой:
User          Contact     DT
51 112 05/10/2013
и так нужно выбрать все подмножества совпадающих пар с максимальной датой.

Составил следующий запрос, который вроде как выбирает совпадающие пары:

SELECT Clients.*
FROM Clients INNER JOIN Clients AS Clients_1 ON (Clients.Contact = Clients_1.User) AND (Clients.User = Clients_1.Contact)

UNION SELECT Clients_1.*
FROM Clients INNER JOIN Clients AS Clients_1 ON (Clients.Contact = Clients_1.User) AND (Clients.User = Clients_1.Contact)
ORDER BY Clients.User, Clients.Contact, Clients.DT;

но вот задать фильтрацию по дате пока не получается :(

Прошу Вашей помощи, подскажите как такое можно реализовать?

http://www.sql.ru/forum/1244833/zapros-s-union-vnutri-tablicy


Как удалить повторяющиеся данные в Microsoft Access

Вторник, 03 Января 2017 г. 13:03 + в цитатник
Всем привет. Есть примерно 6 миллионов записей в БД. Я нашел дубли. Но теперь вопрос как их удалить в ручную не вариант их там около 2 миллионов дублей. Да уникального ключа нет

http://www.sql.ru/forum/1244787/kak-udalit-povtoryaushhiesya-dannye-v-microsoft-access


Генерация из твух таблиц - итоговой

Пятница, 30 Декабря 2016 г. 09:45 + в цитатник
Добрый день, опыта работы особого с БД нет, но хочу оптимизировать свою работу (снизить количество ошибок – сейчас работаем в Exel) по обучению персонала.

Поэтому прошу помочь в следующем:
Текущая ситуация с БД:
1. Создана таблица «Список сотрудников» где указана вся информация: табельный номер, Фамилия, Имя, Отчество, должность, отдел;
2. Создана таблица «Должности»;
3. Создан запрос для генерации списка должностей. Он нужен для того, чтобы в таблицу «Список курсов» можно было выбирать несколько должностей из выпадающего списка
4. Создана таблица «Список курсов» где указано: код курса, название курса, вид курса, список должностей кому необходим данный курс.

Что мне надо сделать:
1. Автоматически генерировать таблицу где будет указано: в строке код курса, в столбце ФИО сотрудника, на пересечении дата прохождения обучения. Необходимо, чтобы обновлялись поля по количеству курсов и списку сотрудников, но даты прохождения обучения оставались неизменным: изменение даты только вручную.
2. Автоматически генерировать таблицу где в строке будет указано: табельный №, ФИО сотрудника; в столбце будет указан код курса – на пересечении строки и столбца будет стоять дата прохождения обучения (дата будет вводиться вручную). То есть нам необходимо, чтобы эта таблица один раз создалась и обновляла поля списка курсов и списка сотрудников. У нас получилось сделать запрос, который генерирует такую таблицу, но сначала удаляет старую таблицу, где указаны даты прохождения обучения сотрудников

Прошу помочь или скинуть пример, где это указано
Это делается с помощью формы?
Ссылка на БД:
https://yadi.sk/d/KW3FkQSp35tGzn

http://www.sql.ru/forum/1244567/generaciya-iz-tvuh-tablic-itogovoy


преобразование макроса в код VBA

Четверг, 29 Декабря 2016 г. 12:03 + в цитатник
Добрый день.
Возможно дурацкий вопрос, но не работает функция преобразования макроса в код VBA.
При попытке преобразования макроса появляется сообщение "Ошибка при открытии макроса [внедренный макрос], продолжить?". Жму "Продолжить", сообщение "Преобразование закончено" и ничего не преобразовывается.
C чем может быть связано? Access 2010 установлен полностью, со всеми добавками, мастерами и прочим.

http://www.sql.ru/forum/1244458/preobrazovanie-makrosa-v-kod-vba


ScaleMode=vbPixels --> ScaleWidth as Single???

Четверг, 29 Декабря 2016 г. 04:17 + в цитатник
Вот я решил отползти от этих гребанных твипсов и считать все в пикселях. Да и задача - про пиксели. Т.е. - все целое. Мои переменные - As Long. Использую явное приведение CLng().

Но...
.. малехо ссыкотно - практики нет, как ведет оно себя наживую?

Наставил проверок море:

If fn_ChkFrc(.ScaleWidth) Then Stop

Private Function fn_ChkFrc(pVal As Variant) As Boolean ' chk fractional value
    fn_ChkFrc = ((pVal - Int(pVal)) > 0)
End Function

Не сработали ни разу. Да и не должны бы, по уму-то...
Надо сдавать на продакшн. Но... - ссыкотно...

Если кто руками долго трогал сей предмет, поделитесь, плз...
.

http://www.sql.ru/forum/1244430/scalemode-vbpixels-scalewidth-as-single


Експорт изображения

Вторник, 27 Декабря 2016 г. 03:22 + в цитатник
Всем доброй ночи. Пытаюсь вытащить фаил жпг из таблицы. Задача состаит чтоб показать изображение на форме. Дошол до того что нужно сохранить фаил на диске и после прилинковать к пикчер боксу. Делаю седушее
Private Sub Command4_Click()
 Dim rs As DAO.Recordset
 Dim Buffer() As Byte
 Dim nFile As Integer
 Set rs = CurrentDb.OpenRecordset("image", DAO.dbOpenDynaset, dbSeeChanges)
 rs.FindFirst "id=" & 4
 If Not rs.NoMatch Then
    Path = Trim$(Path)
    If Len(Path) = 0 Then
       Path = Left$(CurrentDb.Name, InStrRev(CurrentDb.Name, "\"))
    ElseIf InStr("\:", Right$(Path, 1)) = 0 Then
       Path = Path & "\"
    End If
    Path = "D:\Projects\magaziis programa iveri\img\img_resize\10.jpg"
    nFile = FreeFile()
    Open Path For Output Access Write Lock Write As #nFile
    Close #nFile
    Open Path For Binary Access Write Lock Write As #nFile
    Buffer = rs("photo")

    Close #nFile
    Erase Buffer
 End If
 Set rs = Nothing

 End Sub


Можете помочь закончить код.. Ану или куда деваутся сохранённый фаил или осюда как показать в пикчербокс.
Заранее всем Спасибо

http://www.sql.ru/forum/1244183/eksport-izobrazheniya


1. Переход из одной подчиненной в другую подчиненную обязательно в поле1. И еще.

Вторник, 27 Декабря 2016 г. 00:01 + в цитатник
Пытаюсь при нажатии кнопки в подчиненной форме перейти в соседнюю подчиненную форму именно в поле1.
Сейчас получается только так, что переход осуществляется на последний активный контрол в соседней формы.

Но самое главное, что хотелось бы сделать - это следующее:
курсор установлен в поле1 подформы "таблица1". и если я мышкой устанавливаю курсор в соседней форме, то есть при потере фокуса в подформе "таблица1" я должен получать сообщение, что поле не заполнено и фокус должен возвращаться в поле1. И так пока в поле1 не будет введено значение.

Спасибо заранее

http://www.sql.ru/forum/1244181/1-perehod-iz-odnoy-podchinennoy-v-druguu-podchinennuu-obyazatelno-v-pole1-i-eshhe


Калькуляция изделия

Понедельник, 26 Декабря 2016 г. 14:48 + в цитатник
Здравствуйте, помогите, пожалуйста, реализовать калькуляцию изделия в access. В программе новичок, поэтому к Вам, господа!

Есть таблица 1. приход материалов, где указаны дата, ед.изм, кол-во, цена
Есть таблица 2. состав изделия, где указаны материалы и их кол-во

Как сделать так, чтобы в запросе к таблице 2 с составом изделия выводилась последняя цена из таблица 1 нужного материала?

http://www.sql.ru/forum/1244109/kalkulyaciya-izdeliya


Как узнать открыта ли книга Excel

Воскресенье, 25 Декабря 2016 г. 17:50 + в цитатник
При попытке открыть книгу Excel из кода в программе access

Set xlBook = xl.Workbooks.Open(Patch_Copy_JKH & GLB_Personal_Account & ".xls")
Set xlSheet = xl.Worksheets("Чек")
xlSheet.Activate
xl.Application.Visible = False


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

Как проверить - стоит ли открывать книгу, или она уже открыта.
И если она уже открыта, то правомерны ли будут манипуляции с книгой ?

--------------------------------------------------------------------------
СПС

http://www.sql.ru/forum/1244026/kak-uznat-otkryta-li-kniga-excel


Спроецировать связь между таблицами, как в исходной

Воскресенье, 25 Декабря 2016 г. 14:58 + в цитатник
Дано таблица GeneralTable
id Field1 Field2 Field3
1 а аа ааа
2 б бб ббб
3 сс ввв
4 г аа ггг
5 гг ддд
6 а сс еее

Таблица Table1 - это выведенные в отдельную таблицу уникальные значения поля Field1
id Field1
1 а
2 б
3 г

Таблица Table2 - это выведенные в отдельную таблицу уникальные значения поля Field2
id Field2
1 аа
2 бб
3 сс
4 гг

еще N таблиц, которые являются выведенными в отдельные таблицы уникальные значения полей Field3 и т.д., но пока их не надо рассматривать

Я хочу получить, для начала, таблицу/представление с такими данными
Field1 Field2
а аа
б бб
г аа
а сс

Т.е. получается связь между таблицами Table1 и Table2 многие ко многим. Проблема заключается с внешними ключами, как их друг другу передать? Я не хочу использовать в качестве связующей таблицы связи многие ко многим исходную таблицу GeneralTable, т.к. она избыточна. Хочу получить такой вид представления путем запросов.

http://www.sql.ru/forum/1244013/sproecirovat-svyaz-mezhdu-tablicami-kak-v-ishodnoy


Сохранение данных в таблицу, вводимых через поля формы

Воскресенье, 25 Декабря 2016 г. 13:41 + в цитатник
Коллеги, прошу помочь разобраться со следующей ситуацией.
Как написать процедуры обработки событий для объектов "поле" в форме, чтобы после ввода значения в поле и потери текущим полем фокуса, введенное в данное поле значение сразу записывалось в соответствующее поле соответствующей таблицы?
Объясню зачем это надо. Есть форма "ДОГОВОРЫ", которая в виде подчиненной формы отображает таблицу "ОБЪЕКТЫ РЕМОНТА". В свою очередь данные в таблицу "ОБЪЕКТЫ РЕМОНТА" вносятся через соответствующую форму, открываемую кнопкой с формы "ДОГОВОРЫ". Хочется сделать так, чтобы внесенные в таблицу "ОБЪЕКТЫ РЕМОНТА" записи сразу отображались в открытой форме "ДОГОВОРЫ".

http://www.sql.ru/forum/1244005/sohranenie-dannyh-v-tablicu-vvodimyh-cherez-polya-formy


Выборка для системы контроля доступа

Суббота, 24 Декабря 2016 г. 20:16 + в цитатник
Привет всем пожалуйста помогите с запросом, есть 2 таблицы, сотрудники с колонками(id,фио) и проходы турникета(дата, время, фио, тип события(вход,выход)), нужно выбрать все записи за определенный промежуток времени где количество входов не равно количеству выходов

http://www.sql.ru/forum/1243960/vyborka-dlya-sistemy-kontrolya-dostupa


Работа с POP3 непосредственно

Суббота, 24 Декабря 2016 г. 20:08 + в цитатник
никто не делал такое? - процедура удаления всех писем в почтовом ящике (например mail.ru) старше 30 дней (например) - без их чтения и загрузки (не глядя) и без почтовых программ - напрямую... что-то типа (схематично):
pop.Сonnect;
Перебор Входящие; -> Если Date() - [Дата письма] > 30 Then pop.Delete(i);
pop.Disconnect;

http://www.sql.ru/forum/1243959/rabota-s-pop3-neposredstvenno


Объект открываемый в project explorer по умолчанию

Суббота, 24 Декабря 2016 г. 13:09 + в цитатник
Как изменить открываемый по умолчанию при нажатии кнопки Visual Basic "объект". Каждый раз в project explorer переходить на нужный надоело, по теме ничего не нашел. Спасибо.

http://www.sql.ru/forum/1243926/obekt-otkryvaemyy-v-project-explorer-po-umolchaniu


Access перестал обрабатывать "макросы" VBA

Пятница, 23 Декабря 2016 г. 09:36 + в цитатник
"Встроенные" макросы работают (форма Test кнопка bttnOpenForm), а вот те что на VBA нет (форма frmMain кнопка bttnAddRecord1).

В чем проблема?

http://www.sql.ru/forum/1243786/access-perestal-obrabatyvat-makrosy-vba


Добавить запись в таблицу по нажатию кнопки кнопки

Пятница, 23 Декабря 2016 г. 08:12 + в цитатник
На кнопку "повешал" обработчик
Private Sub bttnOK_Click()
    Dim rstCurr As DAO.Recordset
    Dim dbsCurr As Database
    
    Set dbsCurr = Access.CurrentDb
    Set rstCurr = dbsCurr.OpenRecordset("tblSecond", dbOpenDynaset)
    
    rstCurr.AddNew
    rstCurr.Fields("record1_text").Value = fldRecord.Text
    rstCurr.Update
End Sub

Но так и не хочет добавлять запись в таблицу, говорит что ошибка 2185 в строке
rstCurr.Fields("record1_text").Value = fldRecord.Text

В чем проблема? (Форма для добавления записи frmAddRecords)

http://www.sql.ru/forum/1243780/dobavit-zapis-v-tablicu-po-nazhatiu-knopki-knopki


Изменить источник данных в сводной таблице без ее обнуления

Пятница, 23 Декабря 2016 г. 00:57 + в цитатник
Как можно изменить источник данных в сводной таблице (access 2010) программно, но при этом чтобы таблица не обнулилась.
Пробую делать так: Me.Form.[подчиненнаясводнаятаблица].Form.RecordSource = "нужныйисточник"
Но сводная таблица после этого становится пустой.
Сразу скажу, источники имеют одинаковые поля и структуру. Различные лишь условия.
И если я изменяю в форме со сводной таблицей источник данных вручную, то ничего не сбрасывается и я вижу нужные данные.

Как решить проблему?

http://www.sql.ru/forum/1243764/izmenit-istochnik-dannyh-v-svodnoy-tablice-bez-ee-obnuleniya


замена значения по умолчанию числового поля с 0 на null

Четверг, 22 Декабря 2016 г. 20:47 + в цитатник
при создании числового поля в значении по умолчанию почему-то всегда стоит 0. Версия офиса 2016. ((По-моему, во младших версиях такого не было (исправьте меня, если я ошибаюсь)). Мне надоело каждый раз менять. (Непонятно, зачем решать за пользователя, какое значение ставить). Как убрать этот 0?

http://www.sql.ru/forum/1243747/zamena-znacheniya-po-umolchaniu-chislovogo-polya-s-0-na-null


Асинхронный запрос к серверу

Четверг, 22 Декабря 2016 г. 20:13 + в цитатник
Нужен совет знатоков, идея, ссылка.
Как запустить асинхронный запрос, который не возвращает записи, а скажем запускает хранимую процедуру на серверу мне известно. Но как запустить асинхронно запрос, возвращающий некие данные, да ещё таким образом, чтобы в случае чего пользователь мог бы прервать запрос?

Биллинг крутиться на ORACLE 11g. Таблицы на сервере огромные (есть и такие, где больше 100 млн. записей). Поэтому многие запросы работают очень и очень медленно (бывает и больше часа).
Что я сделал?
В отдельной таблице храню тексты запросов. По нажатию кнопки открывается форма, куда пользователь вводит нужные ему параметры и после нажатия кнопки, программа находит нужный SQL текст запроса из той таблицы, подставляет нужные параметры и запускает запрос к серверу. Вот тут у меня самое узкое место. Бывает, что пользователь ошибся с параметром и хочет перезапустить запрос. Но не тут то было! Никакой Break, Ctrl + Break и долгое удержание Esc не помогает. Только и только убить через task manager и звонок администратору базы Oracle, чтобы тот удалил висячую сессию.
И самое ужасное пока крутиться запрос в Access'е нечего делать, только курить и плевать в потолок.
Прочёл несколько топиков, где советуют использовать ADODB асинхронно. ОК. Не вопрос, ADO значит ADO. Но вот не могу врубиться, как потом результат вывести пользователю и как поджидать нужное время когда запрос будет готов?
Создавать временные таблицы с тем, чтобы полученные данные хранить там - не вариант. Дело в том, что в Oracle нет временных таблиц, на самом деле все таблицы постоянные, их не создают "на лету". Да и для этого нужно быть админом в Oracle. А я всего лишь "читатель" там. :(

Сейчас пытаюсь реализовать вот такую идею:
1) В MS Access создаю глобальную переменную с типом данных ADODB.Recordset
2) После нажатия кнопки программа не запускает запрос к серверу, а запускает VB скрипт, который и будет коннектиться к серверу ORACLE (правда придётся переспрашивать у пользователя логин и пароль), использует именно ту глобальную переменную рекордсет и попробует асинхронно получить данные и на этом работа VB скрипта заканчивается.
3) Таймером формы проверяю состояние рекордсета. Если набор записей готов, то как-нибудь нужно пользователю передать в виде таблицы.
Тут ещё и такой момент реализовать надо. Если пользователь передумал, то как-то всё нужно прекратить. Ну уберу таймер. Рекордсет приравняю на "ничего" (Nothing).
Пока не всё гладко получается. Многовато ошибок, да и работает нестабильно.

Может кто столкнулся с такой проблемой и решил как-то получше?

http://www.sql.ru/forum/1243740/asinhronnyy-zapros-k-serveru


создании формы с источником из перекрестного запроса Access 2010

Четверг, 22 Декабря 2016 г. 12:41 + в цитатник
добрый день.
Прошу помощи в создании формы с источником из перекрестного запроса, в котором к сожалению не фигурирует уникальный идентификатор, а мне нужно именно из него вызывать др.форму для редактирования. Как это можно сделать?
т.е. имеем таблицу:


дата зал1 зал2 зал3 зал4

12/12/16 заказ заказ бронь резерв
13/12/16 бронь отказ
15/12/16 заказ заказ заказ
22/12/16 бронь резерв заказ

так вот, 2 раза ткнув мышью по значению (к примеру "бронь") у меня должна открыться карточка данного заказа.
почему именно такая таблица - потому что так очень наглядно и требование было получить визуально похожую на календарь форму
кто-то может подсказать? или есть иные варианты решения?

http://www.sql.ru/forum/1243654/sozdanii-formy-s-istochnikom-iz-perekrestnogo-zaprosa-access-2010



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