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

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

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

Как создать excel файл из Access и затем импортировать в него данные.

Четверг, 20 Апреля 2017 г. 13:52 + в цитатник
Приветствую!
Появилась необходимость создать эксель файл из Access, никак не могу найти никак инфы по этому поводу. Помогите пожалуйста.

http://www.sql.ru/forum/1257764/kak-sozdat-excel-fayl-iz-access-i-zatem-importirovat-v-nego-dannye


Вложенные With

Четверг, 20 Апреля 2017 г. 13:49 + в цитатник
Не обладает ли кто тайным знанием: как во вложенном With обратиться к полю/методу ВЕРХНЕГО уровня

' Здесь - не работает
.Parameters.Item("@Line").value = str

  With New ADODB.Command
    .CommandText = "Finances.accTicketsRC_FileLineLoad"
    .CommandType = adCmdStoredProc
    .CommandTimeout = 120
    .NamedParameters = True
    .ActiveConnection = CurrentProject.Connection
    .Parameters.Append .CreateParameter("Return", adInteger, adParamReturnValue)
    .Parameters.Append .CreateParameter("@File", adVarWChar, adParamInput, 512, file)
    .Parameters.Append .CreateParameter("@Line", adVarWChar, adParamInput, 4000)

     ' Здесь - работает
    .Parameters.Item("@Line").value = str
   
    With New ADODB.stream
      .Charset = "Windows-1251"
      .Type = adTypeText
      .Open
      .LoadFromFile file
      While Not .EOS
        str = .ReadText(adReadLine)
        Debug.Print str

        ' Здесь - не работает
        .Parameters.Item("@Line").value = str

        .Execute Options:=adExecuteNoRecords
      Wend
      .Close
    End With
    
  End With

http://www.sql.ru/forum/1257761/vlozhennye-with


Длина пути?

Четверг, 20 Апреля 2017 г. 12:50 + в цитатник
Добрый день.
А2000.
В процедуре используется FileCopy для копирования файлов.
В локальной версии все работает, в сетевой - нет (доступ полный). Пишет что путь не верен.
Может ли быть такое, что сетевой путь слишком длинный? Как обойти эту проблему, может кто сталкивался?

http://www.sql.ru/forum/1257754/dlina-puti


Как разбить текст

Четверг, 20 Апреля 2017 г. 10:05 + в цитатник
Добрый день уважаемые ГУРУ!
Подскажите как разбить текст хранящийся в ячейке на несколько.
(в экселе така фукнция исть - текст по столбцам.)
для примера в столбце есть некие цифровые значения в виде следующего

