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

Поиск сообщений в 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 Января 2016 г. 10:56 + в цитатник
Пишу делфи приложение, база Access

есть вот такая задача
Картинка с другого сайта.

Например ставлю галку на корневом "Выгружать" - как запросом обновить все целиком ?

Либо ставлю Галку на Аудио-Видео .. пока ума не приложу...
в соседней ветке подсказали запрос

WITH CTE AS
(
  SELECT tt.ID, NULL as ID_PARENT FROM TestTree as tt
  WHERE tt.ID = 2 -- тут указываем ID на который ставим или снимаем галку
  UNION ALL
  SELECT tt.ID, tt.ID_PARENT from TestTree as tt
  JOIN CTE as c ON c.ID = tt.ID_PARENT
)
  UPDATE TestTree
  SET TestTree.A_LOAD = 0 -- или 1
  FROM CTE as c
  WHERE c.ID = TestTree.ID


Но инструкцию WIth не понимает
Картинка с другого сайта.

http://www.sql.ru/forum/1193994/pomogite-s-zaprosom


Ошибка в запросе на вывод должников....

Вторник, 05 Января 2016 г. 16:24 + в цитатник
Здравствуйте!

Пытаюсь создать запрос, чтобы выводил должников за ноябрь. Мне легче в конструкторе, но я не знаю, как совместить сразу несколько условий.

