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

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

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

Как определить то, что форма открыта как главная или она открыта как подчиненная?

Пятница, 06 Июня 2014 г. 12:04 + в цитатник
У меня есть одна универсальная форма, которая открывается сама по себе, и она ещё в нескольких других формах может открывается как подчинённая, т.е. тогда когда у неё есть Me.Parent.Name.

В зависимости от вариантов Me.Parent.Name в процедуре Sub Form_Load() нужно включать или отключать поля, кнопки и т.д. Но в случае открытия Me.Parent.Name = “Не существует”, в кейсе возникает ошибка.

Как заранее проверить в Sub Form_Load() есть или нет Pent.Name в Ме? Вроде бы всё просто, но не соображу ...

http://www.sql.ru/forum/1098918/kak-opredelit-to-chto-forma-otkryta-kak-glavnaya-ili-ona-otkryta-kak-podchinennaya


Программно проставить параметры ленты и панелей инструментов в MS Access 2010

Пятница, 06 Июня 2014 г. 11:41 + в цитатник
Как программно проставить параметры ленты и панелей инструментов в текущей базе в MS Access 2010:
- Полный набор меню Access;
- Контекстные меню по умолчанию;
- Встроенные панели инструментов?

http://www.sql.ru/forum/1098910/programmno-prostavit-parametry-lenty-i-paneley-instrumentov-v-ms-access-2010


Вычисление остатка

Пятница, 06 Июня 2014 г. 07:55 + в цитатник
Приход десять строк в запросе с группировкой расход восемь строк, возможно прописать условие, чтобы в поле "остаток" отображалась число прихода.

http://www.sql.ru/forum/1098888/vychislenie-ostatka


Отчет. Сумма значений поля в подчененной таблице

Пятница, 06 Июня 2014 г. 05:54 + в цитатник
Добрый день! Помогите пож-та решить такую задачу (если это вообще возможно).

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

http://www.sql.ru/forum/1098885/otchet-summa-znacheniy-polya-v-podchenennoy-tablice


переименование файлов через акс

Пятница, 06 Июня 2014 г. 02:49 + в цитатник
Все здравствуйте.
Появилась необходимость ручного переименования файлов по маске. Средствами Виндоус это невозможно. Подобных программ не нашел.
Суть в том, что я решил сканировать все документы. При этом для удобства поиска файлов переименовываю их по шаблону. Но делать это каждый раз через Проводник очень муторно и неудобно.
На вашем форуме нашел файл, который позволяет получить в форме список файлов в нужной папке. То, что нужно.

Только вот даже не понимаю, как в вба сделать так, чтобы переименовывался выделенный файл. Тупо нашел команду переименования Name, но как туда подставить название выделенного файла, превью которого я вижу в форме, даже не представляю. И чтоб при этом переименовалось только само название файла без расширения, а расширение осталось прежним.

Ну и конечно, если возможно сделать превью не только графических файлов, но и других (ворд, иксель, пдф), то вообще было бы замечательно.

Очень надеюсь на вашу помощь. Такая вот элементарная утилитка очень сильно помогла бы мне.

http://www.sql.ru/forum/1098880/pereimenovanie-faylov-cherez-aks


Замена в листе Excel текстовых значений, содержащих '='

