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

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

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

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

Вторник, 07 Июня 2016 г. 08:33 + в цитатник
Здравствуйте.
Не знаю, правильно в этой ветке данну тему разместить или VBA.

На SQL сервере каждый день формируются данные. В 00:05 стартует Джоб. Он выполняется 3 часа. Далее в 04:00 стартует Access, который обрабатывает полученные данные и формирует ряд отчетов. Отчеты формируются до 08:00. До начала рабочего дня.
При старте Access проверяется вымотались данные сервера или нет. При выполнении джоба идет логирование запросов. После завершения джоба последняя строка в логе. Finish. Access как раз запускается с проверки, есть ли в определенной таблице строка с этим текстом за сегодня. Если да, то стартуют остальные макросы. Если нет – макросы останавливаются с сообщением «Какие-то данные не выгрузились»
Раньше такая ошибка возникала если на сервере случалась какая-либо критическая ошибка. Сейчас наняли нового админа следить за базами, и время выполнения Джоба стало скакать от 3 до 7 часов. Соответственно при запуске Access в 4 часа, если джоб не выполнен, то происходит полная остановка всех запросов.
А теперь собственно вопрос:
Как сделать что бы происходила не полная остановка, а периодическая проверка таблицы на наличие в ней строки с текстом «Finish», и если ее нет, то проверка происходит через 10 минут и так далее до тех пор пока не появится. И далее запускаются остальные запросы.
Сейчас Access стартует с выполнения такого запроса:
SELECT 1/1 AS Проверка INTO [001 проверка]
FROM dbo_updateLog
WHERE (((Format([occured],"dd.mm.yyyy"))=Date()) AND ((dbo_updateLog.step)="UpdateData2 finish"));

Далее запускается следующий модуль:

Function prov()

If DCount("*", "001 проверка") > 0 Then

DoCmd.RunMacro "002 Autozapusk"

Else

MsgBox "Какие-то данные не выгрузились!"

End If

End Function

Как я думаю, мне нужно подредактировать код после Else, что бы шла проверка с определенным интервалом.
VBA не знаю. За мелкими вопросами, обращался на этот форум. Буду благодарен за помощь.

http://www.sql.ru/forum/1217229/proverka-s-opredelennym-vremennym-intervalom


Составление запроса

Понедельник, 06 Июня 2016 г. 19:04 + в цитатник
Необходимо составить запрос

надо объединить запрос по productID,
чтобы поле Figh добавлялось по минимальному ArrivalID

http://www.sql.ru/forum/1217193/sostavlenie-zaprosa


Помогите с recordset в VBA!

Понедельник, 06 Июня 2016 г. 15:07 + в цитатник
Открываю recordset по всем правилам. В нем должно быть несколько полей, а получается только одно!!!! Уже голову сломал.....

код:

dim rst as DAO.Recordset
dim strSQL as String

strSQL = "SELECT table.FirstName FROM table WHERE table.ID > 3"
set str = CurrentDB.OpenRecordset(strSQL, dbOpenDynaset)
Debug.Print rst.Recordcount
set rst = Nothing

Результат rst.Recordset всегда =1

http://www.sql.ru/forum/1217155/pomogite-s-recordset-v-vba


Теперь от обновления до Windows 10 нельзя отказаться

Понедельник, 06 Июня 2016 г. 09:23 + в цитатник
https://hi-tech.mail.ru/news/forcibly-update-to-windows10/?frommail=1
Прошу прощения, что кинул сюда, мне кажется это важная информация (на лестницу как-то некуда, и похоже - не имеет смысла)
Ранее я давал ссылку на проблемы офиса 2003 под W 10
http://www.sql.ru/forum/1202508/kto-uzal-ofis-2003-32-na-w-10-64?hl=
До сих пор стопорил все обновления как на картинках, поможет сейчас или нет - не знаю...

http://www.sql.ru/forum/1217090/teper-ot-obnovleniya-do-windows-10-nelzya-otkazatsya


