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

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

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

Убрать дубликаты в запросе из результата функции)))

Среда, 21 Сентября 2016 г. 13:25 + в цитатник
Всем добрый день!

Нашел в инете функцию:

Public Function UnionStr(Optional id, Optional Fam)
Static IDOld, FamUnion
If IsMissing(id) Then
IDOld = Empty
Exit Function
End If
If IDOld <> id Then
IDOld = id
FamUnion = Null
End If
FamUnion = (FamUnion + ", ") & Fam
UnionStr = FamUnion
End Function

она данные из столбца "загоняет" в строку через запятую. данные: тип Дата
но в этой строке встречаются дубликаты.

эта функция работает в достаточно запутанном) запросе:

SELECT
ПаспортКачестваДизайн.КодПаспорта, ПаспортКачестваДизайн.Номер, ПаспортКачестваДизайн.МаркаОболочки, ПаспортКачестваДизайн.КолвоОтгрузки, Оболочка.Диаметр, Оболочка.Цвет, Дизайны.Дизайн, ПаспортКачестваДизайн.КолКоробов, ПаспортКачестваДизайн.КолРулонов, ЗаявкиНаПечать.КодЗаявкиНаПечать, Цвета.Текст_РУС, Цвета.Текст_ПОЛ, Цвета.Текст_ЛИТ, Цвета.Текст_АНГ, Клиенты.Клиент, Дизайны.КодДизайна,
Last(UnionStr([ЗаявкиНаПечать]![КодЗаявкиНаПечать],[Рулоны]![Дата])) AS Data

FROM (Цвета INNER JOIN Оболочка ON (Цвета.Цвет = Оболочка.Цвет) AND (Цвета.Цвет = Оболочка.Цвет)) INNER JOIN ((((Дизайны INNER JOIN Клиенты ON Дизайны.КодКлиента = Клиенты.КодКлиента) INNER JOIN ЗаявкиНаПечать ON Дизайны.КодДизайна = ЗаявкиНаПечать.КодДизайна) INNER JOIN ПаспортКачестваДизайн ON ЗаявкиНаПечать.КодЗаявкиНаПечать = ПаспортКачестваДизайн.КодЗаявкиНаПечать) INNER JOIN (ПечатьДизайнов INNER JOIN Рулоны ON ПечатьДизайнов.КодПечати = Рулоны.КодПечати) ON ЗаявкиНаПечать.КодЗаявкиНаПечать = ПечатьДизайнов.КодЗаявкиНаПечать) ON Оболочка.КодОболочки = ЗаявкиНаПечать.КодОболочки

GROUP BY ПаспортКачестваДизайн.КодПаспорта, ПаспортКачестваДизайн.Номер, ПаспортКачестваДизайн.МаркаОболочки, ПаспортКачестваДизайн.КолвоОтгрузки, Оболочка.Диаметр, Оболочка.Цвет, Дизайны.Дизайн, ПаспортКачестваДизайн.КолКоробов, ПаспортКачестваДизайн.КолРулонов, ЗаявкиНаПечать.КодЗаявкиНаПечать, Цвета.Текст_РУС, Цвета.Текст_ПОЛ, Цвета.Текст_ЛИТ, Цвета.Текст_АНГ, Клиенты.Клиент, Дизайны.КодДизайна

ORDER BY ПаспортКачестваДизайн.Номер;

фрагмент результата запроса на фото.

может подскажите как их убрать?

http://www.sql.ru/forum/1231658/ubrat-dublikaty-v-zaprose-iz-rezultata-funkcii


Влияние способа обращения к полю формы на функциональность

Среда, 21 Сентября 2016 г. 08:31 + в цитатник
Попалось мне тут чужое приложение, где я нашел такую строку:

Form_frm_Subform.Form.SaleDate = Me.VDate


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

Me.frm_Subform.Form.SaleDate = Me.VDate


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

Никто не сталкивался с подобным необъяснимым поведением при похожей замене способа обращения?

http://www.sql.ru/forum/1231603/vliyanie-sposoba-obrashheniya-k-polu-formy-na-funkcionalnost


две функции одно название?

Среда, 21 Сентября 2016 г. 07:53 + в цитатник
Приветствую, форумчане.
Как известно, в VBA среди строковых функций есть функции с одинаковыми названиями (почти), но возвращающие/принимающие разные типы значений
Chr$(CharCode As Long) As String
Chr(CharCode As Long)

Left$(String As String, Length As Long) As String
Left(String, Length As Long)
Различие только в символе доллар ($).

Как бы самому такое написать?

http://www.sql.ru/forum/1231600/dve-funkcii-odno-nazvanie


Внешнее присоединение LEFT JOIN

