Ru-Board.club
← Вернуться в раздел «Прикладное программирование»

» Access VBA

Автор: dneprcomp
Дата сообщения: 22.05.2009 19:46
videolamer_V

Цитата:
Выход один изменить данные на новые. Это получается если импортировать файл в эксель, но при експорте в программе все сикась накись
Что значит 'сикась накись'? При экспорте куда? В Excel или в програму после изменений в Excel?
Файл является примером tab delimeted формата. Как Excel, так и Access обязаны работать с такими файлами коректно.
PS. Данный файл до изменений или после? Неплохо бы взглянуть на один и тот же файл в двух вариантах - до и после.
Автор: KEY
Дата сообщения: 22.05.2009 23:12
Всем учасникам моё почтение и доброго времени суток!!!
Сразу к телу:

1-й вариант (работает)

SELECT My_menubtns.id
FROM My_menubtns IN MyDBmsql [ODBC;DSN=arka;;TABLE=My_menubtns];

2-й вариант (Выводит сообщение что приложение АССESS будет закрыто)

SELECT My_menubtns.id, My_menubtns.txt
FROM My_menubtns IN MyDBmsql [ODBC;DSN=arka;;TABLE=My_menubtns];

В чем причина? Может кто с таким сталкивался?
Автор: Katerinka0307
Дата сообщения: 25.05.2009 08:58
Доброго всем времени суток! У меня такая проблема: есть обычный запрос на выборку, в котором содержится вычисляемое поле, в этом поле используется функция Date(), когда запускаю запрос, мне выдается след ошибка"Неопределенная функция Date в выражении", при этом эта функция не хочет работать только на чужих компах, на моем, где и разрабатывалась БД все прекрасно работае!!! В чем моя ошибка????
Автор: videolamer_V
Дата сообщения: 25.05.2009 13:00
dneprcomp

Цитата:
Что значит 'сикась накись'? При экспорте куда? В Excel или в програму после изменений в Excel?

отображается ненормально, иероглифами вместо русских букв. При экспорте в эксель все нормально, все встает в свою таблицу, правда я все ячеки при экспорте оставляю как (общие) хотя по идее там 7 таблиц значение некотоых "число", а других "текст". После того, как вношу несколько изменений сохраняю как "Текстовые файлы (с разделителями табуляции". Импортирую в программу, захожу на склад и вижу каракули вместо русских букв. Тот файл что я прикрепил ранее - это без изменений, как есть оригинал, ставится сразу после установки программы, но он устарел, нужен такой же но по новому каталогу за 2009год набирать. Могу сбросить файл и после изменения, но попозже, у меня голова кипит заманался я совсем уже разбираться. И еще такой вопрос, если ты знаещь, как отрубить в экселе функцию автоматического изменения таблицы? Когда коррецирую цену например 12.12 он выставляет 12. декабря 2009г. Может создать новую таблицу данных с нуля в экселе?
Автор: dneprcomp
Дата сообщения: 25.05.2009 20:27
videolamer_V

Цитата:
И еще такой вопрос, если ты знаещь, как отрубить в экселе функцию автоматического изменения таблицы? Когда коррецирую цену например 12.12 он выставляет 12. декабря 2009г.
Попробуй поменять свойства ячеек. Поставь 'текст'.

Цитата:
сохраняю как "Текстовые файлы (с разделителями табуляции"
А в самом файле после сохранения читается нормально?
Поблема, видимо, в несовпадении кодировок. Попробуй сохранить файл в юникод формате.
Почему не делать изменения в самом Access? Какое расширение у Access програмы? Если mdb, то попробуй держать shift нажатым во время старта програмы.
Автор: Katerinka0307
Дата сообщения: 26.05.2009 07:39
Подскажите! Имеется база днных, соержащая ссылки на картинки формата .gif, ее mde-файл весит 160 Мб, хотя в ней еще пока содержится 4 картинки, может ли такое вообще быть или я что-то делаю неправильно? и еще подскажите как ее можно сжать тогда!
Автор: dneprcomp
Дата сообщения: 26.05.2009 08:00
Katerinka0307
Базы данных имеют такое свойство - захватывать дисковое пространство.
Автор: Katerinka0307
Дата сообщения: 26.05.2009 08:11
dneprcomp
на рисунке ни чего не видно и ни чего непонятно! можно словами
Автор: Vitus_Bering
Дата сообщения: 26.05.2009 08:45
Katerinka0307
Кликните на рисунке...
Автор: Katerinka0307
Дата сообщения: 26.05.2009 08:51
Vitus_Bering
спасибо! видимо первый раз не дождалась пока загрузится рисунок! еще сот такой вопросик: база будет меньше весить с полями OLE объектов или с гиперссылками?
Автор: videolamer_V
Дата сообщения: 26.05.2009 12:05
dneprcomp