кнопка печатать в access

Воскресенье, 05 Июня 2016 г. 22:09 + в цитатник
Не могу сделать кнопку Печать в отчете.(отчет Журнал прихода)

http://www.sql.ru/forum/1217066/knopka-pechatat-v-access


Insert into

Воскресенье, 05 Июня 2016 г. 21:03 + в цитатник
Скажите пожалуйста, есть в модуле формы вот такая строчка:
insert into tabl ([nn],[Naim],[art]) select [nn],[Naim],[art] from ostfildataz;"
где ostfildataz - это запрос с параметрами. При выполнении этой строки выскакивает сообщение "Слишком мало параметров. Требуется 2.
А если я выполняю запрос на добавление записей, то такого сообщения не возникает. В чем проблема? Как обойти эти параметры?

http://www.sql.ru/forum/1217062/insert-into


Добавление данных

Воскресенье, 05 Июня 2016 г. 18:25 + в цитатник
Здравствуйте, при нажатии на кнопку в форме, в таблице появляется новая строка и в каждый столбец вводятся соответствующие данные. Не могу разобраться с вводом данных в таблицу. Кто может подсказать?

http://www.sql.ru/forum/1217045/dobavlenie-dannyh


Функция на обновление процента в таблице

Суббота, 04 Июня 2016 г. 20:12 + в цитатник
Приветствую!

Использую разделенную базу данных *.mdb в среде Access 2010

Возникла такая задача:
Есть сотрудники, у которых постоянная ставка 40% от выполненных работ. Тот, кто заработал среди сотрудников максимальную зарплату, должен получать ее по процентной ставке 50%. Организовать в форме поля для вывода: суммы всех инженеров и общей стоимости ремонтов.

tbl_Tehniks

ID_TehniksDate_DawnSum_Remonta
155616.06.2015584.00
155721.06.20151347.00

где ID_Tehniks - номер техники, Date_Dawn - Дата завершения ремонта, Sum_Remonta - Общая стоимость ремонта

tbl_Okazanie_Uslug

IDID_TehniksID_GoodsQtyPricePrice_Det
11115568410.00 84.00
1121556null1500.000.00

где ID_Goods - номер запчасти, Qty - кол-во, Price - стоимость услуги, Price_Det - стоимость запчасти


tbl_Current_Tehniks
ID_Current_RemontID_TehniksID_Sotrudnik
12111111

где ID_Current_Remont - номер ремонта, ID_Tehniks - номер техники, ID_Sotrudnik - номер сотрудника


tbl_Sotrudniki
ID_SotrudnikStavka
1 40%

где ID_Sotrudnik - номер сотрудника, Stavka - процентная ставка

Общую стоимость ремонтов нахожу запросом qry_SumRem
SELECT Sum(tbl_Tehniks.Sum_Remonta) AS [Sum-Sum_Remonta], tbl_Current_Tehniks.ID_Sotrudnik
FROM tbl_Tehniks INNER JOIN tbl_Current_Tehniks ON tbl_Tehniks.ID_Tehniks = tbl_Current_Tehniks.ID_Tehniks
WHERE (((tbl_Tehniks.Date_Dawn) Between dIn() And dOut()))
GROUP BY tbl_Current_Tehniks.ID_Sotrudnik;


Стоимость запчастей нахожу запросом qry_SumDetIng
SELECT Sum([Qty]*[price_Det]) AS SumDet, tbl_Current_Tehniks.ID_Sotrudnik
FROM (tbl_Tehniks INNER JOIN tbl_Current_Tehniks ON tbl_Tehniks.ID_Tehniks = tbl_Current_Tehniks.ID_Tehniks) INNER JOIN tbl_Okazanie_Uslug ON tbl_Tehniks.ID_Tehniks = tbl_Okazanie_Uslug.ID_Tehniks
WHERE (((tbl_Tehniks.Date_Dawn) Between dIn() And dout()) AND ((tbl_Okazanie_Uslug.ID_Goods)>0))
GROUP BY tbl_Current_Tehniks.ID_Sotrudnik;


