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

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

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

Построение базы данных продукции с разными свойствами(характеристиками)

Четверг, 20 Июня 2019 г. 10:49 + в цитатник
Приветствую, уважаемые знатоки!
Запутался с построением базы, прошу помощи.
1. На уровне Подкатегории начинается разделение вложенных таблиц по характеристикам. Условно говоря, у деревьев или кустарников, включается характеристика(свойство): морозостойкость. А в комнатных такой нет. В таблице ВидРастения, также, если берем картофель или томат, то также не применяется, а у винограда, каждого сорта свое значение. К тому же, в Подкатегории, могут появиться другие товары, которые к растениям не относятся вовсе, они пойдут по другой линии и для них другие свойства должны быть определены.
Вопрос такой:
Как построить таблицы, чтобы в виде растений определялись НазваниеХарактеристики(свойств), которые затем заполнялись данными уже для каждого сорта?
2. Еще задумка была, создать таблицу номенклатур с разными свойствами, например растения, стройматериалы, садовый инвентарь и т.п. А далее уже оттуда вытаскивать данные и определять для них цены, т.е. номенклатура просто список, продукции, а таблица с ценами это уже другая.
2.1. Правильно ли так строить базу?
2.2 Одной таблицей всю номенклатуру или разделить по нескольким?
2.3. И таблица с ценами одна или несколько?
Как прикрепить файл не понял, залил на диск, тут то что у меня получилось на данный момент.
https://yadi.sk/d/F5l286MBj1QhXQ

https://www.sql.ru/forum/1313889/postroenie-bazy-dannyh-produkcii-s-raznymi-svoystvami-harakteristikami


Как убрать лишние нули из текстового поля?

Среда, 19 Июня 2019 г. 10:36 + в цитатник
Здравствуйте. Есть таблица в Access, в которой указаны номера кадастровых участков в формате "область:район:квартал:номер", например: 57:14:0050102:0012. Задача в том, чтобы автоматически убирать лишние нули после двоеточия:
57:14:0050102:012 -> 57:14:50102:12
57:14:0000000:135 -> 57:14:0:135 и т.д.
Проблема в том, что количество нулей может быть разным. Каким образом можно решить задачу в Access? До этого разбивали столбец по ":" в Excel, получалось что-то вроде 57|14|0|135 и уже в отдельном столбце формулой сцепляли значения, такой вариант в Access'e в принципе тоже бы устроил, но как реализовать это я не знаю. Заранее спасибо за советы.

https://www.sql.ru/forum/1313847/kak-ubrat-lishnie-nuli-iz-tekstovogo-polya


Не группируется отчет по дате

Вторник, 18 Июня 2019 г. 13:14 + в цитатник
В запросе строки с двумя датами, в отчете по полю дата группировка, но в результате отображается только одна дата, первая, а строки со второй включаются в ее группу. И мастером отчет делал и в ручную, одна катавасия.

https://www.sql.ru/forum/1313810/ne-gruppiruetsya-otchet-po-date


Как создать фильтр в главной форме фильтруя содержимое подчинённой?

Воскресенье, 16 Июня 2019 г. 17:40 + в цитатник
Сделал примерчик (в прикреплённом файле) для иллустрации вопроса. Это просто пример (не реальная база).
В приведенном примере применен запрос на обновление, для выделения записей главной формы (для фильтра),
но таблицы находятся в отдельном файле совместного использования, и возможен конфликт этого запроса с действиями
других пользователей. Было бы здорово вообще без запроса на обновление но как это сделать не знаю.
Вопрос: Как создать фильтр в главной форме фильтруя содержимое подчинённой? При этом чтоб режим редактирования
данных сохранялся.

https://www.sql.ru/forum/1313745/kak-sozdat-filtr-v-glavnoy-forme-filtruya-soderzhimoe-podchinyonnoy


авторизация для входа в Access

Суббота, 15 Июня 2019 г. 22:05 + в цитатник
Помогите разобраться. Прям срочно очень нужно!
имеется база данных. в ней таблица сотрудники (логин, ФИО, должность, отдел). Подразумевается что в зависимости от отдела в котором работает сотрудник, будут открываться разные формы. Если входит сотрудник отдела тех. поддержки, то открывается форма "ИсполнителиМакет", если остальные "ПользователиМакет". Реализовано это на входной форме, где выбирается логин, фио и при нажатии кнопки ок открывается необходимая форма.
вылетает ошибка "Run-time error '3070': "(логин)" не распознается ядром СУБД Microsoft Access как допустимое имя поля или выражение" в строчке .FindFirst "[Логин]=" & Me.Логин_поле.Value .
С чем это может быть связано???