Цитата:
А в самом файле после сохранения читается нормально?

Да, читается нормально. Я тоже думаю, что это несовпадение кодировок, несмотря на то что в программе есть файл

Код: mysqld]
bind-address=127.0.0.1
default-character-set=cp1251
Автор: dneprcomp
Дата сообщения: 26.05.2009 19:15
Katerinka0307

Цитата:
база будет меньше весить с полями OLE объектов или с гиперссылками?

Ну конечно с сылками меньше. Такой вопрос можно задавать только при панике
Автор: Katerinka0307
Дата сообщения: 27.05.2009 00:54
dneprcomp есть немного
Автор: nnmsecret
Дата сообщения: 02.06.2009 11:52
Ребят подкинте пожалуйста идеи, а то юридическое образование не поволяет реализовать.

В таблице в одной колонке указывается дата (срок действия). Следующая колонка "Действительный или недействительный" и значение зависит от соотношения "Даты (срок действия)" к настоящему времени (ну или системному времени). Пока заполняю в ручную.

Подскажите каким образом можно сделать чтобы колонка "Действительный или недействительный" заполнялась автоматически при открытии таблицы (формы) или базы.

Заранее благодарен.
Автор: dneprcomp
Дата сообщения: 02.06.2009 20:21
nnmsecret
Такое вычисляемое поле вообще хранить не надо. Ставишь на форме radiobutton и при клике на строку таблицы на форме, вычисляешь и меняешь состояние radiobutton.
Или изначально при открытии формы сам заполяешь таблицу на форме и добавляешь вычисленное значение в нужный столбец.
Если все же нужно хранить, то опять же при открытии надо пробежаться по всем рекордам и произвести апдейт поля согласно правилу.
Автор: nnmsecret
Дата сообщения: 02.06.2009 21:09
Я так понял что radiobutton это переключатель. И нужно сделать два переключателя и макрос с условием какой отмечен (буду пробовать). Тогда можно и проще,- флажок, как "да" или "нет". но я также использую эту колонку в таблице (не форме), как условие для отбора в другой форме.

Спасибо.
Автор: dneprcomp
Дата сообщения: 03.06.2009 01:05
nnmsecret
Использовать лучше radiobutton(другое название optionbutton), а не checkbox.
Если ипользовать только для индикации, то достаточно одной optionbutton. И менять ее состояние только програмно. Скажем, сделать ее disabled. Для индикации можно вообще использовать все что угодно. Можно поставить label и менять ее цвет, к примеру.
Если для редактирования, то или 2 optionbutton, или один checkbox.
Автор: nnmsecret
Дата сообщения: 03.06.2009 10:05
На другом форуме вот что подсказали. но пока не получается сделать чтобы работало

"Это можно вычислять при помощи выражения = iif(Date > [Даты (срок действия)];"Не действительно";"Действительно"). Его можно использовать в поле не форме, записав в атрибут "Данные"."
Автор: MrZeRo
Дата сообщения: 03.06.2009 10:52
nnmsecret
В качестве источника записи можно сделать не таблицу, а запрос. И уже в запросе создать поле описанным способом, чтобы получилось что-то вроде:

Цитата:

SELECT f1, f2, f3, ..., iif(Date > [Даты (срок действия)],"Не действительно","Действительно") as DateFlag, ...
FROM table

Автор: Vitus_Bering
Дата сообщения: 03.06.2009 10:53
nnmsecret
Это можно сделать, например так.
Автор: nnmsecret
Дата сообщения: 03.06.2009 11:06
Тоже вариант спасибо, вышло.
Долго не мог понять почему не работает и меняет Date на [Date] или "Date". Просто нужно было добить ().
В итоге вышло такое.
Выражение1: IIf(Date()>[Contracts (RepOf)].[Expiration date];"Yes";"No")

Спасибо.
Автор: nnmsecret
Дата сообщения: 03.06.2009 22:15
Ребят, подскажите пожалуйста еще такое.