Вторник, 20 Сентября 2016 г. 20:29 + в цитатник
Здравствуйте, уважаемые форумчане!

Суть такова.
Есть база с таблицами работ- Work, материалов-Mat и привязки материалов к определенным работам -WorkMat. Связь между Mat и Work через WorkMat многие-ко-многим. Т.е. для некоторых работ есть материалы и любой материал может использоваться для разных работ. Пример в Access вложен с примером моего пробного запроса.

Поля Работы (Work) - ID_Work(ключ), Name, Union
Поля Материалов (Mat) - ID_Mat(ключ), Name, Union
Связывающая таблица (WorkMat) - ID_Work(ключ), ID_Mat(ключ), Rashod (Расход материала для конкретной работы)

Связь один-ко-многим Work.ID_Work -> WorkMat.ID_Work
Связь один-ко-многим Mat.ID_Mat -> WorkMat.ID_Mat

Нужно сделать запрос, который бы брал таблицу материалов (Mat) и присоединял к ней столбцы из таблицы WorkMat. Но нужно, чтобы в присоединямых столбцах брались только записи для ОДНОЙ работы, т.е. нужен фильтр, например WorkMat.ID_Work=2

Запрос пока в таком виде:

SELECT Mat.*, WorkMat.*
FROM Mat LEFT JOIN WorkMat ON Mat.ID_Mat = WorkMat.ID_Mat
ORDER BY Mat.[Name];


что и как мне нужно прикрутить, что бы заработало в Access. Пробовал после JOIN подзапрос сделать, но, видимо что-то неправильно делаю.

http://www.sql.ru/forum/1231570/vneshnee-prisoedinenie-left-join


Открытие формы по условию

Вторник, 20 Сентября 2016 г. 15:26 + в цитатник
Имеется форма с лицами, у лиц имеется статус: обвиняемый, потерпевший и т.д. Как реализовать чтобы при клике на ФИО для обвиняемых открывалась одна форма, а для свидетелей другая

http://www.sql.ru/forum/1231505/otkrytie-formy-po-usloviu


Вопрос про хранение расчетных значений

Вторник, 20 Сентября 2016 г. 12:18 + в цитатник
Расчетные значения хранить не рекомендуется, даже вредно. Это знают почти все.
Но есть люди, которые этого не понимают и им, конкретно мне, очень сложно это объяснить.
Просьба набросать ссылок где про "это" грамотно прописано. Спасибо.

http://www.sql.ru/forum/1231470/vopros-pro-hranenie-raschetnyh-znacheniy


Дата+Ресурс=Год

Понедельник, 19 Сентября 2016 г. 19:26 + в цитатник
Привет! Ув. знатоки... скажите пож.: можно ли в таблице при в вводе числа(лет)[Ресурс], опираясь на поле [Ввод в строй](дата) получить [Окончание Ресурса](дату)?

http://www.sql.ru/forum/1231379/data-resurs-god


Открытие БД

Понедельник, 19 Сентября 2016 г. 16:23 + в цитатник
Здравствуйте! Можно ли открыть формы БД Access, чтоб их размер соотносился с расширением монитора?

http://www.sql.ru/forum/1231355/otkrytie-bd


Не проходит запрос на добавление данных

Понедельник, 19 Сентября 2016 г. 11:30 + в цитатник
Подскажите пожалуйста что не так,
имеется запрос на добавление данных следующего вида:

Insert Into tblEquipment (iGroup, iName, iType, strDescription, strIn, strNote )
SELECT      tblGroup.iGroup, tblEquipmentNames.iName, tblEquipmentTypes.iType, Оборудование.[Обозначение/Характеристики], Оборудование.Входимость, Оборудование.Примечание
FROM tblGroup INNER JOIN (tblEquipmentTypes INNER JOIN (tblEquipmentNames INNER JOIN Оборудование ON tblEquipmentNames.strName = Оборудование.Наименование) ON tblEquipmentTypes.strType = Оборудование.[Типовое обозначение]) ON tblGroup.strGroup = Оборудование.Группа;

http://www.sql.ru/forum/1231315/ne-prohodit-zapros-na-dobavlenie-dannyh


Ограничить объем вложения

Понедельник, 19 Сентября 2016 г. 06:15 + в цитатник
Здравствуйте.
В таблице имеется поле "Вложение"
В форме имеется соответствующий контрол "Вложение"
По задумке в это поле должны вносится файлы картинок. Можно несколько картинок на одну запись (поле это позволяет), но хотелось бы во первых ограничить вложения именно картинками, что бы не пихали туда документы и не относящиеся к делу фалы. Во вторых ограничить объем файла. Ну например что бы можно было вносить только картинки *.jpg объемом не более 100 кБ. Возможно ли это сделать не слишком сложно и как?
Спасибо.