далее собираю в кучу запросом qry_Sums
SELECT qry_SumDetIng.SumDet, qry_SumRem.[Sum-Sum_Remonta], qry_SumDetIng.ID_Sotrudnik
FROM qry_SumDetIng INNER JOIN qry_SumRem ON qry_SumDetIng.ID_Sotrudnik = qry_SumRem.ID_Sotrudnik;


Хочу разобраться как организовать один запрос чтоб при максимуме у кого-то из сотрудников устанавливалась ставка 50%?
Валидность ставки всегда равна рабочей неделе.


модуль в базе
Public Function dIn() As Date
    dIn = Date - Weekday(Date, vbMonday) + 1
End Function

Public Function dOut() As Date
    dOut = Date - Weekday(Date, vbMonday) + 6
End Function


Пока все что наработал...
Private Sub Кнопка54_Click()
    Dim strSqlSRA As String
    Dim strSqlSZA As String
    Dim strSqlSD As String
    Dim strSqlSN As String
    Dim iSD As Integer
    Dim iSR As Integer
    Dim iSN As Integer
    Dim dIn As Date
    Dim dOut As Date
    Dim rst As ADODB.Recordset
        ' Тут использую местный расчет даты выборки по процедуре
        dIn = Date - Weekday(Date, vbMonday) + 1
        dOut = Date - Weekday(Date, vbMonday) + 6 
        ' Запрос, который показывает проведенную сумму ремонтов за текущую неделю
        strSqlSRA = "SELECT Sum(tbl_Tehniks.Sum_Remonta) AS All_Sum_Remonts FROM tbl_Tehniks " & _
                    "WHERE tbl_Tehniks.Date_Dawn Between #" & Format(dIn, "mm\/dd\/yy hh\:mm\:ss") & "#" & " AND #" & Format(dOut, "mm\/dd\/yy hh\:mm\:ss") & "# " & _
                    "And tbl_Tehniks.Otrem = True;"
        Set rst = New ADODB.Recordset
            rst.Open strSqlSRA, CurrentProject.Connection, adOpenKeyset, adLockOptimistic
            iSR = Format(rst.Fields("All_Sum_Remonts"), "fixed")
            rst.Close
        Set rst = Nothing
        Me.fld_All_Sum_Rem = iSR
        
        'Запрос, который показывает сумму запчастей
        strSqlSD = "SELECT Sum(tbl_Okazanie_Uslug.Price_Det * tbl_Okazanie_Uslug.Qty) AS SumDet " & _
                    "FROM tbl_Tehniks INNER JOIN tbl_Okazanie_Uslug ON tbl_Tehniks.ID_Tehniks = tbl_Okazanie_Uslug.ID_Tehniks " & _
                    "WHERE tbl_Tehniks.Date_Dawn Between #" & Format(dIn, "mm\/dd\/yy hh\:mm\:ss") & "#" & " AND #" & Format(dOut, "mm\/dd\/yy hh\:mm\:ss") & "# " & _
                    "And tbl_Tehniks.Otrem = True;"
        Set rst = New ADODB.Recordset
            rst.Open strSqlSD, CurrentProject.Connection, adOpenKeyset, adLockOptimistic
            iSD = Format(rst.Fields("SumDet"), "fixed")
            rst.Close
        Set rst = Nothing
        MsgBox iSD
        
        ' Запрос, который показывает сумму от наценки на запчасть
        strSqlSN = "SELECT Sum(([tbl_tovary].[price_naz]-[tbl_tovary].[price_tov])*[tbl_okazanie_uslug].[qty]) AS [SumNac]" & _
                    "FROM tbl_Tehniks INNER JOIN (tbl_Tovary INNER JOIN tbl_Okazanie_Uslug ON tbl_Tovary.Id_Tovar = tbl_Okazanie_Uslug.ID_Goods) ON tbl_Tehniks.ID_Tehniks = tbl_Okazanie_Uslug.ID_Tehniks " & _
                    "WHERE tbl_Tehniks.Date_Dawn Between #" & Format(dIn, "mm\/dd\/yy hh\:mm\:ss") & "#" & " AND #" & Format(dOut, "mm\/dd\/yy hh\:mm\:ss") & "#;"

        Set rst = New ADODB.Recordset
            rst.Open strSqlSN, CurrentProject.Connection, adOpenKeyset, adLockOptimistic
            iSN = Format(rst.Fields("SumNac"), "fixed")
            Me.fld_Pribyl = iSN
        MsgBox "Функция находится еще в разработке..."
        Exit Sub
        'Запрос, который показывает сумму зарплат по всем инженерам
        strSqlSZA = "SELECT Sum(([Sum-Sum_Remonta]-[SumDet])*[Stavka]) AS Zarplata " & _
                    "FROM (tbl_Sotrudniki RIGHT JOIN (qry_Sum_Rem_Ingeners LEFT JOIN qry_Sum_Detali_Ingeners " & _
                    "ON qry_Sum_Rem_Ingeners.First_Name = qry_Sum_Detali_Ingeners.Sotrudnik) " & _
                    "ON tbl_Sotrudniki.First_Name = qry_Sum_Detali_Ingeners.Sotrudnik) LEFT JOIN qry_Sum_Avans " & _
                    "ON tbl_Sotrudniki.ID_Sotrudnik = qry_Sum_Avans.ID_Sotrudnik;"
        Set rst = New ADODB.Recordset
            rst.Open strSqlSZA, CurrentProject.Connection, adOpenKeyset, adLockOptimistic
            MsgBox rst.Fields("Zarplata")
            rst.Close
        Set rst = Nothing