1. Создал запрос на отбор из таблицы по двум условиям ().
Как написать условие в макросе (при запуске БД) что если появляется какая либо запись в этом запросе чтобы открывалась Subform'.
Что-то вроде напоминания.

2. Или даже лучше если можно написать какой-то макрос, что при открытии БД, будут проверятся даты (в таблице) и если они наступают через 10 или другое количество дней будет открываться напоминание с этим списком.

3. Как сделать условие в запрос наступление даты. Т.е. дата введенная сравнивается с системным временем и если оно наступает за 10 (на пример) дней или количество дней указанной в другой колонке таблицы, тогда строка,отвечающая условиям, отображается в запросе.

Как что-то получется дельное, выложу пустой исходник. Работаю юристом, идея такова чтобы контролировать договора.

Заранее очень благодарен.


*исправил

*"Его recordset.count присваиваешь переменой." вот эта часть не очень понятна (не хватает теоретических знаний.
Режим SQL
SET [Request Recently Expired Contracts].Recordset.Count=rstRequest
Или куда ее вставлять????
Автор: dneprcomp
Дата сообщения: 03.06.2009 23:44
nnmsecret
1;2
Создаешь запрос со своими услвиями. Его recordset.count присваиваешь переменой. В макросе проверяешь if > 0 then открылась Subform
recordset.count всегда > 0 если есть рекорды
3.
Цитата:
тогда строка отображается в договоре
Не совсем понятно где должно отображаться. В select?
Используй свое Выражение1: IIf(Date()>[.....
Есть еще такие функции, как DayDiff и DayAdd. В зависимости от логики работы програмы могут быть полезны.
Автор: nnmsecret
Дата сообщения: 05.06.2009 20:21
Объясните пожадуйста, вот это:
Его recordset.count присваиваешь переменой. где он и как именно присваивается.
Остальное понял.
Спасибо.
Автор: dneprcomp
Дата сообщения: 06.06.2009 02:28
nnmsecret
Да там же в макросе объявляешь integer переменую. Затем обращаешься к рекордсету. Количество row и есть recordset.count. Это значение и присваиваем переменой.
http://www.fontstuff.com/mailbag/qaccess04.htm
Автор: dimasik22
Дата сообщения: 07.06.2009 16:50
Здравствуйте уважаемые форумчане! подскажите в какую сторону копать!!!! Допустим есть табличка в базе данных Access, в ней есть поля "Текст сообщения" и "Даты выхода в эфир сообщения", так вот как можно сделать, чтобы можно было вводить в одну ячейку, в данном случае "Даты выхода в эфир сообщения" несколько дат? Типа, при выборе этой ячейки выходит визуальный календарик, в нем проставляются нужные даты и они сохраняются в эту ячейку, возможно через запятую или как нибудь еще... в общем вот... Господа, помогите!
Автор: Xaoc666
Дата сообщения: 07.06.2009 21:33
dimasik22
Поясните подробнее, каким образом связаны "Текст сообщения" и "Даты выхода в эфир сообщения"? Количество дат фиксировано/разное для каждого сообщения? Что это за сущность? Уж не график ли? Если график, решать следует несколько иначе... Короче, раскройте предметную область..
Автор: dimasik22
Дата сообщения: 08.06.2009 09:34
Xaoc666
Добрый день! Попробую по подробнее: Есть некое объявление которое должно прозвучать в радио эфире в определенные дни, допустим 13.05.2009, 15.05.2009, 17.05.2009! Количество дней фиксировать ни возможно... так как одни объявления могут выходить в эфир только несколько дней другие один день третьи целый месяц или несколько месяцев! Получается некий планировщик выхода в эфир для каждого объявления!
Автор: Xaoc666
Дата сообщения: 10.06.2009 20:46
dimasik22
В таком случае здесь следует использовать две таблицы. Первая хранит данные о сообщении, а вторая - ссылку на сообщение в первой таблице и дату выхода в эфир. То есть схема один-ко-многим.
Одной таблицей реализовывать такое на мой взгляд неэффективно.
Автор: dimasik22
Дата сообщения: 11.06.2009 16:28
Xaoc666
Спасибо за ответ! То есть получается: одна табличка с сообщениями, а другая табличка с датами! Но даже в таком варианте получается что одно сообщение, одна дата, если я правильно понял? А вот... как сделать так чтобы несколько дат ссылалось на одно сообщение?

Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445

Предыдущая тема: BDE - траблы, помогите пожалуйста срочно...


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.