Private Sub Вход_Click()
Dim rst As dao.Recordset

Set rst = CurrentDb.OpenRecordset("Сотрудники", dbOpenSnapshot) 'Сотрудники - указываем с какой таблицей будет работать сценарий
With rst
 If IsNull(Me.Логин_поле.Value) Then 'Условие если поле выпадающего списка на момент клика пустое, то
    MsgBox "Ошибка входа! Выберите пользователя."
    Exit Sub
    Else:
   .FindFirst "[Логин]=" & Me.Логин_поле.Value 'Если поле не пустое, то производится поиск на соответствие с данными таблицы Сотрудники
           If .NoMatch Then ' Если нет совпадений, то
           MsgBox "Ошибка входа! О данном пользователе нет информации в БД."
           Exit Sub
           End If
    
    DoCmd.Close 'Команда на закрытие текущей формы, в данном случае формы входа
       Select Case .Fields("Отдел").Value
       Case "Отдел технической поддержки"
       DoCmd.OpenForm "ИспонителиМакет"
       Case Else
       DoCmd.OpenForm "ПользователиМакет"
       'отбор по полю должность и команда открытие указаной формы для соответсвующей должности
       End Select

 End If
 End With
rst.Close
Set rst = Nothing
End Sub


При чем нашла очень похожую базу, там работает все, а у меня ругается. В чем проблема понять не могу.

https://www.sql.ru/forum/1313732/avtorizaciya-dlya-vhoda-v-access


Реально о заработках

Суббота, 15 Июня 2019 г. 18:43 + в цитатник
Прошу, камрады, откликнуться кто работал на kwork, то-есть на фрилансе
Каких результатов достигли, сколько заказов выполнили и вообще, стоит ли связываться с призрачной надеждой найти там работу
Недавно стал клиентом, пока заказов не было, но очень сильно запутана система получения их. Пока толком не смог разобраться.
У какого какой опыт наработан?

https://www.sql.ru/forum/1313731/realno-o-zarabotkah


Возвращает ли функция DateSerial записи на произвольный день месяца?

Суббота, 15 Июня 2019 г. 12:21 + в цитатник
Здравствуйте!

Подскажите, пж, как сделать выборку по произвольному числу(ам) определенного месяца и года.
Есть Запрос, в котором я хочу сделать выборку по Отпускам в течение определенного месяца. В условии отбора применяю DateSerial(Year([Дата]);Month([Дата]);6), но здесь какое число месяца поставишь, на такое и пройдет выборка, а мне надо, чтобы выборка шла по любой из дат (может их быть несколько), главный критерий это месяц и год.

https://www.sql.ru/forum/1313721/vozvrashhaet-li-funkciya-dateserial-zapisi-na-proizvolnyy-den-mesyaca


Проверка соединения с mysql сервером (oddc) MS Access

Пятница, 14 Июня 2019 г. 16:40 + в цитатник
Привет всем!
В общем то наверное избитая тема, но требует уточнения.
Работает связка mySql+Odbc+Ms Access.
Раньше использовал костыли для проверки активного (валидного) соединения через драйвер mysql odbc. (через заход в таблицу с одной записью на сервере в базе и выборке одного значения итд..итп..костыль)
Сейчас дошли руки (вспомнил точней)) что можно как то проверить программно статус активного соединения без работы экскаватора.
Подскажите пожалуйста, как программно проверить статус текущего соединения с mysql server через Odbc?
Проверить что текущее соединение с действующим введеным логином и паролем активно и работает?

Нерабочий вариант:
Private Sub btnCheck_Click()
Dim con As Connection
Set Connection = CurrentProject.Connection
MsgBox Connection.State
End Sub


Оно всегда выдает 1. И когда сервер работает и когда отключен. Как правильно зацепить состояние текущего соединения с mysql через mysql odbc driver . Подскажите плиз.

https://www.sql.ru/forum/1313711/proverka-soedineniya-s-mysql-serverom-oddc-ms-access


Тысяча и одна заметка о FMT=Delimited

Четверг, 13 Июня 2019 г. 21:01 + в цитатник
Доброго дня господа !

Имею линкованный текстовый файл
select * from [TEXT,HDR=NO;FMT=Delimited;DATABASE=C:\WORK].[rr10.txt]