End Sub


Как соединить все в кучу и произвести расчет? Буду признателен за подсказки, не факт что мой алгоритм кода "лучший".

http://www.sql.ru/forum/1216969/funkciya-na-obnovlenie-procenta-v-tablice


Ребят, кто может сделать отчёт из аксесс в ворд?

Суббота, 04 Июня 2016 г. 17:57 + в цитатник

БД Access 2007

Пятница, 03 Июня 2016 г. 21:02 + в цитатник
Делаю бд в отчете не могу сделать, чтобы в отчете сумма считалась.

http://www.sql.ru/forum/1216880/bd-access-2007


Что за глюк?

Пятница, 03 Июня 2016 г. 19:57 + в цитатник
Пока база в формате mdb или accdb - все ок, перевожу ее в mde и в отчете:
/www.pichome.ru/images/2016/06/03/7CqMN31.png" target="_blank">http://www.pichome.ru/images/2016/06/03/7CqMN31.png">
там где китайщина - обычное значение типа дата-время, которое в обычном формате отображается как надо

http://www.sql.ru/forum/1216877/chto-za-gluk


ошибка при вводе даты

Пятница, 03 Июня 2016 г. 19:19 + в цитатник
для поля типа Date/Time указана маска ввода: 00\.00\.0000\.;0;
формат: dd.mm.yyyy
Региональный формат в контрольной панели: yyyy.mm.dd.

при вводе в таблицу или в форму даты типа 03.06.2016 в таблице оказывается 06.03.2016
Никак не удается добиться правильного ввода дат.
В чем тут дело?

http://www.sql.ru/forum/1216873/oshibka-pri-vvode-daty


Запрос update inner join проблемы с синтаксисом

Пятница, 03 Июня 2016 г. 18:52 + в цитатник
Добрый день, помогите пожалуйста разобраться с запросом.
В простейшей делфи программе вбиваю запросы к подключенной access базе.
Нижеприведенный запрос выполняется
автор
UPDATE orders
SET date_of_order_finish = DATEADD("d",-10,date_of_order_finish)
WHERE id_order=1;