Четверг, 05 Июня 2014 г. 19:55 + в цитатник
Добрый день!
Помогите разрешить проблему: есть очень много таблиц, в столбце АА которых ячейки текстового формата содержат "=20". Пытаюсь их заменить на "=10":
Dim xlApp As Object, xlWb As Object
Set xlApp = CreateObject("Excel.Application")
Dim Arr As Variant, TS%, PS%, tbl$
TS = 10
PS = 20
Arr = Array("Таблица1", "Таблица2", "Таблица3", "Таблица4")
For i = LBound(Arr) To UBound(Arr)
tbl = Arr(i)
Set xlWb = xlApp.Workbooks.Open("C:\" & tbl & ".xls")
xlApp.Visible = False
xlApp.ScreenUpdating = False
xlApp.DisplayAlerts = False
xlApp.Cells.Replace What:="=" & PS, Replacement:="=" & TS, LookAt:=2, SearchOrder:=1, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
xlWb.Save
xlWb.Close
Next i
xlApp.Quit
В итоге ячейки заменяются, но вместо "=10" становится просто "10", и хотя Excel показывает, что формат ячейки по прежнему текстовый, но ведет ячейка себя уже как число. Как сделать замену, чтобы в ячейке стало "=10" ?
Спасибо.

http://www.sql.ru/forum/1098829/zamena-v-liste-excel-tekstovyh-znacheniy-soderzhashhih


Как из 3 вложенных запросов сделать один в коде SQL

Четверг, 05 Июня 2014 г. 19:34 + в цитатник
Помогите из трех вложенных запросов сделанных в конструкторе запросов Access сделать SQL код База прилагается

http://www.sql.ru/forum/1098823/kak-iz-3-vlozhennyh-zaprosov-sdelat-odin-v-kode-sql


Что больше - "и" или "й"?

Четверг, 05 Июня 2014 г. 19:33 + в цитатник
Кто-нибудь может мне объяснить, почему у меня в VBA-Access код
Option Compare Database
...
If "й" > "и" Then Stop
If "й" < "и_" Then Stop
If "й" < "ии" Then Stop

останавливается останавливается во 2-й и третьей строках?

http://www.sql.ru/forum/1098821/chto-bolshe-i-ili-y


Случайный записи

Четверг, 05 Июня 2014 г. 15:34 + в цитатник
Добрый день.
У меня есть 2 таблицы одинаковые по структуре. Первая меньше, вторая больше в несколько раз.
NameTelefon..

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

Спасибо за помощь.

http://www.sql.ru/forum/1098774/sluchaynyy-zapisi


Count в recordset

Четверг, 05 Июня 2014 г. 15:21 + в цитатник
Помогите разобраться:
Dim rst As DAO.Recordset
Dim i
Set rst = CurrentDb.OpenRecordset("MSysObjects", dbOpenDynaset)
      With rst
            .FindFirst ("type=-32768")
            For i = 0 To i = rst.RecordCount
                Debug.Print .Fields("Name").Value & "   " & .Fields("Type").Value
            i = i + 1
            Next

      End With
Set rst = Nothing


rst.RecordCount=1, хотя в таблице много значений. Если убираю .FindFirst ("type=-32768"), все равно =1

http://www.sql.ru/forum/1098770/count-v-recordset


Автозаполнение в форму

Четверг, 05 Июня 2014 г. 15:20 + в цитатник
Стандартная вроде задачка, но в книгах не могу найти решение
Составляю биологическую БД
Форма, вставляющая в таблицу запись из другой, для выбора используется запрос. В результате ввод происходит через список с тремя столбцами (код, вид, род), листать руками - утомляет. Как создать поле, при вводе в котором части слова отображалась бы нужная часть таблицы?
В теории очень просто, на практике не выходит никак
Заранее благодарен

http://www.sql.ru/forum/1098768/avtozapolnenie-v-formu


Вставить значение в поле после события

Четверг, 05 Июня 2014 г. 14:15 + в цитатник
Добрый день, помогите решить такую проблему:

есть форма табличного вида с полями
"driver(c)" - код водителя
"weight" - грузоподъёмность его машины

есть таблица соответствия фамилии водителя и грузоподъёмности его машины

Я хочу сделать, чтобы в Форме по событию "внесены изменения" в поле "driver(с)" менялось значение поля "weight"
то есть чтобы при изменении фамилии водителя менялась и значение грузопоъёмности машины.

Написал код на событие (здесь почему то вставляется некорректно)
при выполнении пишет: "введённое значение - не подходит для данного поля"
хотя проверял всё подходит.

посмотрите кто может пример в приложении

http://www.sql.ru/forum/1098749/vstavit-znachenie-v-pole-posle-sobytiya


Ошибка

Четверг, 05 Июня 2014 г. 13:18 + в цитатник
Поправьте кто может с SQL переписываю вьюшку но вместо RIGHT JOIN нужен INNER как видно з SQL запроса, но
INNER JOIN: tbl_ref_Countries.CountryId = tbl_ref_Producers.CountryId выдает ошибку
SELECT DISTINCT 
                         h_tbl_Material.MCode, vw_MaterialStatus.StatusId AS Status, vw_MaterialStatus.StatusName, h_tbl_Material.Brand_lim, 
                         h_tbl_Material.Categ_local, h_tbl_Material.Cat_HF, h_tbl_Material.DescShortUA, h_tbl_Material.DescFullUA, h_tbl_Material.DescShortEN, 
                         h_tbl_Material.DescFullEN, h_tbl_Material.DescShortRU, h_tbl_Material.DescFullRU, vw_MaterialPalletizing_Unit_Case.UC, h_tbl_Material.CP, 
                         h_tbl_Material.ZUN_ZCU, h_tbl_Material.ZCU_CT, h_tbl_Material.CU_W_G, h_tbl_Material.CU_GRSW_G, h_tbl_Material.CS_GRSW_G, 
                         h_tbl_Material.PAL_GRSW_G, h_tbl_Material.EAN13, h_tbl_Material.CertNum, h_tbl_Material.Certificate, h_tbl_Material.CertIssuedDate, 
                         h_tbl_Material.CertValidToDate, h_tbl_Material.CertByBatch, h_tbl_Material.CertInd, h_tbl_Material.VetConf, h_tbl_Material.OriginationID, 
                         h_tbl_Material.Origination, h_tbl_Material.Org, h_tbl_Material.Sourcing, h_tbl_Material.ProducerId, tbl_ref_Producers.ProducerNameEN, 
                         tbl_ref_Producers.ProducerNameShort, tbl_ref_Countries.CountryNameEN AS ProducerCountryEN, 
                         tbl_ref_Countries.CountryNameRU AS ProducerCountryRU, tbl_ref_Countries.CountryNameUA AS ProducerCountryUA, h_tbl_Material.OnStock, 
                         h_tbl_Material.SupplierID, h_tbl_Material.Supplier, tbl_ref_Suppliers.SupplierName, tbl_ref_Suppliers.TrPeriodDays AS TrPeriod, 
                         h_tbl_Material.A1, h_tbl_Material.SLPeriodM, h_tbl_Material.HFPeriodD, h_tbl_Material.HygNum, h_tbl_Material.Hygienic, 
                         h_tbl_Material.HygIssuedDate, h_tbl_Material.CER_MoscRepHier, h_tbl_Material.PriceCurrExport, h_tbl_Material.PricePerExport, 
                         h_tbl_Material.PriceValueExport, h_tbl_Material.Created, h_tbl_Material.HoldInd, h_tbl_Material.SC, h_tbl_Material.DescTranslit, 
                         h_tbl_Material.DescInvEN, h_tbl_Material.FC, h_tbl_Material.Plt_GRSW_KG, h_tbl_Material.Plt_NETW_KG, h_tbl_Material.PriceCurr, 
                         h_tbl_Material.PriceValue, h_tbl_Material.PricePer, h_tbl_Material.HarmonizedCode, h_tbl_Material.CustomsDuty, 
                         h_tbl_Material.PackingGroup, h_tbl_Material.PackingData, h_tbl_Material.HygValidToDate, h_tbl_Material.U_MU, h_tbl_Material.MUPack, 
                         h_tbl_Material.METROCode AS METROCodeDotted, h_tbl_Material.CUVolWeightValue, h_tbl_Material.CUVolWeightUoM, 
                         vwMetroListing_Short.KA_MCode AS MetroCode, vwMetroListing_Short.PackQty AS MetroPackQty, vwMetroListing_Short.PackType AS MetroPackType, 
                         vwMetroListing_Short.KA_EAN AS MetroEAN, vwAuchanListing_Short.KA_MCode AS AuchanCode, vwAuchanListing_Short.PackQty AS AuchanPackQty, 
                         vwAuchanListing_Short.PackType AS AuchanPackType, vwAuchanListing_Short.KA_EAN AS AuchanEAN, vwFozzyListing_Short.KA_MCode AS FozzyCode, 
                         vwFozzyListing_Short.PackQty AS FozzyPackQty, vwFozzyListing_Short.PackType AS FozzyPackType, vwFozzyListing_Short.KA_EAN AS FozzyEAN, 
                         h_tbl_Material.CustVal_Unilever, h_tbl_Material.CustVal_DMSU, vw_MaterialStatus.ValidSinceYrWkSat AS StatusValidSinceYrWkSat, 
                         vw_MaterialStatus.SuccessorMCode, vwCosmoListing_Short.KA_MCode AS CosmoCode, vwCosmoListing_Short.PackQty AS CosmoPackQty, 
                         vwCosmoListing_Short.PackType AS CosmoPackType, vwCosmoListing_Short.KA_EAN AS CosmoEAN, vwREALListing_Short.KA_MCode AS RealCode, 
                         vwREALListing_Short.PackQty AS RealPackQty, vwREALListing_Short.PackType AS RealPackType, vwREALListing_Short.KA_EAN AS RealEAN, 
                         vwKaravanListing_Short.KA_MCode AS KaravanCode, vwKaravanListing_Short.PackQty AS KaravanPackQty, 
                         vwKaravanListing_Short.PackType AS KaravanPackType, vwKaravanListing_Short.KA_EAN AS KaravanEAN, vwEKOListing_Short.KA_MCode AS EKOCode, 
                         vwEKOListing_Short.PackQty AS EKOPackQty, vwEKOListing_Short.PackType AS EKOPackType, vwEKOListing_Short.KA_EAN AS EKOEAN, 
                         h_tbl_Material.DescSemiUA80
FROM            tbl_ref_Countries INNER JOIN
                         tbl_ref_Producers ON tbl_ref_Countries.CountryId = tbl_ref_Producers.CountryId RIGHT OUTER JOIN
                         h_tbl_Material INNER JOIN
                         vw_MaterialStatus ON h_tbl_Material.MCode = vw_MaterialStatus.MCode 
						 LEFT OUTER JOIN
                         vw_KAListing_Short AS vwCosmoListing_Short ON h_tbl_Material.MCode = vwCosmoListing_Short.UL_MCode AND 
                         vwCosmoListing_Short.KAId = 6 
						 LEFT OUTER JOIN
                         vw_MaterialPalletizing_Unit_Case ON h_tbl_Material.MCode = vw_MaterialPalletizing_Unit_Case.MCode ON 
                         tbl_ref_Producers.ProducerId = h_tbl_Material.ProducerId 
						 LEFT OUTER JOIN
                         vw_KAListing_Short AS vwAuchanListing_Short ON h_tbl_Material.MCode = vwAuchanListing_Short.UL_MCode AND 
                         vwAuchanListing_Short.KAId = 2 
						 LEFT OUTER JOIN
                         vw_KAListing_Short AS vwFozzyListing_Short ON h_tbl_Material.MCode = vwFozzyListing_Short.UL_MCode AND 
                         vwFozzyListing_Short.KAId = 5 
						 LEFT OUTER JOIN
                         vw_KAListing_Short AS vwMetroListing_Short ON h_tbl_Material.MCode = vwMetroListing_Short.UL_MCode AND 
                         vwMetroListing_Short.KAId = 1 
						 LEFT OUTER JOIN
                         vw_KAListing_Short AS vwKaravanListing_Short ON h_tbl_Material.MCode = vwKaravanListing_Short.UL_MCode AND 
                         vwKaravanListing_Short.KAId = 7 
						 LEFT OUTER JOIN
                         vw_KAListing_Short AS vwEKOListing_Short ON h_tbl_Material.MCode = vwEKOListing_Short.UL_MCode AND 
                         vwEKOListing_Short.KAId = 8 
						 LEFT OUTER JOIN
                         tbl_ref_Suppliers ON h_tbl_Material.SupplierID = tbl_ref_Suppliers.SupplierId 
						 LEFT OUTER JOIN
                         vw_KAListing_Short AS vwREALListing_Short ON vwREALListing_Short.UL_MCode = h_tbl_Material.MCode AND 
						 vwREALListing_Short.KAId = 4

в Access добился похожего результата, через RIGHT JOIN, но количество записей не то
SELECT 
h_tbl_Material.MCode, vw_MaterialStatus.StatusId AS Status, vw_MaterialStatus.StatusName, h_tbl_Material.Brand_lim, 
                         h_tbl_Material.Categ_local, h_tbl_Material.Cat_HF, h_tbl_Material.DescShortUA, h_tbl_Material.DescFullUA, h_tbl_Material.DescShortEN, 
                         h_tbl_Material.DescFullEN, h_tbl_Material.DescShortRU, h_tbl_Material.DescFullRU, vw_MaterialPalletizing_Unit_Case.UC, h_tbl_Material.CP, 
                         h_tbl_Material.ZUN_ZCU, h_tbl_Material.ZCU_CT, h_tbl_Material.CU_W_G, h_tbl_Material.CU_GRSW_G, h_tbl_Material.CS_GRSW_G, 
                         h_tbl_Material.PAL_GRSW_G, h_tbl_Material.EAN13, h_tbl_Material.CertNum, h_tbl_Material.Certificate, h_tbl_Material.CertIssuedDate, 
                         h_tbl_Material.CertValidToDate, h_tbl_Material.CertByBatch, h_tbl_Material.CertInd, h_tbl_Material.VetConf, h_tbl_Material.OriginationID, 
                         h_tbl_Material.Origination, h_tbl_Material.Org, h_tbl_Material.Sourcing, h_tbl_Material.ProducerId, tbl_ref_Producers.ProducerNameEN, 
                         tbl_ref_Producers.ProducerNameShort, tbl_ref_Countries.CountryNameEN AS ProducerCountryEN, 
                         tbl_ref_Countries.CountryNameRU AS ProducerCountryRU, tbl_ref_Countries.CountryNameUA AS ProducerCountryUA, h_tbl_Material.OnStock, 
                         h_tbl_Material.SupplierID, h_tbl_Material.Supplier, tbl_ref_Suppliers.SupplierName, tbl_ref_Suppliers.TrPeriodDays AS TrPeriod, 
                         h_tbl_Material.A1, h_tbl_Material.SLPeriodM, h_tbl_Material.HFPeriodD, h_tbl_Material.HygNum, h_tbl_Material.Hygienic, 
                         h_tbl_Material.HygIssuedDate, h_tbl_Material.CER_MoscRepHier, h_tbl_Material.PriceCurrExport, h_tbl_Material.PricePerExport, 
                         h_tbl_Material.PriceValueExport, h_tbl_Material.Created, h_tbl_Material.HoldInd, h_tbl_Material.SC, h_tbl_Material.DescTranslit, 
                         h_tbl_Material.DescInvEN, h_tbl_Material.FC, h_tbl_Material.Plt_GRSW_KG, h_tbl_Material.Plt_NETW_KG, h_tbl_Material.PriceCurr, 
                         h_tbl_Material.PriceValue, h_tbl_Material.PricePer, h_tbl_Material.HarmonizedCode, h_tbl_Material.CustomsDuty, 
                         h_tbl_Material.PackingGroup, h_tbl_Material.PackingData, h_tbl_Material.HygValidToDate, h_tbl_Material.U_MU, h_tbl_Material.MUPack, 
                         h_tbl_Material.METROCode AS METROCodeDotted, h_tbl_Material.CUVolWeightValue, h_tbl_Material.CUVolWeightUoM, 
                         vwMetroListing_Short.KA_MCode AS MetroCode, vwMetroListing_Short.PackQty AS MetroPackQty, vwMetroListing_Short.PackType AS MetroPackType, 
                         vwMetroListing_Short.KA_EAN AS MetroEAN, vwAuchanListing_Short.KA_MCode AS AuchanCode, vwAuchanListing_Short.PackQty AS AuchanPackQty, 
                         vwAuchanListing_Short.PackType AS AuchanPackType, vwAuchanListing_Short.KA_EAN AS AuchanEAN, vwFozzyListing_Short.KA_MCode AS FozzyCode, 
                         vwFozzyListing_Short.PackQty AS FozzyPackQty, vwFozzyListing_Short.PackType AS FozzyPackType, vwFozzyListing_Short.KA_EAN AS FozzyEAN, 
                         h_tbl_Material.CustVal_Unilever, h_tbl_Material.CustVal_DMSU, vw_MaterialStatus.ValidSinceYrWkSat AS StatusValidSinceYrWkSat, 
                         vw_MaterialStatus.SuccessorMCode, vwCosmoListing_Short.KA_MCode AS CosmoCode, vwCosmoListing_Short.PackQty AS CosmoPackQty, 
                         vwCosmoListing_Short.PackType AS CosmoPackType, vwCosmoListing_Short.KA_EAN AS CosmoEAN, vwREALListing_Short.KA_MCode AS RealCode, 
                         vwREALListing_Short.PackQty AS RealPackQty, vwREALListing_Short.PackType AS RealPackType, vwREALListing_Short.KA_EAN AS RealEAN, 
                         vwKaravanListing_Short.KA_MCode AS KaravanCode, vwKaravanListing_Short.PackQty AS KaravanPackQty, 
                         vwKaravanListing_Short.PackType AS KaravanPackType, vwKaravanListing_Short.KA_EAN AS KaravanEAN, vwEKOListing_Short.KA_MCode AS EKOCode, 
                         vwEKOListing_Short.PackQty AS EKOPackQty, vwEKOListing_Short.PackType AS EKOPackType, vwEKOListing_Short.KA_EAN AS EKOEAN, 
                         h_tbl_Material.DescSemiUA80
FROM ((((((((tbl_ref_Countries RIGHT JOIN (tbl_ref_Producers RIGHT JOIN ((h_tbl_Material INNER JOIN vw_MaterialStatus ON h_tbl_Material.MCode = vw_MaterialStatus.MCode) 
LEFT JOIN 
tbl_ref_Suppliers ON h_tbl_Material.SupplierID = tbl_ref_Suppliers.SupplierId) ON tbl_ref_Producers.ProducerId = h_tbl_Material.ProducerId) ON tbl_ref_Countries.CountryId = tbl_ref_Producers.CountryId) 
LEFT JOIN 
vw_MaterialPalletizing_Unit_Case ON h_tbl_Material.MCode = vw_MaterialPalletizing_Unit_Case.MCode
) 
LEFT JOIN 
vw_KAListing_Short AS vwREALListing_Short ON (h_tbl_Material.MCode = vwREALListing_Short.UL_MCode AND 
						 vwREALListing_Short.KAId = 4
)) 
LEFT JOIN 
vw_KAListing_Short AS vwEKOListing_Short ON (h_tbl_Material.MCode = vwEKOListing_Short.UL_MCode AND 
                         vwEKOListing_Short.KAId = 8
))
LEFT JOIN 
vw_KAListing_Short AS vwKaravanListing_Short ON (h_tbl_Material.MCode = vwKaravanListing_Short.UL_MCode AND 
                         vwKaravanListing_Short.KAId = 7
))
LEFT JOIN 
vw_KAListing_Short AS vwMetroListing_Short ON (h_tbl_Material.MCode = vwMetroListing_Short.UL_MCode AND 
                         vwMetroListing_Short.KAId = 1
))
LEFT JOIN 
vw_KAListing_Short AS vwFozzyListing_Short ON (h_tbl_Material.MCode = vwFozzyListing_Short.UL_MCode AND 
                         vwFozzyListing_Short.KAId = 5
))
LEFT JOIN 
vw_KAListing_Short AS vwAuchanListing_Short ON (h_tbl_Material.MCode = vwAuchanListing_Short.UL_MCode AND 
                         vwAuchanListing_Short.KAId = 2
)) 
LEFT JOIN 
vw_KAListing_Short AS vwCosmoListing_Short ON (h_tbl_Material.MCode = vwCosmoListing_Short.UL_MCode AND 
                         vwCosmoListing_Short.KAId = 6
						 )

http://www.sql.ru/forum/1098732/oshibka


Как проверить программно в VBA имеет ли поле тип "Вложение"?

Среда, 04 Июня 2014 г. 21:30 + в цитатник
Добрый день, коллеги!

Собсно, сабж.
Есть коллекция ADODB.Recordset.Fields, по ней идёт цикл. Некоторые поля имеют тип "Вложение" (Attachment). На этапе программирования закладывать предопределённый набор полей нет желания.
Соответственно, надо как-то программно отличить поля типа "Вложение" от всех остальных.

И вот тут я застрял. Свойство Type у таких полей имеет тип Variant/Object. Но это ведь ещё не является однозначным признаком типа "Вложение".
Можно пойти деревенским путём и просто присваивать как-то так:

Dim att As ADODB.Recordset
Set att = fld.Value

после чего перехватывать ошибку.
Если ошибки нет, то поле является multivalued, что, как я понял, является практическим синонимом типа "Вложение". Если ошибка есть, то поле имеет другой тип.
Такой вариант работает, но как-то оно тупо. Уверен, есть более разумные и надёжные пути.

http://www.sql.ru/forum/1098634/kak-proverit-programmno-v-vba-imeet-li-pole-tip-vlozhenie


Помогите пожалуйста со связями бедному студенту

Среда, 04 Июня 2014 г. 20:42 + в цитатник
Нужно сделать связи и посмотреть правильность полей в базе. База для приложения, в котором будет назначаться стипендия студенту. Прошу помощи.
База тут!

http://www.sql.ru/forum/1098625/pomogite-pozhaluysta-so-svyazyami-bednomu-studentu


доработать код для печати приложений к диплому

Среда, 04 Июня 2014 г. 17:34 + в цитатник
Имеются в рекордсете MyTable поля [Для Word].[diplom] ,[Для Word].[Назва],[Для Word].[Години]
Поле diplom логическое обозначающее ,если "Да" то этот предмет [Для Word].[Назва] попадает в приложение к диплому, но есть еще записи с этим же предметом ,которые не должны попасть в приложение к диплому (зачеты по тому же предмету) т.е. diplom = "Нет", но часы в этих записях [Для Word].[Години] необходимо добавить к часам записи попадающей в диплом.

Что было яснее на примере:
имеющийся рекордсет выдает для печати
[Для Word].[Назва] [Для Word].[Години] [Для Word].[diplom]
Информатика 100 Да
Информатика 60 Нет
Информатика 70 Нет
а надо получить для печати :
Информатика 230 (100+60+70)

Какой код или какой метод можно использовать для модификации нижестоящего кода:


Имеется рабочий код:
Private Sub Кнопка16_Click()
Dim app As Word.Application
Dim strPathDot As String, strPathWord As String

strPathDot = CurrentProject.Path & "\Комар.dot"
strPathWord = CurrentProject.Path & "\Додаток " & Forms![Word]![Фамилия] & " " & Forms![Word]![имя_о] & ".doc"

'Если есть документ с таким же названием и местом расоложения, выдается сообщение о замене
If Dir(strPathWord) <> "" Then
DlgUser = MsgBox("Документ с таким именем ранее уже был создан. Заменить его?", vbYesNo, "admin")

'Если нет, открывается старый документ
If DlgUser = vbNo Then
Set app = CreateObject("Word.Application")
With app
.Visible = True
.Documents.Open strPathWord
End With
Set app = Nothing
Else
GoTo nn
End If
Else

'Если такого документа нет или, если человек выбрал "да", то создается новый документ взамен старого на основе шаблона
nn:
Set app = New Word.Application
app.Visible = True
app.Documents.Add strPathDot
With app.ActiveDocument
'Dim w As Variant
'w = FullDate(Forms![Word]![dn])
On Error Resume Next
'Вставка данных
.Bookmarks("Фамилия").Range.Text = Forms![Word]![Фамилия]
.Bookmarks("Имя_о").Range.Text = Forms![Word]![имя_о]
.Bookmarks("dn").Range.Text = FullDate(Forms![Word]![dn])
.Bookmarks("ndo").Range.Text = Forms![Word]![ndo]
.Bookmarks("fn").Range.Text = Forms![Word]![fn]
.Bookmarks("bak").Range.Text = Forms![Word]![bak]
.Bookmarks("Специализация").Range.Text = Forms![Word]![Специализация]
.Bookmarks("sp").Range.Text = Forms![Word]![sp]
.Bookmarks("tip_dok").Range.Text = Forms![Word]![tip_dok]
.Bookmarks("bak1").Range.Text = Forms![Word]![bak1]
.Bookmarks("s").Range.Text = Forms![Word]![s]
.Bookmarks("kv").Range.Text = Forms![Word]![kv]

.Bookmarks("ddip").Range.Text = FullDate(Forms![Word]![ddip])
.Bookmarks("ndiplom").Range.Text = Nz(Forms![Word]![ndiplom], "")
.Bookmarks("bdipl_bal").Range.Text = Nz(Forms![Word]![bdipl_bal], "")
.Bookmarks("datdruk").Range.Text = FullDate(Forms![Word]![datdruk])
.Bookmarks("dalshe").Range.Text = Nz(Forms![Word]![dalshe], "")

.Bookmarks("ispit").Range.Text = Nz(Forms![Word]![ispit], "")
.Bookmarks("bispit_bal").Range.Text = Nz(Forms![Word]![bispit_bal], "")
.Bookmarks("npra").Range.Text = Forms![Word]![npra]
.Bookmarks("ispit1").Range.Text = Nz(Forms![Word]![ispit1], "")
.Bookmarks("bispit_bal1").Range.Text = Nz(Forms![Word]![bispit_bal1], "")
.Bookmarks("mn").Range.Text = FullDate(Forms![Word]![mn])
.Bookmarks("os_baza").Range.Text = Nz(Forms![Word]![os_baza], "")
.Bookmarks("longpra").Range.Text = Nz(Forms![Word]![longpra], "")
.Bookmarks("data_dip").Range.Text = FullDate(Forms![Word]![data_dip])
.Bookmarks("npdip").Range.Text = Nz(Forms![Word]![npdip])



If Forms![Word]![fn] = "денна" Then

.Bookmarks("www").Range.Text = Forms![Word]![www]
.Bookmarks("www1").Range.Text = Forms![Word]![www1]
.Bookmarks("www2").Range.Text = Forms![Word]![www2]
.Bookmarks("www3").Range.Text = Forms![Word]![www3]
.Bookmarks("www4").Range.Text = Forms![Word]![www4]
.Bookmarks("termin").Range.Text = Forms![Word]![termin]

Else
.Bookmarks("www").Range.Text = Forms![Word]![zwww]
.Bookmarks("www1").Range.Text = Forms![Word]![zwww1]
.Bookmarks("www2").Range.Text = Forms![Word]![zwww2]
.Bookmarks("www3").Range.Text = Forms![Word]![zwww3]
.Bookmarks("www4").Range.Text = Forms![Word]![zwww4]
.Bookmarks("termin").Range.Text = Forms![Word]![termin1]

End If


Dim MyTable As DAO.Recordset
Set MyTable = CurrentDb.OpenRecordset("SELECT [Для Word].[КодСтудента],[Для Word].[diplom] ,[Для Word].[Назва],[Для Word].[Ба],[Для Word].[Години],[Для Word].[fn],[Для Word].[navk],[Для Word].[navg], [Для Word].[znavk],[Для Word].[znavg] FROM [Для Word] WHERE ((([Для Word].[КодСтудента])=" & Forms![Word]![КодСтудента] & "))")
Dim i As Variant
Dim j As Variant

Dim Назв As Variant
Dim Бал As Variant
Dim Год As Variant

i = 1
Do While Not MyTable.EOF
If (MyTable.Fields("fn")) = "денна" Then
j = CStr(Round(((MyTable.Fields("години")) * (MyTable.Fields("navk")) / (MyTable.Fields("navg"))), 1))
Else
j = CStr(Round(((MyTable.Fields("години")) * (MyTable.Fields("znavk")) / (MyTable.Fields("znavg"))), 1))
End If
Назв = "Назва" & i
Бал = "Ба" & i
Год = "Години" & i

If i >= 1 Then .Bookmarks(Назв).Range.Text = CStr(MyTable.Fields("Назва"))
.Bookmarks(Бал).Range.Text = CStr(MyTable.Fields("Ба"))

.Bookmarks(Год).Range.Text = CStr(MyTable.Fields("Години")) & "/" & j
i = i + 1
MyTable.MoveNext
Loop

MyTable.Close

.SaveAs strPathWord
End With
Set app = Nothing
End If
funOutputWord = True
Exit_:

End Sub

http://www.sql.ru/forum/1098593/dorabotat-kod-dlya-pechati-prilozheniy-k-diplomu


Выполнить процедуру при открытии базы данных

Среда, 04 Июня 2014 г. 13:53 + в цитатник
Здравствуйте, необходимо при открытии базы данных выполнить процедуру обновления. А вот куда ее прописать. В параметрах есть возможность открытия определенной формы при открытии базы данных, но мне это не подходит. Т.К. нужно удалить все существующие формы, запросы, отчеты, макросы и модули, по том импорт всех форм, запросов, отчетов, макросов и модулей

http://www.sql.ru/forum/1098536/vypolnit-proceduru-pri-otkrytii-bazy-dannyh


Нужна помощь в Microsoft Access 2003

Среда, 04 Июня 2014 г. 13:45 + в цитатник
Необходимо убрать такую ошибку что у меня получается что один автобус может ехать в двух направлениях одновременно (в оду и туже дату и водители одни и теже могут ехать в различных направлениях в одну и туже дату) надо как то реализовать на ваше усмотрение чтоб только один автобус ехал в одном направление и одни водители и если выбирают другой то писало ошибку или автобус занят
б/д АИСУ пассажирскими перевозками
связь viktormashinov@mail.ru

http://www.sql.ru/forum/1098531/nuzhna-pomoshh-v-microsoft-access-2003


Визуализация временного интервала

Среда, 04 Июня 2014 г. 12:18 + в цитатник
Всем привет!
На форуме я находил способы визуализации временных интервалов, но если честно как то все муторно и сложно :)
Поэтому хотел бы знать, есть ли способ более простой визуализации для следующей задачи:
есть два поля: дата начала события и дата окончания события (оба поля в формате дата/время и заполняются пользователем вручную).
задача наипростейшая: отобразить в виде закрашенной шкалы от даты начала до даты окончания расположение данной задачи во времени (по типу как ЗДЕСЬ, но как-нибудь попроще :) )
Заранее спасибо за помощь!