http://www.sql.ru/forum/1231292/ogranichit-obem-vlozheniya


Создание БД по информации из документов Word

Воскресенье, 18 Сентября 2016 г. 22:33 + в цитатник
Имеется каталог с кучей документов *.doc с таблицами. Структура примерно одинаковая - файлы создаются копированием существующих с последующим редактированием, пример в приложении.
Как импортировать в БД интересующие меня ячейки из всех документов?

http://www.sql.ru/forum/1231280/sozdanie-bd-po-informacii-iz-dokumentov-word


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

Воскресенье, 18 Сентября 2016 г. 15:31 + в цитатник
НаименованиеПараметрВ действии с
Объект12010.02.2015
Объект22010.02.2015
Объект11605.08.2016


Прошу помощи зала. Надо составить запрос, который будет вытягивать из таблицы по объектно параметры в зависимости от заданной(текущей) даты.

http://www.sql.ru/forum/1231248/zapros-vyborki-poslednego-znacheniya-parametra-ot-tekushhey-zadannoy-daty


Куча Примеров, Заготовок для БД и прочие Наработки

Воскресенье, 18 Сентября 2016 г. 13:13 + в цитатник
Являясь сам, практически только начинающим сотворителем БД в Access и ощутив потребность в уже созданных - Заготовках, (типа что бы не сильно много тратить время на изготовление таблиц, запросов, форм, процедур и отчетов), то предлагаю в данной теме вываливать то что не жалко и считаете, что это поможет начинающим.
Вываливаю изначально малое, но чаще всего встречающееся - Сотрудники
Там можно
1. Узрить как Фамилию, Имя и Отчество преобразовать в Фамилия и Инициалы
2. Расчитать возраст - (полных лет)
3. Найти нужную запись по ФИО
4. Посмотреть маску ввода для Моб. Телефона.

http://www.sql.ru/forum/1231240/kucha-primerov-zagotovok-dlya-bd-i-prochie-narabotki


Посмотрите код

Суббота, 17 Сентября 2016 г. 23:57 + в цитатник
Посмотрите, пожалуйста, код. Выдает ошибку - неизвестное имя после FROM

SELECT Count(qryAccountControl2.ID) as rank, qryAccountControl1.ID, qryAccountControl1.DATE_ACCOUNT,  qryAccountControl1.FIO, qryAccountControl1.NAME_VISITOR, qryAccountControl1.nameObj, qryAccountControl1.NUM, qryAccountControl1.PRICE, qryAccountControl1.TOTAL, qryAccountControl1.TOTAL_PDV, qryAccountControl1.NUMABON, qryAccountControl1.DATE_VALID, qryAccountControl1.KOL, qryAccountControl1.KVITANCIA, qryAccountControl1.DATE_KVIT
FROM qryAccountControl as qryAccountControl1 INNER JOIN qryAccountControl AS qryAccountControl2 ON qryAccountControl1.ID >= qryAccountControl2.ID
GROUP BY  qryAccountControl1.ID, qryAccountControl1.DATE_ACCOUNT, qryAccountControl1.FIO, qryAccountControl1.NAME_VISITOR, qryAccountControl1.nameObj, qryAccountControl1.NUM, qryAccountControl1.PRICE, qryAccountControl1.TOTAL, qryAccountControl1.TOTAL_PDV, qryAccountControl1.NUMABON, qryAccountControl1.DATE_VALID, qryAccountControl1.KOL, qryAccountControl1.KVITANCIA, qryAccountControl1.DATE_KVIT


хочу пронумеровать строчки в запросе.

http://www.sql.ru/forum/1231220/posmotrite-kod


Вести базу данных mdb с разных рабочих мест через Интернет, какие варианты?

Пятница, 16 Сентября 2016 г. 17:20 + в цитатник
Есть программа на VB6 использующая .mdb-файл через ADO 2.8
Есть ли какие варианты работать нескольким пользователям не в локальной сети, а через Интернет?
Может, под IIS выложить mdb-файл и строку соединения с БД как-то хитро прописать с портом...?
Или DropBox задействовать или какой-то специальный сервер, способный грамотно синхронизировать именно mdb-файлы при коллективной работе?
Иногда, Интернета может временно не быть, пользователь должен иметь возможность продолжать использовать БД.
А когда Интернет снова появится, должна пойти синхронизация данных.
Спасибо.

http://www.sql.ru/forum/1231107/vesti-bazu-dannyh-mdb-s-raznyh-rabochih-mest-cherez-internet-kakie-varianty


Централизованное ведение справочников

Пятница, 16 Сентября 2016 г. 15:59 + в цитатник
Добрый день!

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