а вот
автор
UPDATE orders
SET date_of_order_finish = DATEADD("d",0,date_of_order_finish)
FROM orders
INNER JOIN customers
ON customers.id_customer=orders.id_customer
WHERE company_name='Ампер';

работать не хочет.
Пробовал inner join брать в скобки, т.к. раньше сталкивался с тем что подключение 3 таблиц без них не работает, но все равно не выходит.

программа просто пишет ошибка синтаксиса без указания конкретной проблемы.

http://www.sql.ru/forum/1216862/zapros-update-inner-join-problemy-s-sintaksisom


в поле со списком выбор Enter -ом не приводит к генерации события "После обновления"

Пятница, 03 Июня 2016 г. 16:45 + в цитатник
Access 2002. На форме имеется простое Поле6, где вводится строка для поиска
и ПолеСоСписком39 назначение которого открыть для юзера список строк с вхождениями поисковой строки

в событии "после обновления" для Поле6 такой код:

      m_zak_list_find = Trim(UCase(Me.Поле6))
      
       DoCmd.GoToControl ("ПолеСоСписком39")
       SendKeys "%{DOWN}"




источник данных для ПолеСоСписком39 такой:

SELECT Заказной_лист_НЕОРИГ_find.key_z,  Заказной_лист_НЕОРИГ_find.txt,  Заказной_лист_НЕОРИГ_find.findtxt FROM Заказной_лист_НЕОРИГ_find WHERE (((Заказной_лист_НЕОРИГ_find.findtxt) Like '*' & get_m_zak_list_find() & '*'));



событие "вход" для ПолеСоСписком39 такой:

Me.ПолеСоСписком39 .Requery




Имеет место такое явление
после ввода поисковой строки открывается список ПолеСоСписком39 нажатие Enter не приводит к генерации события "После обновления" соответственно позиционирование заложенное

в событии "После обновления":

            Set rst = Forms![Заказной_лист_main]![Заказной_лист_неориг].Form.RecordsetClone
            
            rst.FindFirst "[key_z] = " & CStr(ko)
            
            If Not rst.EOF Then Forms![Заказной_лист_main]![Заказной_лист_неориг].Form.Bookmark = rst.Bookmark



в подчинённой форме не происходит.

Если же щёлкнуть мышкой в строку в открывшемся ПолеСоСписком39, то всё происходит как надо в любых ситуациях.

А хотелось бы всегда Enter -ом.
Как это исправить уже не знаю. Перепробовал, как мне кажется, много всего.
Enter срабатывает, если содержимое ПолеСоСписком39 изменилось.
как только оду и ту же поисковую строку вводишь раза два подряд, начинается отрицательное явление.

Подобную конструкцию применяю во многих формах, но именно на этой существует такой спотык.

Помогите исправить.

http://www.sql.ru/forum/1216843/v-pole-so-spiskom-vybor-enter-om-ne-privodit-k-generacii-sobytiya-posle-obnovleniya


DLookUp и перевод в транслит

Пятница, 03 Июня 2016 г. 15:02 + в цитатник
В MS Access 2010 в форме "Санатории" есть 2 поля: "расположение" и "перевод". Я сделал перевод транслитом из поля на русском "расположение" в поле на английском "перевод", но основная проблема в том, что при переходах на другие записи, значение поля "перевод" не меняется. Подозреваю что проблема в DLookUp и её параметрах. Как решить это маленькое недоразумение?
ссылка на базу

http://www.sql.ru/forum/1216833/dlookup-i-perevod-v-translit


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

Пятница, 03 Июня 2016 г. 14:52 + в цитатник
Шероховатости есть в комментах:
1. Окно акцеса мелькает, Visible как-то не сработал...
2. Как счетчик сделать ключом?
3. Как созданное логическое поле оформить с галочкой?