ХХ:ХХ:ХХХХХХХ:ХХХХХХХ
хочу в запросе их разбить на 4 столбика.
как объединить знаю а вот как обратно нет :(

http://www.sql.ru/forum/1257723/kak-razbit-tekst


Access и MSSQL, не изменить данные в таблице

Среда, 19 Апреля 2017 г. 21:28 + в цитатник
Впервые переношу данные Access-овской базы на MSSQL сервер. Чтобы минимизировать затрты времени, средствами Access скопировал таблицы на сервер и прилинковал их. Из некоторых запросов сделал View, а некоторые оставил в Access. Столкнулся со следующей проблемой:
Имеется таблица Т1, перенесенная на сервер, и View V1, построенное на основе данных из Т1. Имеется разделенная форма Ф1, которая использует V1, а иногда из Ф1 вызывается форма Ф2, в которой я программно (запросом Access, выполняемым с помощью CurrentDb.Execute) пытаюсь менять данные в Т1. Они не меняются. Все зависает и через несколько минут выдается сообщение типа «ODBC. Не удалось обновить данные в присоединенной таблице Т1». Если Ф1 закрыть, то все обновляется. Когда данные лежали в Access-овской базе – все выполнялось.
Наверное об этом уже сто раз спрашивали, но я не нашел. Прошу помочь советом. И раъяснить, в чем дело.
Access 2010, MSSQL 2014, Счетчик в таблице есть.

http://www.sql.ru/forum/1257684/access-i-mssql-ne-izmenit-dannye-v-tablice


Файл xlsm, а читает только 65535 записей

Среда, 19 Апреля 2017 г. 16:08 + в цитатник
Подключаюсь к текущему файлу 2 разными способами:

1)
strConnection = "Provider=Microsoft.ACE.OLEDB.12.0;" & _
"Data Source=" & ThisWorkbook.FullName & ";" & _
"Extended Properties=""Excel 12.0 Macro;HDR=" & _
IIf(Headers, "Yes", "No") & """"


2)
strConnection = "Driver={Microsoft Excel Driver (*.xls, *.xlsx, *.xlsm, *.xlsb)};" & _
"DBQ=" & ThisWorkbook.FullName & ";"


выполняю запрос:
SELECT count(*) as q FROM [myLIST$A:H]" 

или
SELECT count(*) as q FROM [myLIST$A1:H100000]" 


результат - 65535, но на листе myLIST 375 000 записей

Подскажите, плиз, почему не читаются все записи.

http://www.sql.ru/forum/1257638/fayl-xlsm-a-chitaet-tolko-65535-zapisey


Возможны ли в SQL рекурсивные запросы?

Среда, 19 Апреля 2017 г. 10:27 + в цитатник
Имеем в базе таблицу каталогов и файлов.
Что-то вида:
Create table ( 
      Type varchar(4),.      -- признак обычный файл "re" или каталог "di"
      Folder_id   INTEGER,.     -- ключ уникальный, общий и для каталогов и обычных файлов
      Parent_id. INTEGER,.     -- ссылка на Folder_id каталога в котором файл лежит или на родительский кат.
      FileName.   Varchar (255) )


Так вот, вопрос: можно ли задать запрос к этой таблице только на SQL так, чтобы в результате получить список всех файлов с именем readme.txt как бы глубоко они не лежали?
 SELECT Folder_id, FileName from catalogue
Where FileName="readme" and folder_id in (SELECT folder_id from catalogue);


С уважением,
Казаков С.А.

http://www.sql.ru/forum/1257574/vozmozhny-li-v-sql-rekursivnye-zaprosy


Помогите с гиперссылкой

Вторник, 18 Апреля 2017 г. 16:21 + в цитатник
Здравствуйте!
Вставляю для поля с гиперссылкой такой код

Private Sub СсылкаНаДоговор_Click()
On Error Resume Next
txtHyperlink.SetFocus
DoCmd.RunCommand acCmdInsertHyperlink
Exit Sub

где "СсылкаНаДоговор" соответственно поле для добавления оной
код проработал 5 минут и умер.
стала выдаваться ошибка Expected End Sub

Пожалуйста, пожалуйста помогите))

http://www.sql.ru/forum/1257504/pomogite-s-giperssylkoy


При обновлении формы методом Requery объект RecordSet уничтожается.

Вторник, 18 Апреля 2017 г. 09:20 + в цитатник
Доброго дня.
Есть две таблицы ReportVariants и ReportSheets, связь один ко многим по ключевому полю первой таблицы ReportVariants.ID. Включено встроенное обеспечение целостности с каскадным изменением/удалением. На главной форме ReportSettings есть две подчиненные формы, соответствующие этим таблицам. Запрос на выборку данных из второй таблицы ReportSheets отображает только записи соответствующие активной записи в таблице ReportVariants.
SELECT ReportSheets.Name, ReportSheets.ReportID, ReportSheets.ID
FROM ReportSheets
WHERE (((ReportSheets.ReportID)=[ReportVariants].[Form].[ID]));

Для обновления второй формы ReportSheets при изменении положения курсора для формы ReportVariants на событие ReportVariants.Form.OnCurrent установлен макрос

Private Sub Form_Current()
    Parent.ReportSheets.Requery
End Sub


Картинка с другого сайта.

Неприятность происходит при интерактивном удалении строки из первой подчиненной формы ReportVariants.

Картинка с другого сайта.

Вне зависимости от согласия пользователя с удалением, событие ReportVariants.Form.OnCurrent срабатывает дважды, и при втором вызове объект ReportSheets.Form.RecordSet становится равным Nothing.

Картинка с другого сайта.

Все, после этого вторая подчиненная форма ReportSheets не обновится, пока форма не будет прееоткрыта, поскольку источник данных уничтожен. Как с этим бороться?

Используется Access 2010 x64. Раньше Access никогда не использовал, сейчас вынужден прибегнуть именно к нему. В процессе попыток быстро пришел к выводу, что чем меньше пользоваться встроенными возможностями Access, используя обработку событий вручную на VBA, тем стабильнее будет результат. Возможно я ошибаюсь. В данном случае, для меня проще всего запретить интерактивное удаление строк и сделать то же самое запросом из макроса. Но хотелось бы узнать у специалистов, я что-то не так сделал, или это просто такой баг у самого Access. Полагаю с этим уже сто раз столкнулись, но я не нашел.

База с только описанными объектами прилагается. Достаточно открыть форму ReportVariants и попробовать интерактивно удалить строку из первой таблицы.

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

http://www.sql.ru/forum/1257450/pri-obnovlenii-formy-metodom-requery-obekt-recordset-unichtozhaetsya


перенести файл

Понедельник, 17 Апреля 2017 г. 22:00 + в цитатник
Скажите, а как перенести файл с помощью name, если в папке, куда переносим файл, уже есть файл с таким именем.

можно ли как-то указать, что если файл существует, то его надо переписать?

спасибо

http://www.sql.ru/forum/1257437/perenesti-fayl


OpenRecordset по условию

Понедельник, 17 Апреля 2017 г. 20:00 + в цитатник
Добрый вечер!
Пытаюсь посчитать кол-во записей по условию:

Sub Con()
Dim X As Long
Dim rst As Recordset

X = 877717 'в реале Х - вычисляемая переменная
Set rst = CurrentDb.OpenRecordset("SELECT * FROM tPrescripts WHERE idPrescript = 877717")
'Set rst = CurrentDb.OpenRecordset("SELECT * FROM tPrescripts WHERE idPrescript = X") '- НЕ РАБОТАЕТ
MsgBox rst.RecordCount
End Sub


idPrescript типа Длинное целое.
Подскажите, как правильно написать условие с переменной Х вместо 877717?

http://www.sql.ru/forum/1257423/openrecordset-po-usloviu


Помогите советом

Воскресенье, 16 Апреля 2017 г. 07:54 + в цитатник
Пытаюсь сделать вложенный макрос для поля формы. Проблема в том, что неактивна кнопка "Показать все действия", то есть я не могу воспользоваться все перечнем макрокоманд
если захожу в создание макроса через меня то эта кнопка активна
подскажите как решить эту проблему?

http://www.sql.ru/forum/1257287/pomogite-sovetom


Регулярное выражение

Воскресенье, 16 Апреля 2017 г. 03:30 + в цитатник
Добрый вечер! Есть строка: "111111 5555%5555 6666 7777%3456789 65678 5678%789878" Как одним регэкспом выделить слова с % а вторым без % ?

http://www.sql.ru/forum/1257283/regulyarnoe-vyrazhenie


База данных для расчета премий в больнице - MS Access

Воскресенье, 16 Апреля 2017 г. 01:51 + в цитатник
Доброго времени суток!
Возникла необходимость сделать базу данных для расчета премий в больнице.
Логика следующая:
1. Пациенту выполняется оперативное хирургическое вмешательство из категории ВПМ.
2. Спустя некоторое время (обычно месяц-два) на счет больницы поступает оплата за выполненную операцию из бюджета субъекта.
3. Зав. отделением или старшая медсестра начинают перелистывать журнал операций в поисках тех пациентов, за которых были выплачены целевые средства и начинают считать премию по каждой связке пациент-сотрудник вручную.

Моей целью было создать базу данных, в которой будет содержаться информация о выполненных операциях (№ истории болезни, ФИО пациента, дата операции, название операции, выделенные средства) и сотрудниках, участвующих в операции (ФИО, таб. N, роль).

Логика расчета следующая:
1. 20% от поступивших на премии (по каждому больному) средств распределяется между опосредованными участниками операции (те, кто обеспечивал оперативное пособие не прямо): старшая медсестра, зав. отделением, сестре хозяйка. [Эти средства всегда идут одним и тем же людям.]
2. 80% - на непосредственных участников операции: медсестер (хирурги не учитываются, у них другой канал расчета).
В операции, в числе прочих, принимают участие 2 медсестры. Одна из них - стерильная (намытая на операцию, стоит за сестринском столом, подает инструмент, ассистирует), вторая - санитарящая (она не стерильна и помогает медсестре 1 открывать нестерильные упаковки, поправляет свет, моет хир. инструмент и т.п.). [Эти средства всегда идут разным людям]
Между ними премия распределяется таким образом (если принять, что 80% от всей суммы для них двоих = 100%):
М/с 1 - 66,67% (2/3 оставшейся суммы) или 53,336% от первоначальной суммы;
М/с 2 - 33,33% (1/3 оставшейся суммы) или 26,664% от первоначальной суммы.

В кратком виде:
1. Зав. отделения - 7,5%
2. Старшая медсестра - 7,5%
3. Сестра-хозяйка - 5,0%
4. Медсестра №1 - 53,336%
5. Медсестра №2 - 26,664%

При чем, одна и та же медсестра за месяц участвует в разных операциях и в разных ролях (№1 или №2).
В итоговом отчете было бы необходимо суммировать суммы каждой медсестры (что бы не дублировать фамилии), и автоматически, без ввода "Роли" вычислять суммы зав. отд, ст. м/с и с/х.

Что необходимо было сделать:
Создать таблицу со списком сотрудников и форму ввода этих данных;
Создать таблицу со списком операций и выделенных средств и форму ввода этих данных;
Сделать возможным печать отчета за выбранный период, в котором автоматически будут проставляться ФИО сотрудников, их табельные номера и должности, сумма средств, заработанных в выбранном выше периоде.

+ Пример отчета



На одном из форумов предложили схему таблиц, я ее реализовал (точнее скопировал) но дальше просто ступор. Вссе равно не могу понять что и как с этим делать.
+ Схема данных


, где:
EventTypes - Описание типов событий (операция, например)
Events - описание событий
Companies - описание компаний (Мед учреждение, например)
Participants - описание участников событий и компаний
Persons - описание людей
Roles - описание ролей людей в составе участников
Payments - описание платежей
PayRolls - описание начислений участникам событий

http://www.sql.ru/forum/1257281/baza-dannyh-dlya-rascheta-premiy-v-bolnice-ms-access


запрос с параметрами из формы

Суббота, 15 Апреля 2017 г. 22:20 + в цитатник
Еще раз добрый вечер, тем кто не спит!

Не работают запросы с парметрами из формы . все делаю вроде правельно, а не работает


в запросе в столбце ставлю : [forms]![ФормаЗапрос1]![велаяту], где ФормаЗапрос1 - имя формы , велаяту имя поля со списком в форме


запрос SQL выглядит так :
SELECT sprav_etrapov.etrap, sprav_velayat.velayat, таблица_паспортов.p5, таблица_паспортов.р6, таблица_паспортов.р7, таблица_паспортов.р8, таблица_паспортов.р9, таблица_паспортов.р12, таблица_паспортов.p65, таблица_паспортов.p66, таблица_паспортов.p73, таблица_паспортов.p74, таблица_паспортов.p75
FROM sprav_velayat INNER JOIN (sprav_etrapov INNER JOIN таблица_паспортов ON sprav_etrapov.kod_e_p6 = таблица_паспортов.р6) ON sprav_velayat.kod_v_p5 = таблица_паспортов.p5
WHERE (((sprav_velayat.velayat)=[forms]![ФормаЗапрос1]![велаяту]) AND ((таблица_паспортов.р12)=[год постройки]) AND ((таблица_паспортов.p74)>=1.5))
ORDER BY таблица_паспортов.p5, таблица_паспортов.р6, таблица_паспортов.р7, таблица_паспортов.р8;
и не работает, один раз сработало, а потом перестало! (( НЕ знаю что делать!! прикрепляю файл с базой, может кто , что посоветует, вроде все просто, а никак не идет

http://www.sql.ru/forum/1257273/zapros-s-parametrami-iz-formy


открыть

Суббота, 15 Апреля 2017 г. 16:50 + в цитатник
С офисом какая - то беда. не открывает примеры с treeview. Это только у меня? из-за того что 2016? Раньше те же самые файлы открывал. этим же 2016, но по определенным причинам мне навязали 2010. там поработал немного и перешел опять на 2016 и уже те примеры treeview открывает не корректно. и некоторые даже не открывает. Может ли кто - нибудь выложить нормальный пример treeview
например как архив YY http://www.sql.ru/forum/actualfile.aspx?id=18485202 Спасибо.

http://www.sql.ru/forum/1257262/otkryt


Ошибка: Return without GoSub

Суббота, 15 Апреля 2017 г. 08:38 + в цитатник
Добрый день!
При открытии базы данных, кликаю по кнопке:
Private Sub Îòêðûòü_êàðòî÷êó_êëèåíòà_Click()
DoCmd.OpenForm "RefreshKlient", acNormal, , "ÊîäÊëèåíòà=" & Me.FIOKlientaPoiskGL
End Sub


и получаю в ответ: "Return without GoSub"

Как только перехожу в код VBA, ничего не меняя, возвращаюсь в базу, кликаю по кнопке и все работает!

Вопрос: почему ошибка "Return without GoSub" возникает и почему открытие окна VBA решает проблему?
и самое важное: как избавиться от ошибки?

http://www.sql.ru/forum/1257232/oshibka-return-without-gosub


Добавить строку в БД Access

Суббота, 15 Апреля 2017 г. 06:08 + в цитатник
Всем привет!
Есть: Acceses файл который загружается в Excel по макросу.
Таблица: Jornal. Колонки: Id , Data (As Date), Name (As String (30))

Нужно SQL-запросом добавить данные:
1) О текущем дне, т.е Data=ТекущийДень, Name ="Перевод"
2) О последнем дне текущего месяца. т.е Data=31\12\2017, Name ="Перевод"

Добавлять значение в Excel знаю как. а как чтоб в БД?

http://www.sql.ru/forum/1257229/dobavit-stroku-v-bd-access


копирование с помощью vba

Пятница, 14 Апреля 2017 г. 12:25 + в цитатник
Здравствуйте.
Подскажите, пожалуйста, как скопировать в буфер обмена значение поля в форме с помощью vba?

http://www.sql.ru/forum/1257160/kopirovanie-s-pomoshhu-vba


Выполнение запроса запущенного разными способами

Пятница, 14 Апреля 2017 г. 08:58 + в цитатник
Доброго времени суток.
Имеем запрос на добавление с имитацией СУММУСЛИ:

strSQL="INSERT INTO tbl_TcIMP ( NumBase, ShpCount, ShpCountU, PrcSum, PrcSumU, WPS, WPSU) 
SELECT tbl_TS.shpConsInNum, Count(tbl_TS.shpid) AS Ord1, Sum(IIf([shpReal]=0,0,1)) AS OrdUch, Sum(tbl_TS.shpPrc) AS Prc, Sum(IIf([shpReal]=0,0,[shpPrc])) AS prcU, Sum(tbl_TS.shpWP) AS [WPS], Sum(IIf([shpReal]=0,0,[shpWP])) AS WPSU FROM tbl_TS
GROUP BY tbl_TS.shpConsInNum HAVING tbl_TS.shpConsInNum<>''"

Или можно по другому:
Вариант 2: (в этом запросе «-» [минус] перед SUM обязателен.
INSERT INTO tbl_TcIMP ( NumBase, ShpCount, ShpCountU, PrcSum, PrcSumU, WPS, WPSU )
SELECT tbl_TS.shpConsInNum, Count(tbl_TS.shpNumber) AS OrdCount, -Sum([shpID]/[shpID]*([shpReal]>0)) AS OrdUch, Sum(tbl_TS.shpPrc) AS [prcS], -Sum([shpPrc]*([shpReal]>0)) AS prcUch, Sum(tbl_TS.shpWP) AS [WPS], -Sum([shpWP]*([shpReal]>0)) AS WPSU FROM tbl_TS GROUP BY tbl_TS.shpConsInNum HAVING tbl_TS.shpConsInNum<>''"

Вариант 1 на локальной БД на 10000 зап. Выполняется быстрее !!!

Убрал из запросов условие WHERE и еще кое-что правил, так что приведенный запрос может быть не совсем корректен.
Реально запрос рабочий.

Запускаем разными способами оба варианта:
1. CurrentProject.Connection.Execute strSQL
2. CurrentDB.Execute strSQL
3. DoCmd.RunSQL strSQL

Все три способа все поля кромке вычисляемых по условию формируются корректно, а три поля вычисляемых по условию = 0.

Меняем подход:
    CurrentDb.CreateQueryDef "sql_temp", strSQL
    DoCmd.OpenQuery "sql_temp"
    DoCmd.DeleteObject acQuery, "sql_temp"

Имеем то что хотели. все поля сформированы и сформированы корректно.

А что не нравится аксесу (vba) в первоначальных 3-х вариантах?

http://www.sql.ru/forum/1257129/vypolnenie-zaprosa-zapushhennogo-raznymi-sposobami



Поиск сообщений в rss_sql_ru_access_programming
Страницы: 353 ... 254 253 [252] 251 250 ..
.. 1 Календарь