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

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

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

Как выбрать все значения в списке

Понедельник, 27 Июня 2016 г. 13:58 + в цитатник
Приветствую, в форме есть список, как в нем по кнопке выбрать все записи?

http://www.sql.ru/forum/1220006/kak-vybrat-vse-znacheniya-v-spiske


Обращение к элементам формы из макроса БЕЗ VBA

Понедельник, 27 Июня 2016 г. 13:24 + в цитатник
На форме есть поле со списком (заполняется из таблицы) и пустой список. Как вставить в запрос данных, которые выбираются в поле_со_списком и вывести его в список? БЕЗ VBA!
Что то типа "SELECT ФИО FROM СТУДЕНТЫ WHERE GROUPID=ПолеСоСписком.Значение;"

http://www.sql.ru/forum/1220002/obrashhenie-k-elementam-formy-iz-makrosa-bez-vba


Вопрос про повторяющиеся записи

Понедельник, 27 Июня 2016 г. 13:16 + в цитатник
USE worktime
DECLARE @from datetime
DECLARE @to datetime
DECLARE @CheckNumber datetime
SELECT @from='2016-06-22 00:00:01.000',@to='2016-06-22 23:59:59.000',@CheckNumber=215
SELECT distinct
p.[Name],
me.EventTime ,
me.CheckNumber ,
me.TabelNumber ,
case when cc.isOut=0 THEN 'Вход' ELSE 'Выход'END,
cp.NameCheckPoint,
is1.[Description]
FROM _MoveEvent me WITH (NOLOCK)
INNER JOIN _Person p WITH (NOLOCK) ON p.TabelNumber=me.TabelNumber
INNER JOIN _Regulation r WITH (NOLOCK) ON r.UIDStaff=p.UIDStaff and r.StartDate<=@from
INNER JOIN _CheckPointContent cc WITH (NOLOCK) ON me.CheckNumber=cc.NumberCheck
INNER JOIN _CheckPoint cp WITH (NOLOCK) ON cc.IDCheckPoint=cp.ID
INNER JOIN _GroupPointContent gpc WITH (NOLOCK) ON gpc.NameCheckPoint=cp.NameCheckPoint
INNER JOIN _InterbaseSource is1 WITH (NOLOCK) ON cp.IDInterbaseSource=is1.ID AND me.IDInterbaseSource=is1.id
WHERE
me.EventTime BETWEEN @from AND @to
--AND me.CheckNumber in (9, 18, 19, 20, 31, 42, 53, 64, 75, 79, 86, 92, 97, 105, 118, 131, 144, 164, 177, 270, 278, 281, 289, 313, 314, 324, 331, 342, 360, 371, 412, 423, 440, 465, 468, 476, 633, 644, 681, 692, 703, 816, 827, 1059, 1070, 1332, 1438, 1449, 1489, 1500, 1636, 1647, 1677, 1688, 1795, 1806, 1817, 1828, 1839, 1850, 1861, 1973, 1988, 1999, 2066, 2077, 2087, 2091, 2098, 2102, 2119, 2130, 2141, 2152, 2234, 2289, 2300, 2355, 2366, 2471, 2482, 2498, 2773, 2784, 3028, 3039, 3076, 3087, 3190, 3201, 3375, 3397, 3664, 3675, 3827, 4148, 4159, 4253, 4264, 4276, 4287, 4298, 4309, 4320, 4331, 4342, 4353, 4364, 4375, 4386, 4397, 4408, 4419, 4420, 4430, 4431, 4441, 4452, 4463, 4474, 4485, 4496, 4507, 4518, 4529, 4562, 4573, 4584, 4595, 4606, 4617, 4628, 4639, 4672, 4694, 4716, 4727, 4738, 4749, 4705, 4683, 4782, 4793, 5676, 5687, 5698, 5709, 5720, 5731, 5742, 5753, 7859, 7826, 7837, 9785, 9796, 10317, 10328, 10374, 10385, 10894, 10905, 12507, 12518, 13024, 13035, 13046, 13057)
--AND me.CheckNumber in (5817)
--AND p.[Path] LIKE '\ВВ\%'
and me.TabelNumber in (1020576)


Такой вопрос как сделать так чтобы Вход был в одной колонке а Выход в другой
Такой еще вопрос как сделать чтобы в списке был только первый вход и последний выход сотрудника за день, а не все его движения за целый день

