Привет всем, у меня есть небольшая проблема если кто поможет буду благодарен, работаю с оперативной инфой, ну и для себя решил подсобрать все на аксе, создал базу и запрос к базе , в запросах у меня сумма поля из таблицы,ну вот в чем проблема по истечении 5 дней мне приходят точные цыфры т.е сумма за 5 дней (откорректированная), так вот возможно ли изменять(корректировать) поле sum в запросе вручную не трогая данные в таблице? если да то как?
» Про MS Access
ildar1
Вы используете Access как программу/application. Все юзерские формы и логика находятся внутри Accessa. Вариант использования и установки по приведенной ссылке.
Можно использовать Access как базу данных только. Тогда GUI осуществляется отдельной специально написанной программой, которая подключается к базе. При таком использовании никакой установки Access не требуется. Просто переносится файл. Но зато требуется установка этой программы.
Честно говоря, я лично сомневаюсь, что приведенный по ссылке инсталят будет работать на совершенно голой(без установленного Office) машине. Не уверен, будет ли работать на машине с урезанным Office(без установленного) Access
noname99
Все равно не понятно что надо сделать.
Цитата:
Вы используете Access как программу/application. Все юзерские формы и логика находятся внутри Accessa. Вариант использования и установки по приведенной ссылке.
Можно использовать Access как базу данных только. Тогда GUI осуществляется отдельной специально написанной программой, которая подключается к базе. При таком использовании никакой установки Access не требуется. Просто переносится файл. Но зато требуется установка этой программы.
Честно говоря, я лично сомневаюсь, что приведенный по ссылке инсталят будет работать на совершенно голой(без установленного Office) машине. Не уверен, будет ли работать на машине с урезанным Office(без установленного) Access
noname99
Все равно не понятно что надо сделать.
Цитата:
,ну вот в чем проблема по истечении 5 дней мне приходят точные цыфры т.е сумма за 5 дней (откорректированная), так вот возможно ли изменять(корректировать) поле sum в запросе вручную не трогая данные в таблицеКуда приходит сумма? Где она хранится? Что значит корректировать в запросе? Приведи сам запрос и структуру данных.
ситуация такая,в таблице я создал поле дата 1...31 ну и числовое поле где ввожу например на первое число 100 на второе 200 на третье 300 потом создаю запрос на сумму данного поля, если сложить эти числа получится 600 это оперативная сумма, а вот мне через 5 дней говорят точное число, например 599, так вот в таблице я не хочу вычитать из 100 или 200 или 300 единицу чтоб получить 599 ,возможно ли изменить в запросе сумму не трогая данных в таблице. Надеюсь объяснил понятно.
noname99
Цитата:
Все равно, ощущение что что-то не верное в твоей работе с базой. Запрос будет приведен когда-нибудь или так и продолжать догадываться?
Цитата:
а вот мне через 5 дней говорят точное число, например 599,SELECT 599 AS Expr1
Все равно, ощущение что что-то не верное в твоей работе с базой. Запрос будет приведен когда-нибудь или так и продолжать догадываться?
Цитата:
Вы используете Access как программу/application. Все юзерские формы и логика находятся внутри Accessa. Вариант использования и установки по приведенной ссылке.
Хотелось бы уточнить - получается что innosetup может создать лицензионно чистый дистр для использования базы .MDB на компе, где нет аксесса?
Цитата:
Можно использовать Access как базу данных только. Тогда GUI осуществляется отдельной специально написанной программой, которая подключается к базе. При таком использовании никакой установки Access не требуется. Просто переносится файл. Но зато требуется установка этой программы.
На всякий случай - а что это за программа?
Цитата:
Все равно, ощущение что что-то не верное в твоей работе с базой. Запрос будет приведен когда-нибудь или так и продолжать догадываться?
С базой все элементарно да и с запросом тоже, ежедневно вписываю числа n которые в запросе плюсуются и выдают сумму чисел вводимых каждый день, вот мне и нужно узнать могу ли я изменить эту сумму? Sum - ХХХХ: Sum([ХХХ Noyabr].[ХХХ])
noname99
Цитата:
Код: 599 as Sum или 599 as Sum - ХХХХ
Цитата:
вот мне и нужно узнать могу ли я изменить эту сумму? Sum - ХХХХ: Sum([ХХХ Noyabr].[ХХХ])Ну так и пиши
Код: 599 as Sum или 599 as Sum - ХХХХ
Подскажите пожалста, в связаной таблице на стороне многие были удалены данные ...как обновить информацию чтобы восстоновить удаленные значения из связанных таблиц?
Цитата:
599 as Sum или 599 as Sum - ХХХХ
если все было бы так просто,спасибо за помощь,но ситуация такова что у меня есть и вторая 5-ка дней и 3-я и так до конца месяца, а если я вставлю "599 as Sum или 599 as Sum - ХХХХ" то вторая 5-ка дней и все последующие не будут начислятся т.е не будет общая сумма за месяц, и вообще как бы вы мне посоветовали все это провернуть более легким способом?заранее благодарю
noname99
Вместо 599 надо использовать переменную.
Цитата:
В общем случае, я бы добавил поля в базу для хранения реальной суммы и даты. Дефолтное значение поля = -1. В программу добавил бы логику:
Код:
sqlString="Select.... "
RealSumTotal = -77
If RealSum1 > -1 Then 'т.к. в неделю могут передать и 0
If RealSumTotal > -1 Then
RealSumTotal = RealSumTotal + RealSum1
Else
RealSumTotal = RealSum1
End If
'Повторить предыдущий блок IF для всех четырех значений RealSum
'или загнать их значения в массив и прогнать этот блок через For Next
If RealSumTotal < 0 then
sqlString = sqlString & сумма полей, переданных раньше
Else
sqlString = sqlString & RealSumTotal & " as SUM"
End if
Вместо 599 надо использовать переменную.
Цитата:
и вообще как бы вы мне посоветовали все это провернуть более легким способомНичего не могу сказать. Логика работы програмы не известна. Структура базы неизвестна. Что хотим получить тоже в сущности не понятно.
В общем случае, я бы добавил поля в базу для хранения реальной суммы и даты. Дефолтное значение поля = -1. В программу добавил бы логику:
Код:
sqlString="Select.... "
RealSumTotal = -77
If RealSum1 > -1 Then 'т.к. в неделю могут передать и 0
If RealSumTotal > -1 Then
RealSumTotal = RealSumTotal + RealSum1
Else
RealSumTotal = RealSum1
End If
'Повторить предыдущий блок IF для всех четырех значений RealSum
'или загнать их значения в массив и прогнать этот блок через For Next
If RealSumTotal < 0 then
sqlString = sqlString & сумма полей, переданных раньше
Else
sqlString = sqlString & RealSumTotal & " as SUM"
End if
Добавлено:
Цитата:
Огромное спасибо, обязательно проверю,впринцыпе я так и сделал,создал доп.таблицу т.е в одной пишу то что получаю ежедневно а в другой уже отредактированное. Подскажите еще кое что,как писать обращение к конкретной строке в таблице?и как можно сделать так что,когда вписываю что то в одной таблице данные автоматически передавались в другую таблицу, заранее благодарю.
Цитата:
sqlString="Select.... "
RealSumTotal = -77
If RealSum1 > -1 Then 'т.к. в неделю могут передать и 0
If RealSumTotal > -1 Then
RealSumTotal = RealSumTotal + RealSum1
Else
RealSumTotal = RealSum1
End If
'Повторить предыдущий блок IF для всех четырех значений RealSum
'или загнать их значения в массив и прогнать этот блок через For Next
If RealSumTotal < 0 then
sqlString = sqlString & сумма полей, переданных раньше
Else
sqlString = sqlString & RealSumTotal & " as SUM"
End if
Огромное спасибо, обязательно проверю,впринцыпе я так и сделал,создал доп.таблицу т.е в одной пишу то что получаю ежедневно а в другой уже отредактированное. Подскажите еще кое что,как писать обращение к конкретной строке в таблице?и как можно сделать так что,когда вписываю что то в одной таблице данные автоматически передавались в другую таблицу, заранее благодарю.
вот такие мы неграмотные ну а если ключевое поле у меня стоит дата? или какое то другое поле служит ключем?
а строка в тайбле
когда ставлю галочку над "обеспечение целостности" он проходит а вот когда ставлю галочку над "каскадное обновление" он пишет то "недопустимое описание поля дата при определении индекса или связи" почему ?
а строка в тайбле
когда ставлю галочку над "обеспечение целостности" он проходит а вот когда ставлю галочку над "каскадное обновление" он пишет то "недопустимое описание поля дата при определении индекса или связи" почему ?
Можно ли в Access интегрировать изображения, чтобы потом они отображались на форме?
Или только их можно хранить в качестве внешних файлов?
Или только их можно хранить в качестве внешних файлов?
noname99
Цитата:
Что происходит в базах и так понять нелегко. А еще и с русским переводом... Что такое "описание" и чему оно соответствует в нормальном английском сообщении? Вопрос риторический.
Попробуй создать два пустых тейбла с такой же структурой. Если получишь то же сообщение, значит связываемые поля не одинаковы по типу. Если пройдет нормально, значит в данных проблемы.
Цитата:
недопустимое описание поля дата при определении индекса или связи" почемуПоля должны быть однотипными. Данные в таблицах должны соответствовать затребованным связям.
Что происходит в базах и так понять нелегко. А еще и с русским переводом... Что такое "описание" и чему оно соответствует в нормальном английском сообщении? Вопрос риторический.
Попробуй создать два пустых тейбла с такой же структурой. Если получишь то же сообщение, значит связываемые поля не одинаковы по типу. Если пройдет нормально, значит в данных проблемы.
Цитата:
Можно ли в Access интегрировать изображения, чтобы потом они отображались на форме?
Можно интегрировать в качестве бинарных данных. На форме отображать можно не все типы графических файлов, еси мне не изменяет память, то bmp, gif, wmf? jpg?
а что насчет обращений к строкам?
Цитата:
Цитата:
Цитата:как писать обращение к конкретной строке в таблице
В какой таблице? В тайбле или в гриде?
noname99
Цитата:
Цитата:
В какой таблице? В тeйбле или в гриде?Что есть таблица?
Люди, подскажите.
Я добавляю данные из одной таблицы в другую с помощью "запроса на добавление".
Есть поле "Серийный номер"в обеих таблицах.
В источнике надо отобрать записи с такими серийными номерами, которых нет в приемнике.
В приемнике свойства этого поля "Индексировано (Совпадения допускаются)".
Как бы попроще это сделать?
Я добавляю данные из одной таблицы в другую с помощью "запроса на добавление".
Есть поле "Серийный номер"в обеих таблицах.
В источнике надо отобрать записи с такими серийными номерами, которых нет в приемнике.
В приемнике свойства этого поля "Индексировано (Совпадения допускаются)".
Как бы попроще это сделать?
evgenych
Цитата:
Цитата:
В источнике надо отобрать записи с такими серийными номерами, которых нет в приемникеИспользуй как критерий Null
Цитата:
Используй как критерий Null
Поле: Выражение4: DLookUp("[Наряд-заказ]";"Детализация_";"[Серийный номер]=[ZAV_NUM]")
Условие отбора: =Null
"Детализация_" - таблица-приемник, "Наряд-заказ" и "Серийный номер" - ее поля.
Поле "ZAV_NUM" - это поле из таблицы-источника.
При выполнении запроса выдается ошибка:
"Введенное в качестве параметра запроса выражение вызывает ошибку: Приложению 'Microsoft Office Access' не удается найти имя 'ZAV_NUM' из этого выражения".
Хотя тут же рядом, в этом же запросе есть такой столбец!
Поле: ZAV_NUM
Добавление: Серийный номер
И тут на ZAV_NUM никак не ругается.
evgenych
Null надо использовать в Select запросе.
Код: SELECT источник.Серийный номер
FROM источник LEFT JOIN приемник ON источник.Серийный номер= приемник.Серийный номер
WHERE (((источник.Серийный номер) Is Null));
Null надо использовать в Select запросе.
Код: SELECT источник.Серийный номер
FROM источник LEFT JOIN приемник ON источник.Серийный номер= приемник.Серийный номер
WHERE (((источник.Серийный номер) Is Null));
dneprcomp
Цитата:
Если не сработает поменяй Left на Right.
Цитата:
Null надо использовать в Select запросе.
Код:
Код:SELECT источник.Серийный номер
FROM источник LEFT JOIN приемник ON источник.Серийный номер= приемник.Серийный номер
WHERE (((источник.Серийный номер) Is Null));
Если не сработает поменяй Left на Right.
Цитата:
Цитата:Добрый день.
Подскажите, пожалуйста.
есть допустим в БД пара таблиц.
в одной есть три поля - фамилия, имя, отчество там например.
еще в одной таблице - серия и номер паспорта, которые должны быть привязаны к фио.
и третья таблица - рабочая, где помимо полей ф, и, о, серии и номера паспорта, еще есть два столбца - дата и сумма.
нужно, что бы при вводе фамилии - если фамилия присутсвует в таблице с фио, то автоматом подставлялась строка с полями ф, и, о, серия и номер паспорта... а если фамилии нет - то при заполнении этих полей в рабочей таблице они автоматом заносились в таблицы ф, и, о, и серия паспорта.
Сделай нормализацию вначале, т.е. справочник фио, пусть будет таблица People: Id, F, I, O. Вторая пассп.данные, пусть таблица Passport: id - счетчик, people_id - код человека, pass_num, pass_ser. Третья Result: Дата, Сумма, people_id. Так будет проще, т.е. если нет инфы в справочнике People, то запрещена и вся остальная информация.
Cпасибо!
А как сделать, что бы заносились записи в таблицу, если совпадение не с одним полем не найдено? Фио, я имею ввиду.
ребята помогите пожалуйста,мне нужно открыть отчет через макрос,причем отчет чтоб открывал только последнюю страницу,открыть отчет через макрос я могу а вот чтоб открывал последнюю страницу у меня не получается. Заранее благодарю
Всем привет. Такая ситуация
Имеется форма с 2-мя выпадающими списками (A и B).
Необходимо выводить в списке B значения, исходя из аргумента А.
Список А заполняется напрямую из таблицы. Список B из запроса.
запрос такой:
SELECT Hardware.Name, Hardware.Quantity, Hardware.Price, Hardware.NB_id
FROM Hardware
WHERE (((Hardware.NB_id)=[Forms]![Продажа запчасти]![hid_id]))
ORDER BY Hardware.Name;
[Forms]![Продажа запчасти]![hid_id] - это и есть тот ID, который выбирается в списке А.
Проблема в том,что список B заполняется только первый раз. А все последующие выводит такие же значения, т.е.
если выбрать в А 3, то в В выведутся значения для 3. А если потом выбрать 5, то все равно выводятся как для 3.
Что можно сделать? или как реализовать иначе?
Имеется форма с 2-мя выпадающими списками (A и B).
Необходимо выводить в списке B значения, исходя из аргумента А.
Список А заполняется напрямую из таблицы. Список B из запроса.
запрос такой:
SELECT Hardware.Name, Hardware.Quantity, Hardware.Price, Hardware.NB_id
FROM Hardware
WHERE (((Hardware.NB_id)=[Forms]![Продажа запчасти]![hid_id]))
ORDER BY Hardware.Name;
[Forms]![Продажа запчасти]![hid_id] - это и есть тот ID, который выбирается в списке А.
Проблема в том,что список B заполняется только первый раз. А все последующие выводит такие же значения, т.е.
если выбрать в А 3, то в В выведутся значения для 3. А если потом выбрать 5, то все равно выводятся как для 3.
Что можно сделать? или как реализовать иначе?
еще вот такая ситуация,имеется отчет, состоящий из 31 стр. до 30-й странице у меня идет поле с накопителем, но на 31-й стр. мне нужно заменить это поле на число находящееся в таблице,как можно будет это сделать?
???
noname99
Цитата:
Вот именно, никто не понял, что Вы хотите. Может быть Вам включить нужные данные в примечание к отчету, тогда данные будут печататься на последеней странице.
Цитата:
???
Вот именно, никто не понял, что Вы хотите. Может быть Вам включить нужные данные в примечание к отчету, тогда данные будут печататься на последеней странице.
Господа, подскажите, есть ли инфа по тому, как сделать в отчете выравнивание в поле по ширине? Нигде не могу найти %(
Страницы: 12345678910111213141516171819202122
Предыдущая тема: Как замедлить скорость чтения CDROM?
Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.