Долг, если:

  • нет пометки об оплате => тогда долг=Сумма_к_оплате_по_квитанции
  • оплата произведена после 20 числа => тогда долг=Сумма_к_оплате_по_квитанции
  • если сумма к оплате по квитанции > оплаченной суммы => тогда долг=разнице Сумма_к_оплате_по_квитанции (минус) Оплаченная_сумма

    Вот так выглядит код:

    SELECT Группа.Название_группы, [Фамилия] & " " & Mid$([Имя],1,1) & ". " & Mid$([Отчество],1,1) & "." AS ФИО_воспитанника, [Оплата]![Сумма_к_оплате_по_квитанции]-[Оплата]![Оплаченная_сумма] AS Долг
    FROM Группа INNER JOIN (Воспитанник INNER JOIN Оплата ON Воспитанник.Код_воспитанника = Оплата.Код_воспитанника) ON Группа.Код_группы = Воспитанник.Код_группы
    WHERE (((Оплата.Пометка_об_оплате) Is Null)) OR (((Оплата.Дата_оплаты)>#12/15/2015#));
    


    Помогите, пожалуйста)))
  • http://www.sql.ru/forum/1193933/oshibka-v-zaprose-na-vyvod-dolzhnikov


    Главная таблица не получает данные от подчиненной

    Вторник, 05 Января 2016 г. 15:58 + в цитатник
    Помогите пожалуйста разобраться. Переименовал главную таблицу и переименовал название поля в ней. После этого она перестала получать данные от подчиненной таблицы через мастер подстановок. Повторное здание связи через мастер подстановок или через схему данных не помогает. Где косяк?

    http://www.sql.ru/forum/1193929/glavnaya-tablica-ne-poluchaet-dannye-ot-podchinennoy


    помогите с SQL запросом

    Понедельник, 04 Января 2016 г. 22:48 + в цитатник
    Здравствуйте! Помогите плиз с SQL запросом к БД Access 2007
    Дано таблица kart следующего вида
    Key|Raion |VidZ |Obos |
    1 |Ивановский |Жалоба |Обоснована |
    2 |Юрьевский |Обращение| |
    3 |Питерский |Жалоба |Не обоснована|
    ...
    поле Key-ключевое тип счетчик,
    поле Raion наименование района тип строковый,
    поле VidZ вид заявления содержит данные Жалоба или Обращение тип строковый,
    поле Obos обоснование жалобы содержит данные Обоснована, Не обоснована тип строковый.
    Нужно сделать отчет по количеству жалоб: сколько всего поступило жалоб (количество), из них количество обоснованных и не обоснованных с разбивкой по районам:
    Район |Поступило жалоб всего| Обоснованные| Не обоснованные|

    http://www.sql.ru/forum/1193875/pomogite-s-sql-zaprosom


    Запрос с выводом N раз одной и той же строки

    Понедельник, 04 Января 2016 г. 17:07 + в цитатник
    Здравствуйте!

    Помогите пожалуйста разобраться с запросом.

    **********************
    Имеется таблица с полями:

    код; тип_товара; машина; модель; количество; цена; дата_поступления

    пример:
    --------
    0 ковры_салона шевролет круз 2 800 01.01.2016
    1 ковры_салона митсубиши аsx 3 950 01.01.2016
    **********************

    задача:
    вывести список строк: машина, модель, цена; чтобы каждая строка выводилась такое число раз, какое указано в поле количество.

    в нашем примере будет:
    ---------------------------
    шевролет круз 800
    шевролет круз 800
    митсубиши аsx 950
    митсубиши аsx 950
    митсубиши аsx 950
    ---------------------------

    Как можно состряпать такой запрос?

    http://www.sql.ru/forum/1193833/zapros-s-vyvodom-n-raz-odnoy-i-toy-zhe-stroki


    NOT с несколькими LIKE

    Понедельник, 04 Января 2016 г. 16:02 + в цитатник
    Не работает запрос, в котором надо вывести всю таблицу за исключением нескольких вариантов буквосочетаний:

    SELECT *
    FROM [Таблица1]
    WHERE [Название поля] NOT LIKE '*abc*' OR [Название] NOT LIKE '*dfg*';

    Где ошибка?

    http://www.sql.ru/forum/1193827/not-s-neskolkimi-like


    Рекордсет и ошибки в базе MS SQL

    Понедельник, 04 Января 2016 г. 05:51 + в цитатник
    Доброго.

    Коллеги, написал процедуру на акцессе + сторку на ms sql. Access 2010/MS SQL 2012

    Public Function openSingleValue(ByVal QueryText As String, ByVal FieldName As String) As Variant
    Dim rslt As Variant
    Dim rst As Recordset
        Set rst = OpenRecordset(QueryText)
        If rst.RecordCount > 0 Then
            rslt = rst.Fields(FieldName).Value
        End If
        rst.Close
        openSingleValue = rslt
    End Function
    
    
    Public Function OpenRecordset(QueryText As String) As DAO.Recordset
    On Error GoTo err
      'переопределил текст запроса
      
      'создал временный кверидеф
      Dim qdf As QueryDef
      Set qdf = CreateTempQueryDef(QueryText)
      'собственно открыл рекорсет
      Set OpenRecordset = qdf.OpenRecordset(dbOpenForwardOnly, dbReadOnly)
      qdf.Close
      
    Exit Function
    err:
    MsgBox "Error connection SQL server", vbInformation
    qdf.Close
      
    End Function
    


    подразумевается, что я передам на сервер значение и вернется мне рекордсет, а потом из него одно значение.

    CREATE PROC [dbo].[p_myproc_delete](@id INT)
    AS 
    BEGIN
    	SET NOCOUNT ON;
    	DECLARE @Row_Count INT; 
    	DECLARE @Error_Code INT;
    	SET XACT_ABORT OFF; 	
    	DELETE 
    	FROM   tbl_mytable
    	WHERE  id = @id;
    	SELECT @Row_Count = @@ROWCOUNT, @Error_Code = @@ERROR
    	
    	IF (@Error_Code <> 0) OR (@Row_Count <> 1)
    	BEGIN
       		IF @Error_Code = 547  -- существует foreight key  
    			BEGIN
    				RETURN (-400); -- ошибка - есть ссылка 	
    			END
    		ELSE 
    			BEGIN
    				RETURN (-300); -- ошибка при удалении
    			END
    	END;
    	ELSE
    	BEGIN
    		RETURN @id;
    	END;
    END;
    


    declare @ret int; exec @ret = dbo.p_myproc_delete @id =2; select @ret as ret;

    И, соответственно, с сервера я получаю через Return коды возврата. И все было хорошо ровно до того, как попался foreingn key.
    Я пытаюсь удалять, обрабатываю ошибку 547 и получаю код возврата -400, мечтая обработать его в акцессе.

    Однако вместе с ним выдается и ошибка на сервере, Msg 547, Level 16, State 0, Procedure p_myproc_delete, Line 13
    The DELETE statement conflicted with the REFERENCE constraint ссылки на мои таблиц
    The statement has been terminated.
    Как результат - генерится ошибка в моей функции OpenRecordset.

    И вот вопрос - как эту ошибку на сервере корректно обрабатывать и где? Либо переписать код на сервере на try - catch (как?) либо оставить как есть, но изменить код акцесса(как)?

    Заранее спасибо вам за ответы.

    http://www.sql.ru/forum/1193785/rekordset-i-oshibki-v-baze-ms-sql


    Lookup field in recordset

    Понедельник, 04 Января 2016 г. 01:21 + в цитатник
    Access 2010
    как вытащить из lookup поля таблицы значения второй или если есть то и третей колонки?
    есть таблица артикул и есть таблица заказ.
    в таблице заказ одно поле artikul_id_f Lookup: ид и наименование артикула.
    как программно, открывая рекордсет вытащить значение наименованиое артикула?

    http://www.sql.ru/forum/1193778/lookup-field-in-recordset


    Связь 2 запросов

    Суббота, 02 Января 2016 г. 14:56 + в цитатник
    В общем, имеются 2 запроса, содержащих по 1 столбцу и 1 записи(значения у них разные). Нужно поделить значение первого запроса на 2. Через join, как я понимаю, их связать не удастся. Как это можно сделать?

    http://www.sql.ru/forum/1193618/svyaz-2-zaprosov


    Печать особым образом

    Пятница, 01 Января 2016 г. 15:47 + в цитатник
    Можно ли сделать печать в 2 колонки. Как страница кончается, переходит на правую часть страницы. Потом на левую часть второй страницы. И т.д.

    http://www.sql.ru/forum/1193529/pechat-osobym-obrazom


    Скопировать поле с одной таблицы в поле другой таблицы

    Четверг, 31 Декабря 2015 г. 12:59 + в цитатник
    (новичок, так что не обессудьте) Надо к одному полю таблицы1 в 240 строк (текст) добавить из таблицы2 (в одно поле) еще 80 строк (текст). Через "копировать-вставить" получается так, что все строки из таблицы2 ложаться поверх первых 80 строк таблицы1, и соответственно те пропадают.

    Через
    INSERT INTO [Таблица1].[Фамилия, имя, отчество]
    SELECT *
    FROM Таблица1;

    - получается простой вывод на экран таблицы2, а в таблице1 ничего не меняется.

    http://www.sql.ru/forum/1193417/skopirovat-pole-s-odnoy-tablicy-v-pole-drugoy-tablicy


    Переключение вложений в форме

    Четверг, 31 Декабря 2015 г. 11:11 + в цитатник
    Доброго утра!
    Имеется база данных (а-ля телефонная книга) с вложениями (фото). У некоторых записей по несколько фото.
    Подскажите, пожалуйста, имеется ли какая-то альтернатива переключению вложений в форме? (Стандартно наводишь мышью на форму и появляется небольшое всплывающее окно со стрелками, что довольно неудобно.)
    Или, может быть, можно как-то запрограммировать кнопку (а ещё лучше колёсиком мыши) на переключение вложений?
    Заранее спасибо и с наступающим Новым Годом!

    http://www.sql.ru/forum/1193403/perekluchenie-vlozheniy-v-forme


    Обход конструкции UPDATE

    Среда, 30 Декабря 2015 г. 17:52 + в цитатник
    Доброго времени суток,

    Возник следующий вопрос. У меня есть:

    - таблица с названиями моих таблиц
    - таблица с нумерацией месяцев
    - таблицы, по которым надо менять данные/// конструкция: Код_товара [itemcode]/Месяцы (1.....12), в которых значениями идут колличества этих товаров;
    - форма с полями со списком

    В форме я могу также выбрать месяц, код товара и задать нужное колличество. НО, таблиц у меня несколько, по-этому в форме я также могу указать любую имеющуюся у меня таблицу.

    Задача: При установке количества для заданных месяца и кода товара, апдейт должен идти по той таблице, которая выбрана в форме. Также, поле месяц, по которому меняется количество, также должно браться из формы

    Я пытался реализовать данный апдейт таким путем:

    UPDATE (SELECT название_таблицы from таблицы_имена where название_таблицы = [Формы]![Форма]![Таблица]) as a

    SET

    a.(SELECT Номер_месяца from Месяц where Номер_месяца = [Формы]![Форма]![Месяц]) = [Формы]![Форма]![Количество]

    WHERE a.Код_ДП=[Формы]![Форма]![itemcode];

    Но Access ругается на инструкцию UPDATE

    Может, кто-то знает, как это обойти или реализовать придерживаясь логики вышеприведенного запроса, а то в процессе изучения данного вопроса я пока не нахожу ответов.

    http://www.sql.ru/forum/1193310/obhod-konstrukcii-update


    Найти пару записей с минимальным расстоянием

    Среда, 30 Декабря 2015 г. 15:52 + в цитатник
    Помогите составить запрос
    Есть база
    ID t1 t2
    1 a 11
    2 b 16
    3 x 18
    4 t 25
    5 e 11
    6 t 19
    7 j 32

    нужно найти пару записей (например для т2=11 и т2=32), причем расстояние должно быть минимальным и между ними не должно встречаться т1=х. Т.е. в данном случае нужно найти записи с ID 5 и 7.

    http://www.sql.ru/forum/1193270/nayti-paru-zapisey-s-minimalnym-rasstoyaniem


    Нужна поддержка!

    Среда, 30 Декабря 2015 г. 02:03 + в цитатник
    Есть задача сделать учётную базу - бухгалтерию ( домашний вариант для внутреннего пользования ).
    Требуется вести учёт произведённой продукции пчеловодства, её хранения и продажи.
    Покупка - вводится вручную по полям ! Продукт, цена, шт, сумма.
    Ввод данных - продажа - (Мёд Липовый - цена(из базы автоматом) количество и сумма, покупатель.
    Вывод отчётов по продажам - Каждый вид и всего.
    Вывод отчётов по покупателям - список (кто сколько и на какую сумму)
    Вывод баланса Потрачено на сумму. Произведено на сумму, Продано на сумму. Осталось продать на сумму.
    Вывод склад.

    В принципе всё есть в файле. Но как всё объединить ума не приложу. Совсем в связях запутался. Когда не знаешь, да ещё забудешь.......

    По этому прошу! Если есть такая возможность помогите довести до ума ! Я не программист, я пчеловод. И если что то понимаю в компах так это то что помню МС ДОС и Нортон коммандер. :)
    Если не трудно......
    Может кому ещё пригодится.

    http://www.sql.ru/forum/1193181/nuzhna-podderzhka


    Подскажите, что эффективнее: IN(1000 разных ИД) или временная таблица?

    Вторник, 29 Декабря 2015 г. 12:20 + в цитатник
    Из Excel оранизован коннекшн к базе mdb, лежащей в сети.
    В эксель пользователи выгружиют (из головы, астрала, из сканера штрих-кода и еще неизвестно откуда...) список ID. По совпавшим ИД из базы Access в Excel подтягиваются данные.

    Итак вопрос: что наваш взгляд лучше, выполнить запрос к базе в виде
    SELECT список_полей, FROM таблицы_в базе_Access WHERE ID IN (ID1, ID2...ID1000)
    

    или для каждого пользователя создавать табицу со списком ИД, и потом ее дропать и делать пак БД, ожидая когда же она сломается. SQL-сервера нет и не предвидится.

    Пытался сделать временную БД на на стороне пользователя, но из-за непонятного поведения запроса не прокатило.

    http://www.sql.ru/forum/1193059/podskazhite-chto-effektivnee-in-1000-raznyh-id-ili-vremennaya-tablica


    Вставка из Excel

    Вторник, 29 Декабря 2015 г. 09:48 + в цитатник
    Добрый день, подскажите как правильно сделать вставку из Excel в существующую таблицу Access.
    str = "Insert into UpFactTbl (year) select [год] FROM [Excel 10.0 xml;HDR=No;IMEX=1;DATABASE=" & Me.Form.l1.Value & "] "
    DoCmd.RunSQL str
    

    Выдает ошибку:
    Ядру СУБД MS Access не удалось найти входную таблицу или запрос "Excel 10.0 xml;HDR=No;IMEX=1;DATABASE=C:\Users\...\Desktop\n1\загрузка .xlsx".

    http://www.sql.ru/forum/1193025/vstavka-iz-excel


    Событие Current - непонятное поведение

    Вторник, 29 Декабря 2015 г. 01:32 + в цитатник
    Столкнулся с непонятным для меня поведением программы.

    Есть форма и подчиненная форма на ней.
    Разместил на главной элемент управления - список. Источник строк для него формирую по событию Current подчиненной формы.
    Private Sub Form_Current()
    Dim group_id As Long
    Dim strsql As String
    'èñòî÷íèê äàííûõ äëÿ spKeys
    group_id = Me.id
        If group_id > 0 Then
            strsql = "SELECT id, mp_groups, key_name, frequency_WS, frequency_WS1, frequency_WS2 FROM keys WHERE mp_groups = " & CStr(group_id) & " ORDER BY frequency_WS DESC"
            Debug.Print strsql
            Forms("Card_project").Controls("spkeys").RowSource = strsql
        End If
    End Sub
    


    Непонятность заключается в том, что событие зацикливается: хотя список на главной форме формируется как надо, что-то дергает событие обновление подчиненной формы, она обновляет список, снова ...

    Вот отладчик:
    SELECT id, mp_groups, key_name, frequency_WS, frequency_WS1, frequency_WS2 FROM keys WHERE mp_groups = 9031 ORDER BY frequency_WS DESC
    SELECT id, mp_groups, key_name, frequency_WS, frequency_WS1, frequency_WS2 FROM keys WHERE mp_groups = 9031 ORDER BY frequency_WS DESC
    ну и так далее бесконечно

    http://www.sql.ru/forum/1192991/sobytie-current-neponyatnoe-povedenie


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

    Понедельник, 28 Декабря 2015 г. 21:40 + в цитатник
    Добрый день,
    помогите, пожалуйста, в прикрепленной БД составить запрос qRate_Period.
    Краткая справка. В запросе qPeriod есть перечень периодов Год - Месяц. В запросе qPeriod_Rate к каждому периоду необходимо подставить тариф (Rate), действующий в данном периоде. Тарифы находятся в таблице tRate. Год - Месяц в данной таблице означают период начала действия тарифа.
    Запрос qPeriod_Rate составлен с использованием left join, все нулы необходимо заменить на тариф.

    Заранее благодарен за помощь.

    http://www.sql.ru/forum/1192967/pomogite-sostavit-zapros-qrate-period


    RecordSource (Environ)

    Понедельник, 28 Декабря 2015 г. 21:01 + в цитатник
    Добрый вечер, уважаемые форумчане!

    Подмогите с ошибкой никак не додумаюсь: имеется подчиненная форма которая формируется запросом в источнике данных, захотел ограничить запрос определенным пользователем пишу в источнике данных так:


    SELECT a.AnimalName, a.Cost
    FROM [Test_BD].[dbo].[Animal] a
    WHERE a.[UserLogin]=Environ("UserName")


    В итоге на строке Environ("UserName") получаю ошибку "не является известным именем встроенной функции" ... как быть? что делаю не так?

    http://www.sql.ru/forum/1192964/recordsource-environ



    Поиск сообщений в rss_sql_ru_access_programming
    Страницы: 353 ... 183 182 [181] 180 179 ..
    .. 1 Календарь