http://www.sql.ru/forum/1219999/vopros-pro-povtoryaushhiesya-zapisi


Посоветуйте варианты прогрессбаров

Понедельник, 27 Июня 2016 г. 10:06 + в цитатник
Загружаю EXCEL файл в базу, там десятки тысяч записей.
Нужно скрасить ожидание пользователя.
Пробовал в поле выводить количество записей, но в какой-то момент вывод замораживается...
мне - не понятно почему...
--------------------------------------------------------------------------
СПС

http://www.sql.ru/forum/1219970/posovetuyte-varianty-progressbarov


проверка открытия файла

Воскресенье, 26 Июня 2016 г. 09:56 + в цитатник
Добрый день! Необходимо проверить, открыт ли файл access. Если проверять по наличию файла блокировки, то иногда бывают
случаи что файл блокировки после закрытия не удаляется.

Вот нашел другой пример проверки, как думаете, насколько он хорош?
Может есть другие способы решить эту проблему?

Sub GlosFileAc() 'проверка
Dim lngChanel As Long
On Error Resume Next
    lngChanel = DDEInitiate("Microsoft Access", "C:\dbdb.mdb")
    If Err.Number = 0 Then
        MsgBox "файл открыт"
    Else
        MsgBox "файл закрыт"
    End If
End Sub

http://www.sql.ru/forum/1219883/proverka-otkrytiya-fayla


Выборка без учета столбца

Суббота, 25 Июня 2016 г. 20:07 + в цитатник
Добрый день, помогите пожалуйста. Уже какой день бьюсь над запросом. Есть таблица, в ней 3 столбца. Нужно выполнить группировку таким образом, чтобы у каждого персонажа отображалась максимальная стихия, при этом не указывалось их количество (видно 2 столбца из 3ех) Пробовал по-разному, но ничего не выходит. Надеюсь кто нибудь посоветует что то дельное.
Сама таблица:
Картинка с другого сайта.

http://www.sql.ru/forum/1219844/vyborka-bez-ucheta-stolbca


Локальная работа под Windows Server

Суббота, 25 Июня 2016 г. 13:06 + в цитатник
Доброго времени суток.
Помогите разобраться.
Дано: база на Access 2010. База разделена (данные+клиент). На каком-то этапе база стала медленно работать - поиск в основной форме стал работать 20 секунд (а это наиболее востребованная функция).
Механизм поиска и ошибки в коде не принципиальны так-как:
При запуске на локальном компе под Windows 10 (i5+6RAM) поиск занимает от 1 до 3 сек
При запуске на локальном компе под Windows Server (i3+6RAM) поиск занимает 2 до 5 сек
При запуске на сервере (двухпроцессорный Xeon+16RAM) поиск занимает от 8 до 20 (иногда и более) сек.

Подскажите в какую сторону копать. Спасибо

http://www.sql.ru/forum/1219811/lokalnaya-rabota-pod-windows-server


Вопрос специалистам по написанию запрос/макроса по сравнению данных

Пятница, 24 Июня 2016 г. 14:33 + в цитатник
Есть 3 таблицы
ТС
ДУЗ
УРВ

Нужно написать запрос/макрос для сравнения

ДУЗ - В таблице имеется данные входа и выхода а также учетная запись
ТС - уникальный номер сотрудника и учетная запись
УРВ - Данные об отметках на тех или иных объектах

Для того чтобы сравнить данные ДУЗ с данными УРВ необходимо присоединить таблицу ТС к ДУЗ для того чтобы по полям TabelNumber и logdate сделать сравнение с таблицей УРВ полями TabelNumber и EventDate на предмет соответствия.

После сравнения нужен результат в котором будут отражены записи из таблицы ДУЗ которых нет в таблице УРВ.

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

Пример привел в файле

http://www.sql.ru/forum/1219676/vopros-specialistam-po-napisaniu-zapros-makrosa-po-sravneniu-dannyh


Как отменить событие mouse click datagridview

Пятница, 24 Июня 2016 г. 11:58 + в цитатник
Доброго всем дня!
У меня возникла проблема с обработкой события мыши.
Дело в том, что сделал свой cells DataGridViewTextButtomCell : DataGridViewTextBoxCell ,
В этом контроле мне по определенным координатам мыши в функции ниже надо прервать глобальное выполнение MouseClick.