Прошу уточнить как и с каким приоритетом выставляется FMT разделитель
- пробывал из строки коннекта FMT=Delimited(;) - нет результата
- пробывал из реестра (весьма нежелательно !!!!!!!!!!) - нет результата
- пробывал из Schema.ini - результат есть но лишний файл настройки в софте
- пробывал из таблицы MSysIMEXSpecs (IMEX=2) - результат есть но название файлов будут разные

Какие еще варианты есть - подскажите плис

https://www.sql.ru/forum/1313678/tysyacha-i-odna-zametka-o-fmt-delimited


Некорректная работа LEFT JOIN

Четверг, 13 Июня 2019 г. 18:18 + в цитатник
Люди, подскажите пожалуйста, почему у меня в одном из множества аналогичных запросов функция LEFT JOIN почти в два раза уменьшает количество строк в новом файле по сравнению с тем, к которому шло прикрепление?
Файл слишком большой, поэтому переслать не смогу.

+
SELECT
A.*,
B.[КОЭФ]
FROM K_rate_Krati AS A LEFT JOIN K_rate AS B
ON (A.[НТД на техтребование (Код)]=B.[НД_ТЕХ_ТРЕБ]) AND (trim(A.[Ширина])<=B.[ШИРИНА_MAX]) AND (trim(A.[Ширина])>=B.[ШИРИНА_MIN]) AND (trim(A.[Толщина])<=B.[ТОЛЩ_MAX]) AND (trim(A.[Толщина])>=B.[ТОЛЩ_MIN]) AND (A.[Наименование марки]=B.[НАИМЕНОВАНИЕ_МАРКИ]) AND (A.[Код марки]=B.[КОД_МАРКИ]) AND (A.[НТД на профиль (Код)]=B.[НД_СОРТ]) AND (A.[Код вида продукции]=B.[Код вида продукции])

ORDER BY A.[ID];

Под спойлером текст запроса.

https://www.sql.ru/forum/1313673/nekorrektnaya-rabota-left-join


Логи изменений разнотипных таблиц

Четверг, 13 Июня 2019 г. 13:38 + в цитатник
Уважаемый коллективный разум,

Я понимаю, что боян, но вдруг... Аксес 2016 и на нем база с фронтэндом.

Задача тривиальна: необходимо отслеживать изменение значения полей пользователем во всех формах. Для этого предполагается заносить изменения в таблицу лога в виде:
- имя_таблицы
- имя_поля
- идент_записи
- старое значение
- новое значение
- пользователь
- дата и время изменения

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

Спасибо всем огромное заранее!

https://www.sql.ru/forum/1313658/logi-izmeneniy-raznotipnyh-tablic


Посик дублей

Четверг, 13 Июня 2019 г. 13:10 + в цитатник
В таблице vers есть поле codem, в котором попадаются одинаковые значения.
Поле соде - ключевое,счетчик.
Хочу найти все code, где codem повторяются хоть один раз.
Такой запрос виснет нафиг.... минут 10 работал - не сработал....
Что я делаю не так?

SELECT vers.code
FROM vers
WHERE (((vers.codem) In (SELECT DISTINCT vers.codem
FROM vers
GROUP BY vers.codem
HAVING (((Count(vers.codem))>1))
ORDER BY vers.codem;)));

https://www.sql.ru/forum/1313657/posik-dubley


Сложный запрос на обновление