http://www.sql.ru/forum/1231089/centralizovannoe-vedenie-spravochnikov


опять про даты

Четверг, 15 Сентября 2016 г. 20:37 + в цитатник
Добрый день.
В запросе необходимо вычислить кво дней в диапазоне дат. Скажите как это сделать? DateDiff пробовал, считает неправильно.
Например, нужно получить результат 1, если первая дата 22.09.2016, и вторая дата 22.09.2016; получить результат 2, если первая дата 22.09.2016, и вторая дата 23.09.2016 и т.д, т.е. учесть и указанные даты, а не только разницу.

http://www.sql.ru/forum/1230988/opyat-pro-daty


Отловить выбранный системный язык

Четверг, 15 Сентября 2016 г. 12:12 + в цитатник
Просьба подсказать, как можно отловить выставленный системный язык?
Нужно для того, чтобы в комбобоксе в зависимости от него (системного языка) заполнить значения на русском или английском ...
Т.е. есть ли функция какая, может StrConv можно как-то использовать?
в запросе нужно поймать этот язык и использовать в Where

http://www.sql.ru/forum/1230899/otlovit-vybrannyy-sistemnyy-yazyk


Отлов всех MsgBox в коде

Среда, 14 Сентября 2016 г. 22:17 + в цитатник
Пишу функцию отлова всех сообщений в коде форм.
Но она ловит не более 5 штук.
Что в ней не верно написано?

Public Function MESSAGI_GDE()
' ËÎÂÈÌ ÌÅÑÑÀÃÈ
    Dim VBProj As VBIDE.VBProject
    Dim VBComp As VBIDE.VBComponent
    Dim CodeMod As VBIDE.CodeModule
    Dim s As String               ' Ñòðîêè áóêâû
    Dim i As Long                 ' Ñòðîêè øòóêè
    Dim N As Integer              ' ÍÀ×ÀËÎ ÑÒÐÎÊÈ
    Dim K As Integer              ' ÍÀ×ÀËÎ ÑÒÐÎÊÈ
    Dim m As Module
    Dim mi As Byte
    
    Set VBProj = Access.VBE.ActiveVBProject
For mi = 0 To Application.Modules.Count - 1
    Set m = Application.Modules(mi)
    Set VBComp = VBProj.VBComponents(m)
    Set CodeMod = VBComp.CodeModule
           For i = 2 To CodeMod.CountOfLines
                If InStr(1, CodeMod.Lines(i, 1), "MsgBox", vbTextCompare) <> 0 And InStr(1, CodeMod.Lines(i, 1), "InStr", vbTextCompare) = 0 Then
                    N = InStr(1, CodeMod.Lines(i, 1), "MsgBox", vbTextCompare) + 8
                    K = InStr(N, CodeMod.Lines(i, 1), """", vbTextCompare) - N
                    s = ""
                    s = Mid(CodeMod.Lines(i, 1), N, K)
                    DoCmd.SetWarnings False
                    DoCmd.RunSQL "INSERT INTO LANGUAGE_TBL (RUS) VALUES ('" & s & "')"
                    DoCmd.SetWarnings True
                End If
           Next i
Next mi
    Set VBProj = Nothing
    Set m = Nothing
    Set VBComp = Nothing
    Set CodeMod = Nothing
End Function

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

http://www.sql.ru/forum/1230816/otlov-vseh-msgbox-v-kode


БД Клиенты и заказы. Как лучше проверять существование клиента при добавлении заказа?

Среда, 14 Сентября 2016 г. 20:10 + в цитатник
Привет знатокам Access!

У меня 2 таблицы: клиенты и заказы. На форме размещаю поля из них, источник записей запрос:
SELECT * FROM Клиенты INNER JOIN Заказы ON Клиенты.ID = Заказы.КлиентID;


Начинать ввод буду с email клиента. Если он совпадет с существующим email я бы хотел чтобы автоматически заполнились поля ID клиента, ФИО и телефон и мне бы осталось ввести данные заказа. В таблицу "клиенты" ничего не добавится, а в таблицу "заказы" добавится 1 запись.

А если клиент с таким email не найдется я хочу ввести данные нового клиента и данные заказа, чтоб в обе таблицы добавилось по одной записи.

Сейчас у меня при добавлении старого email добавляется новый клиент.

Как лучше сделать? Поля хочу оставить как на скриншоте (т.е подчиненная форма наверное не пойдет). Делать поиск записей через VBA на основе email мне кажется некрасивым решением. Наверняка же есть простое и красивое решение?

http://www.sql.ru/forum/1230806/bd-klienty-i-zakazy-kak-luchshe-proveryat-sushhestvovanie-klienta-pri-dobavlenii-zakaza



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