protected override void OnMouseClick(DataGridViewCellMouseEventArgs e)
{

if ((this.DataGridView.GetCellDisplayRectangle(this.ColumnIndex, this.RowIndex, false).Width - 20) > e.X)
{
прерывание
}
else
{
base.OnMouseClick(e);

}

}
На сколько я понимаю, делегирование идет от DataGridView -> DataGridViewCell.
По сути я хочу чтобы прерывание события было именно в DataGridViewCell, чтобы не нагружать кодом DataGridView.

Если кто знает подскажите пожалуйста как изменить делегирование?


как вариант пробовал
FieldInfo eventClickField = typeof(Control).GetField("EventClick", BindingFlags.Public | BindingFlags.Instance);
EventHandler eventClick = (EventHandler)eventClickField.GetValue((Control)this.DataGridView);
this.DataGridView.Click -= (EventHandler)eventClick;

eventClickField всегда показывает null.
Не понятно в каком месте код надо прописывать? В Form? DataGridView?

также пробовал
EventDescriptor ed = TypeDescriptor.GetEvents(this.DataGridView).Find("CellMouseClick",true);
Delegate delegateT = Delegate.CreateDelegate(typeof(EventHandler), this.DataGridView, "DataGridAlex_CellMouseClick");
if(ed!=null)
ed.RemoveEventHandler(this.DataGridView, delegateT);
на второй строке вызывает исключение
Additional information: Не удается привязать целевой метод, поскольку его сигнатура или прозрачность безопасности несовместима с сигнатурой или прозрачностью безопасности типа делегата.

В этом случае как можно снять исключение?

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

http://www.sql.ru/forum/1219649/kak-otmenit-sobytie-mouse-click-datagridview


Access 2003 импорт из Excel 2010

Четверг, 23 Июня 2016 г. 22:22 + в цитатник
Задача импортировать данные из файла List.xlsx
На компе установлен Access 2003 и не установлен Excel2010/
Помогите примером - как можно наладить импорт данных с листа Excel в таблицу Access 2003.
--------------------------------------------------------------------------
СПС

http://www.sql.ru/forum/1219560/access-2003-import-iz-excel-2010


Вызов Listbox из макроса и выбор значения

Четверг, 23 Июня 2016 г. 20:20 + в цитатник
Господа, проблема следующая:

Дано

1)База Access,в одной из таблиц которой каждый месяц забивается информация о продажах.
2)Запрос, который выдаёт все наличиствующие даты в БД
3)Форма с ListBox-ом, к которой привязан запрос.

Нужно:
Запустить форму из макроса и передать на переменную выбранное значение

Код

Sub xyz()

Dim frm as Form
Dim ctr as Listbox
Sim dtmSelected as Date

DoCmd.openframe "frm_Data"

set frm=Form!frm_Data
set ctr=frm!ListData


dtmSelected=ctr

End Sub


Суть проблемы: аксес не даёт возможности выбрать значение из списка.

http://www.sql.ru/forum/1219550/vyzov-listbox-iz-makrosa-i-vybor-znacheniya


итоговое поле сумма в отчете для самой укрупненной группировки

Четверг, 23 Июня 2016 г. 17:45 + в цитатник
Привет всем ,и снова вопрос по отчетам, точнее по правилам размещения итоговых расчетных полей в отчетах.
Есть один отчет, в котором несколько уровней группировки и иерархии: Принадлежность к району-> Категории в районе -> Наименование организации

Создать итоговые поля для уровня категории при помощи SUM([дебиторка_по_организации]) проблем не составило.
Но вот когда я попытался вытянуть расчет сумм еще на уровень выше (на уровень принадлежности к району) формула не работает.

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

http://www.sql.ru/forum/1219526/itogovoe-pole-summa-v-otchete-dlya-samoy-ukrupnennoy-gruppirovki


MS Access + ORACLE

Четверг, 23 Июня 2016 г. 14:02 + в цитатник
Приветствую форумчан!

На работе у меня в стационарном компьютере была установлена MS SQL Server Express Edition, а Access служил как интерфейс для пользователей. Но по мере роста данных (ежедневно получал несколько сот тысяч записей из БД в ORACLE, а по отдельным отчётам почти млн. записей) компьютер стал страшно тормозить, да и юзеры начали жаловаться, что база работает страшно медленно. Было решено, от MS SQL Server отказаться и перейти на ORACLE, да и базу перенести в серверную машину. Начал потихоньку переносить вручную базу (не стал использовать программки для автоматического переноса, хотел научиться сам).
Приходилось решать по ходу множества проблем. Вот некоторые из них.