http://www.sql.ru/forum/1098503/vizualizaciya-vremennogo-intervala


Авторизационная форма. Роли: Администратор, Менеджер и Гость.

Среда, 04 Июня 2014 г. 11:50 + в цитатник
Доброго времени суток, форумчане!
Есть форма, для авторизации к базе данных. У каждого пользователя есть свой логин и пароль, кроме гостя.
Как сделать так чтобы выбрав логин: Гость, мне не надо было бы вводить пароль. Данные паролей хранятся в таблице "Роли", но для гостя поле пустое. Соответственно когда запускаю форму, выбираю гостя и не ввожу пароль, нажимаю ОК пишет "Неверный пароль".
Помогите разобраться, заранее благодарен.

Код для кнопки ок, где Поле6 - поле ввода пароля, а Поле8 - скрытое поле, проверяющее данные из таблицы "Роли":

Private Sub Кнопка10_Click()
Dim user As String
Dim Msg, Style, Title, Help, Ctxt, Response, MyString
Msg = "Вы ввели неверный пароль!"
Style = vbOKOnly + vbExclamation
Title = "Внимание!!!"

If Me![Поле6] = Me![Поле8] Then
user = Me![ПолеСоСписком4]
If user = "Гость" Then
Form_Инфа_о_туре.Кнопка10.Visible = False
End If


If Me![ПолеСоСписком4] = "1" Then
DoCmd.OpenForm "Кнопочная_форма"

ElseIf Me![ПолеСоСписком4] = "2" Then
' посредством OpenArgs (аргументы открытия формы) передаем параметр название пользователя
DoCmd.OpenForm "Кнопочная_форма", , , , , acNormal, "Менеджер"
ElseIf Me![ПолеСоСписком4] = "3" Then
' посредством OpenArgs (аргументы открытия формы) передаем параметр название пользователя
DoCmd.OpenForm "Кнопочная_форма", , , , , acNormal, "Гость"
End If

DoCmd.Close acForm, "Вход"
Else
Response = MsgBox(Msg, Style, Title, Help, Ctxt)
Me![Поле6].Value = ""
Me![Поле6].SetFocus
End If

End Sub

http://www.sql.ru/forum/1098493/avtorizacionnaya-forma-roli-administrator-menedzher-i-gost



Поиск сообщений в rss_sql_ru_access_programming
Страницы: 353 ... 52 51 [50] 49 48 ..
.. 1 Календарь