Четверг, 13 Июня 2019 г. 12:03 + в цитатник
Всем привет, ломаю голову уже пару часов. Суть задания, обновить данные в таблице, sql написать нужно одним куском.
Я сделала запрос на выборку со старой ценой и с добавлением поля новая цена(это и нужно обновить в таблице), но там условие если одно, то цену повышаем, если другое, то понижаем. И как это засунуть в запрос на обновление, вот это самое условие выбора, не могу понять(
SELECT 
Наименование, 
Стоимость, 
iif((SELECT COUNT ([Категория услуги])/(SELECT COUNT ([Категория услуги]) FROM Заявки) FROM Заявки WHERE Заявки.[Категория услуги] Like 'Срочная')>(SELECT COUNT ([Категория услуги])/(SELECT COUNT ([Категория услуги]) FROM Заявки) FROM Заявки WHERE Заявки.[Категория услуги] Like 'Обычная'),Стоимость+Стоимость*0.25,Стоимость-Стоимость*0.15) AS [Новая цена]
FROM Услуги;

https://www.sql.ru/forum/1313651/slozhnyy-zapros-na-obnovlenie


Как сделать фильтрацию по дате на кнопке

Среда, 12 Июня 2019 г. 22:03 + в цитатник
Как сделать фильтрацию на кнопке по дате поставок текущего месяца?

https://www.sql.ru/forum/1313635/kak-sdelat-filtraciu-po-date-na-knopke


Передача RecordSet из формы отчету

Среда, 12 Июня 2019 г. 21:34 + в цитатник
Добрый вечер! возникла проблема с формированием запроса.
Как у меня сейчас.
MS Access 2003.
1.1. Есть форма со множеством подчиненных форм. Каждая подчиненная форма сделана мастером и в конструкторе обнулил источник записей. После загрузки главной формы все подчиненные без записей.
1.2. на главной форме есть 3 поля параметров, оператор из вводит и нажимает кнопку.
1.3. по кнопке происходит создание Recordset-ов для всех подчиненных форм.(возможны ошибки, пишу по памяти)
Dim Rep_RP as QueryDef
set Rep_RP=currentdb.querydefs("QV_RP")
With Rep_RP
Parameter("daten").value=daten.value
Parameter("datek").value=datek.value
Parameter("h_id").value=h_id.value
end with
set FP_RP.Form.RecordSet= Rep_RP.OpenRecordSet
Rep_RP.Close
Set Rep_RP=Nothing

И такой код по каждой подчиненной форме (ПФ).
1.4. Результаты в ПФ отображаются как надо.
1.5. Надо полученные результаты отобразить в отчете чтобы можно было напечатать.

Тут у меня и проблема.
2.1. Я ставил на отчет те же ПФ что и в форме, ставил отработку задачи перед отображением отчета
Set Report.FP_RP.Form.RecordSet=Me.FP_RP.Form.RecordSet

Не помогало - в ПФ данных не было.
2.2. Создал подчиненные отчеты по образу и подобию ПФ и положил их на главный отчет.
Set Report.OP_RP.Form.RecordSet=Me.FP_RP.Form.RecordSet

Access пишет ошибку что в данной версии это делать нельзя.
2.3. Делал обработку открытия отчета как по нажатию кнопки на главной форме, т.е. создавал снова для каждой ПФ отчета новый RecordSet как в п.1.3 - тоже самое - пустые ПФ.

Как быть? из отчета видно что RecordSet ПФ главной формы не пустые т.к. значение количества записей RecordSet-а каждого дает не нулевой результат.

Как мне данные из ПФ главной формы передать на отчет?
Спасибо.

https://www.sql.ru/forum/1313632/peredacha-recordset-iz-formy-otchetu


Списание со склада по номеру партии

Среда, 12 Июня 2019 г. 13:36 + в цитатник
Коллеги подскажите, как сделать...
Стоит задача сделать списание (перемещен) со склада по номеру партии, т.е. есть товар1 с номером партии А1 и есть товар1 с номером партии А2 , как сделать чтобы сначала списовалась партия А1 потом. А2 ???

https://www.sql.ru/forum/1313618/spisanie-so-sklada-po-nomeru-partii


Как в отчете по всем записям скрыть поле? (В отчете по одной записи все работает)

Среда, 12 Июня 2019 г. 09:52 + в цитатник
Подскажите, пж, как в Общем отчете скрыть Поле?

Есть список Сотрудников, если формирую Отчет по одному Сотруднику по Условию отбора в Запросе, то в Событии на Загрузку код

If IsNull([Forms]![frmPivot]![Аванс]) Then
[Reports]![rptPivot]![Аванс].Visible = False

как и задумывалось скрывает пустое Поле .

Но, когда я формирую Общий отчет по всем сотрудникам, без Условия отбора в Запросе, то Свойство Поля [Аванс] отображается как у первой Записи. Во второй, даже если и есть аванс, то так как у Первой записи не было его, то Поле будет невидимым для всех записей (Сотрудников) в Отчете.

https://www.sql.ru/forum/1313611/kak-v-otchete-po-vsem-zapisyam-skryt-pole-v-otchete-po-odnoy-zapisi-vse-rabotaet


Как массово перемещать поля в форме/изменить высоту формы

Понедельник, 10 Июня 2019 г. 18:02 + в цитатник
Добрый день!

Одно из полей формы доступно определенному типу учетной записи.
Для остальных - оно скрыто.

ВОПРОС: когда поле скрыто, как все остальные поля подвигать выше (чтобы не было пустоты) и делать высоту формы меньше на размер скрытого поля?

соответственно, если поле отображается, то все поля нужно сдвинуть вниз на высоту поля и на это же значение увеличить высоту самой формы.

https://www.sql.ru/forum/1313545/kak-massovo-peremeshhat-polya-v-forme-izmenit-vysotu-formy


Как передать параметр в запрос (источник строк) для поля списка из этой же формы?

Понедельник, 10 Июня 2019 г. 16:51 + в цитатник
Добрый день!

Прошу у Вас помощи. У меня есть форма, источником строк для которой является таблица Plans, в этой таблице есть столбец AgrNum (номер договора с поставщиком), которое в свою очередь является также и ключевым полем для таблицы Agrements. В таблице Plans и на форме Plans также присутствует столбец (поле со списком) - SupplierID, которое также связано с таблицей Agrements по столбцу этой таблицы SupplierID. На форме Plans пользователь выбирает из поля со списком нужного ему Supplier (поле с подстановкой). Как сделать так, чтобы источником строк для поля со списком AgrNum был запрос к таблице Agrements с фильтрацией по SupplierID, выбранным пользователем (таким образом пользователь "увидит" лишь те договора, которые заключены с данным выбранным им поставщиком).

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

https://www.sql.ru/forum/1313542/kak-peredat-parametr-v-zapros-istochnik-strok-dlya-polya-spiska-iz-etoy-zhe-formy


Заполнение подчиненной формы

Суббота, 08 Июня 2019 г. 22:28 + в цитатник
Доброго денечка!
Вопрос такой. Делаю уже третью форму Access + SQL по стандартному алгоритму: в заголовке формы фильтры, которые по кнопке Применить обновляют содержимое подчиненной табличной формы. Надо просто выводить записи, соответствующие условиям фильтра.
Предыдущие 2 формы работают. Но третья... просто чудеса в решете.

Делаю, может криво... но тогда прошу подсказок. Сейчас делаю так: на кнопке "Применить фильтры" (далее просто Применить) следующий код

Public cn As ADODB.Connection
Public cmd As ADODB.Command
Public NumSession As Integer
Public UsID As Integer
Dim rs As New ADODB.Recordset
Dim s As String

Set cn = New ADODB.Connection
cn.ConnectionString = "PROVIDER=SQLOLEDB; DATA SOURCE=" & srv & "; INITIAL CATALOG=" & DBName & "; INTEGRATED SECURITY=sspi;"
cn.Open
Set cmd = CreateObject("ADODB.Command") 'создаем объект команда
cmd.ActiveConnection = cn               'назначаем соединение
cmd.CommandType = adCmdText

s = "declare @NumSess smallint, @UsID int; exec dbo.sp_ProcData " _ ' далее идет список фильтров и возвращаемые значения: @@SPID и SUSER_ID()
& "@NumPrik = '" & txt_PrikNum.Value & "', @DatePrik = '" & txt_PrikDate.Value & "', @NumSession = @NumSess out, @UserID = @UsID out; select * from " & DBName & ".dbo.tmp_PrikazDek where NumSession = @NumSess and UsID = @UsID"

    rs.Open s, cn, adOpenStatic
    If rs.State <> 0 Then
        If rs.RecordCount <> 0 Then rs.MoveFirst
        NumSession = rs("NumSession")
        UsID = rs("UsID")
        DoCmd.SetWarnings False
        s = "delete from tmp_PrikazDek where UsID = " & rs("UsID")
        DoCmd.RunSQL s
        Do While Not rs.EOF
            s = "insert into tmp_PrikazDek values(" & rs("NumSession") & "," _
                & rs("UsID") & "," _
                & [перечень полей и значений] & ")"

            DoCmd.RunSQL s
            rs.MoveNext
        Loop
        DoCmd.SetWarnings True
    End If
    Me.Refresh


В подчиненной форме источник записей tmp_PrikazDek. Полям тоже присвоены источники из таблицы.

Теперь о чудесах. Начнем с того, что в подчиненную форму выводит всегда только 1 запись, первую в результате запроса. И все! Хотя по циклу бегает, запросы выполняет, ошибок не выдает никаких, но в таблице tmp_PrikazDek только одна запись и в форме соответственно. Что это за ерунда? Почему? В других аналогичных формах все заполняется...

Второе чудо, новое. На строчке NumSession = rs("NumSession") теперь выдает ошибку "Невозможно присвоить значение объекту". Ну, это уж вообще красота! В поле rs("NumSession") на дебаге значение 57. Чем не Integer? Откуда объекты, когда просто переменная типа Integer и значение присваивается соответствующее.

https://www.sql.ru/forum/1313481/zapolnenie-podchinennoy-formy



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