1. Как создать хранимую процедуру, которая возвращает набор записей, в ORACLE и получить данные в MS Access
В MS SQL Server создать хранимую процедуру, возвращающую набор записей, проще простого:
CREATE PROCEDURE Test(@A Int) AS
SELECT * FROM Table1 WHERE ID = @A;

А вызвать ХП в запросе к серверу ещё проще.
EXEC Test 1

А вот в ORACLE после многочисленных проб и ошибок и после чтения многочисленных, отрывочных статьей наконец-то нашёл вот такой способ (наверняка не единственный, а 1 из многочисленных способов). Итак создаём ХП так.
CREATE OR REPLACE PROCEDURE FindTable(TableName IN Varchar2, Data OUT sys_refcursor) AS
BEGIN
    OPEN Data For
    SELECT * FROM all_tables WHERE TABLE_NAME LIKE TableName;
END;

А вот в запросе к серверу после многочисленных проб и ошибок смог наконец-то получить набор записей.
{CALL FindTable('VIEW%')}
Причём в конце не стоит ставить ;
Здесь "VIEW%" значение для параметра (аргумента) "TableName". А для "Data" разумеется ничего не передаём, т.к. он только для "выхода" данных (OUT).
Можно конечно написать и функцию, но это отдельная песня (как-нибудь напишу здесь).

2. Грабли с "CASE WHEN ... END" в ORACLE.
Когда Вы пишите обычный запрос "SELECT ... FROM ..." и при этом используете "CASE WHEN ... END" для какого-либо столбца, где для текстового значения используете апостроф, то вот примерно такой запрос к серверу возвращает ошибку:
SELECT
CASE WHEN OWNER IN ('SYS', 'SYSTEM') THEN 'system object'
  ELSE 'User''s object'
END SSS
FROM ALL_TABLES;
Как Вы видите, я использовал апостроф внутри "CASE WHEN ... END". Когда запускаете запрос ORACLE ругается. Вроде бы простейший запрос. Когда этот же запрос запускаю в программе "PL/SQL Developer", то там не ругается. Оказывается причина в пробеле после "END" (я отметил красным). Здесь в этом запросе "SSS" это псевдоним столбца. Вот если убрать пробел и псевдоним спустить хотя бы на 1 строчку вниз, вуаля! ORACLE не ругается.
SELECT
CASE WHEN OWNER IN ('SYS', 'SYSTEM') THEN 'system object'
  ELSE 'User''s object'
END
 SSS
FROM ALL_TABLES;

Думал это косяк Access, который при передаче на сервер что-то там видать мудрит сильно. Но к моему удивлению в другой программе WinSQL та же картина. Скорее всего проблема в ODBC драйвере, а быть может и ОС Windows тоже как-то причастен к косяку. (На всякий случай пишу здесь: у меня 64-битный Win 7, а офис 32-битный. ODBC драйвер "Oracle in XE", устанавливается совместно с ORACLE Express Edition). Если у Вас "нормальный" драйвер, то возможно такой проблемы не возникает.

3. Разные типы данных между ORACLE и Access.
Само собой разумеется, что это абсолютно разные программы разных разработчиков и поэтому совместимость отдельных типов данных скорее случайность чем закономерность. :)
Взять хотя бы целые числа. Если ключевое поле - целое число, то на стороне ORACLE не стоит использовать INETEGER, ибо в этом случае Access будет принимать его как строка, после чего начнётся веселая жизнь в случае обновления или удаления данных. Лучше использовать что-то вроде NUMBER(n). Также следует учесть, что в ORACLE нет пустой строки '', если строка пустая, то там она автоматически NULL.

http://www.sql.ru/forum/1219464/ms-access-oracle


свойство поля таблицы

Четверг, 23 Июня 2016 г. 12:37 + в цитатник
Привет всем.
Подскажите пожалуйста как обратиться к свойству описание поля таблицы ? Можно ли его поменять программным путем? Спасибо.

http://www.sql.ru/forum/1219429/svoystvo-polya-tablicy


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

Среда, 22 Июня 2016 г. 20:29 + в цитатник
И снова здравствуйте!
Есть один вопрос , по оптимизации кода SQL при выводе итогового запроса по дебиторским задолженностям.
Создал простенькую таблицу Дебиторка В этой таблице всего 4 поля:
1) [Код] поле типа счетчик
2) [Задолженность1] числовое поле
3) [Задолженность2] числовое поле
4) [Задолженность3] числовое поле

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