Private Sub Кнопка2_Click()
Dim appAccess As Access.Application
Dim dbs As Object, tdf As Object, fld As Variant
Dim strDB As String

    strDB = "C:\db1.mdb"
    Set appAccess = CreateObject("Access.Application")
    appAccess.Visible = False                'не помогает, окно всё равно мелькает
    
    appAccess.NewCurrentDatabase strDB
    Set dbs = appAccess.CurrentDb
    Set tdf = dbs.CreateTableDef("t1")

    Set fld = tdf.CreateField("id", dbLong)
    fld.Attributes = dbAutoIncrField         'что нужно добавить, чтобы стало не только счетчиком, но и ключом ??
    tdf.Fields.Append fld

    Set fld = tdf.CreateField("name", dbText, 255)
    tdf.Fields.Append fld
    
     Set fld = tdf.CreateField("chekbox1", dbBoolean)   ' принимает естественно 0 и -1 как сделать чтоб визуально маячила галочка?
    tdf.Fields.Append fld
    
    dbs.TableDefs.Append tdf
    Set appAccess = Nothing
    
End Sub


Кто знает, помогите, спасибо заранее...

http://www.sql.ru/forum/1216828/sozdat-bd-a-v-ney-tablicu-upersya-v-melkie-sherohovatosti


Есть ли в VBA аналог exel функции ОКРУГЛВНИЗ, ОКРУГЛВВЕРХ ?

Пятница, 03 Июня 2016 г. 12:51 + в цитатник
Найти не удалось.
Или нужно с бубном плясать?

http://www.sql.ru/forum/1216805/est-li-v-vba-analog-exel-funkcii-okruglvniz-okruglvverh


Ошибка в расчете.Как посчитать стоимость доставку за ед товаров

Пятница, 03 Июня 2016 г. 11:48 + в цитатник
Надо посчитать стоимость доставку за ед товаров.
на данный момент он считает, ArrivedID 940
Цена доставки = 7000/ (1 025 000/2500 +100)=13.725



SELECT qdfArrivalsProducts.ProductID,Notes, 
qdfArrivalsProducts.Price, qdfArrivalsProducts.Quantity,
 qdfArrivalsProducts.ArrivalID,  qdfArrivalsProducts.DeliveryCostCalc,
 DeliveryCostCalc/(select sum(Quantity/DivField) 
from tblArrivalsProducts as a where a.ArrivalID = tblArrivalsProducts.ArrivalID and tblArrivalsProducts.Notes <> 'Не считать') AS ЦенаДоставки, qdfArrivalsProducts.DivField
FROM qdfArrivalsProducts

ORDER BY qdfArrivalsProducts.DocumentDateCalc, qdfArrivalsProducts.ProductID

Как сделать так, чтобы если Notes ="Не считать" ArrivedID 940
то Цена доставки = 7000/ (1 025 000/2500 )=17,07

http://www.sql.ru/forum/1216788/oshibka-v-raschete-kak-poschitat-stoimost-dostavku-za-ed-tovarov


Переименование файла под VBA

Четверг, 02 Июня 2016 г. 20:22 + в цитатник
В чем подвох?
Пользоваться можно?

Name PathFileName.ext As PathFileName_New.ext

Можно сунуть в продакшн? На время хотя б... Чтобы с фсо не городить.
На локальном компе стендалоне. В его окружении, в смысле...

Надеюсь на без предвзятости...
.

http://www.sql.ru/forum/1216710/pereimenovanie-fayla-pod-vba


Как можно посмотреть БД Аксесс на МакБуке?

Четверг, 02 Июня 2016 г. 19:55 + в цитатник
Приветствую всех! Нужна идея.
Есть лок сеть в которой размещена БД Аксесс для работы на PC компьютерах. У начальника МакБук, он хочет видеть информацию в БД. Как можно организовать? Какие есть варианты?

http://www.sql.ru/forum/1216703/kak-mozhno-posmotret-bd-aksess-na-makbuke



Поиск сообщений в rss_sql_ru_access_programming
Страницы: 353 ... 211 210 [209] 208 207 ..
.. 1 Календарь