Вид столбцов запроса должен быть такой
кодсумма положительных значений задолженность1сумма положительных значений задолженность2сумма положительных значений задолженность3





В принципе решение кривое есть, создать три запроса где суммируются только положительные значения ,а потом в итоговом запросе создать группировку и LEFT JOINом прикрепить суммарные значения от главной таблицы к созданным запросам. Но может можно как то покороче?

Агрегатными функциями не выходит смастрячить.

http://www.sql.ru/forum/1219374/debitorka-s-summirovaniem-polozhitelnyh-znacheniy-v-stolbce


Программа с графическим интерфейсом построения связей

Среда, 22 Июня 2016 г. 19:20 + в цитатник
Народ, всем доброго времени суток! Вопрос несколько не по теме форума, наверное, но тем не менее... Короче, подскажите какую-нибудь программу, которая позволяет составлять графическую схему связей таблиц, подобно как это происходит в MS Access при включении режима "схема данных". Интерфейс бы тоже подошел от этого режима идеально. Задача - построить графические объекты (таблички), при этом нужна возможность их перемешать по рабочей области и выстраивать связи между полями этих табличек. При этом ненужно ни проверки допустимости создания таких связей, ни что-то еще... Короче, нужна просто прога с графическим интерфейсом, подобная режиму схемы данных в MS Access...
Заранее спасибо.;)

http://www.sql.ru/forum/1219366/programma-s-graficheskim-interfeysom-postroeniya-svyazey


Ошибка при использовании ie.document.getelementbyid

Среда, 22 Июня 2016 г. 17:06 + в цитатник
Добрый день!
Подскажите пожалуйста почему предпоследняя строка вызывает ошибку Object required как будто такого элемента на сайте нет. Хотя он есть
Собственно нужна именно эта команда, команда выше написана просто чтобы удостовериться что я использую getelementbyid корректно.

Dim ie As Object
Set ie = CreateObject("InternetExplorer.Application")
ie.Visible = True
ie.Navigate ("http://www.nopriz.ru/nreesters/elektronnyy-reestr")
Do Until ie.ReadyState = 4
    DoEvents
Loop
ie.Document.getelementbyid("title-search-input").Value = 1111
ie.Document.getelementbyid("admin_statement_type_inn").Value = 2222
Set ie = Nothing

http://www.sql.ru/forum/1219336/oshibka-pri-ispolzovanii-ie-document-getelementbyid


Обработка данных в vba

Среда, 22 Июня 2016 г. 10:07 + в цитатник
Доброе утро, мне надо в Vba занести данные из определенной таблицы и поля. К примеру имя таблицы Table, имя поля Поле1. И мне надо msgbox-Ом вывести текст, который находится в этом Поле1.Может кто-то покажет строчку кода?

http://www.sql.ru/forum/1219261/obrabotka-dannyh-v-vba


Выборка из временного ряда

Среда, 22 Июня 2016 г. 07:52 + в цитатник
Всех категорически приветствую!

Второй день бьюсь над задачей и не могу понять в чем проблема

Дан временной ряд

Start--- duration--- ENDE

#10:00#--- #10:00#--- #20:00#

#10:00#--- #10:30 #--- #20:30#

#10:00#--- #11:00 #--- #21:00#

#10:30#--- #07:30 #--- #18:00#

#10:30#--- #08:00#--- #18:30#

#15:00#--- #10:30 #--- #01:30#

#15:00#--- #11:00#--- #02:00#

#23:30#--- #08:00#--- #07:30#

#23:30# #09:30#--- #08:30#

Необходимо отобрать строки по условию >#20:00# and <#06:01#

Фигня вопрос, а не получается. В чем ошибка, господа? Помогите кто знает!!!

Заранее благодарю за любую помощь!!

http://www.sql.ru/forum/1219239/vyborka-iz-vremennogo-ryada


Автоматический запуск макроса

Вторник, 21 Июня 2016 г. 22:02 + в цитатник
Здравствуйте, может кто-то знает код для автоматического запуска макроса ежедневно, в определённое время, аксес включен постоянно!

http://www.sql.ru/forum/1219223/avtomaticheskiy-zapusk-makrosa



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