Сообщения

Сообщения за 2009

"Самозаполнение" выпадающего списка

После того как в поле со списком "vidbir_zdiysneno" буде введено новое значение, проверяется существует ли такое значение в базе данных (в поле/таблице к которому прикреплен данный элемент управления). Если такого значения еще нет, то оно добавляеться в источник строк списка Private Sub vidbir_zdiysneno_AfterUpdate()     Call Req_source_vidbir_zdiysneno End Sub Private Sub Req_source_vidbir_zdiysneno() 'Заполняет поле со списком значениями из базы данных Dim rs As DAO.Recordset Dim sTemp As String Set rs = CurrentDb.OpenRecordset ("SELECT DISTINCT vidbir_zdiysneno FROM data_act_g") sTemp = "" With rs     If .RecordCount > 0 Then         Do While Not .EOF               If .Fields(0).Value <> "" Then sTemp = sTemp & Chr(34) & .Fields(0).Value & Chr(34) & ";"              .MoveNext         Loop         .Close     End If End With vidbir_zdiysneno.RowSource = sTemp End Sub

Как задавать метку даты времени, чтобы можно было проводть синхронизацию по ней?

Используем два поля "Ключ(Char)" и "Время(Date-time)" Возможные значения ключа: t - время - точные данные по времени n - минута - данные усредненные за минуту h - час - данные усредненные за час d - день - данные усредненные за день w - неделя - данные усредненные за неделю m - месяц - данные усредененные за месяц q - квартал - данные усредененные за квартал p - полугодие - данные усредененные за полугодие y - год - данные усредененные за год "Время" содержит дату-время события, в случае ключа усреднения - дату-время начала периода усреднения. Начало в случае усреднения по m, q, p, y (наиболее частые случаи) начинается всегда с первого дня месяца. Sub try() Dim d As Date d = CDate("01-01-2008 00:00:00") d = DateAdd("yyyy", 1, d) Debug.Print format(d, "dd-mmmm-yyyy hh:mm:ss") End Sub

Access 2007 RunTime : "Неопределенная функция Format в выражении"

Изображение
Больше часа искал из-за чего в Access 2007 RunTime приложение, которое нормально работает в Access 2007 (в котором оно и разрабатывалось) , выбивает сообщение : "Неопределенная функция Format в выражении!" и закрывается. В Access 2007 RunTime никаких способов продебажить код естественно нет - все закрыто. В общем, "ужасть" весьма злобная. Через какое-то время улавливаю, что ни одна из "стандартных" функций VBA типа Trim, InStr, Replace не работает. Это и навело на правильную мысль. Не понимаю почему, но в полном варианте Access все работает и без объявления этой библиотеки. Хотя, как показал опыт, это тоже не факт. Решение. Не стоит забывать в проектах Access объявить библиотеку Microsoft Scripting Runtime

Access 2007 RunTime : Разрешаем все "макросы"

Был вопрос: "Можно как-то отключить предупреждение Access-2007 ( RunTime ) на открытие приложения с небезопасным содержимым?" Ответ 1 : Изменить уровень безопасности легко. Достаточно пройти по ветке меню Сервис – Макрос – Безопасность… и установить Низкий уровень. Конечно, всё это просто, но объяснять всё это нескольким десяткам пользователей – язык отвалится. Наш пользователь привык читать инструкцию уже после того, как понажимает все возможные кнопки. Им почему-то проще позвонить в другой город, чем прочитать одну страничку текста (наверно, читать не умеют). Выход – менять уровень защиты программно. Уровень защиты прописан в реестре. Для Aссess 2003 - это ветка HKEY_CURRENT_USER\Software\Microsoft\Office\11.0\Access\security\Level А для Access 2007 – это ветка HKEY_CURRENT_USER\Software\Microsoft\Office\12.0\Access\Security\VBAWarnings Размерность параметра – DWORD Значения уровня безопасности: 1 – низкий; 2 – средний; 3 – высокий. Ответ 2 : для Access 2007 Отключить преду

Как проверить существует ли объект в семействе?

У меня достаточно часто возникала ситуация, когда перед тем как обращаться к какому-либо объекту, надо было проверить - а существует ли он? Если такой объект отсутствует, то VBA возвращает ошибку: 3265 Item not found in this collection Элемент не обнаружен в данном семействе В общем возник закономерный вопрос: "Как лучше с этим разобраться?" Покажу решение на примере такой ситуации.  В Access надо временно создать некий запрос, который сохраняется в семействе CurrentDb.QueryDefs . Впоследствии этот запрос используется для некоторых действий, после чего его надо удалить. То есть код должен быть примерно такой: Set qd = CurrentDb.CreateQueryDef("zv_data") qd.SQL = "SELECT * , 'today is " & Now() & " '" FROM my_table;" '... используем запрос и производим "действия"... CurrentDb.QueryDefs.Delete "zv_data" Если в процессе работы возникнет какая-либо ошибка ( допустим, пользователь банально нажал ресет на

Перекодирование тегов mp3 в Ubuntu

Изображение
Столкнулся с проблемой в кодировках mp3 тегов в проигрывателе Rhythmbox в Ubuntu. Как описано в статье " Русские id3v1 и id3v2 теги в mp3 файлах (russian cyrillic tags) " наиболее надежным и правильным способом будет перекодировать сами теги в utf8. Но с описанной в статье процедурой установки воникли проблемы, пришлось искать другое решение. Сработал способ описанный Артёмом Скорецким здесь Процитирую на всякий случай... Как ни печально, при уходе с Windows большая часть моей русскоязычной музыкальной коллекции стала неюзабельной — названия песен, исполнителей и прочие MP3 тэги превратились в кракозябру. Причина проста — вместо универсальной кодировки Unicode тэги были прописаны в специфичной для Windows кодировке CP1251 , которая в Linux, мягко говоря, не ценится. Решения можеть быть два: научить музыкальный плеер понимать нашу кодировку сконвертировать тэги в универсальный Unicode Для себя я выбрал второе. Так будет работать со всеми плеерами (да

Access и SQL - работа с датой / временем

Чтобы инструкцией SQL вставить дату необходимо использовать строку: "#" & Format( , "mm-dd-yyyy") & "#" Это самый надежный способ...

Access - использование апострофа и кавычек в SQL

Чтобы SQL инструкцией внести в поле текст, который содержит апостроф ' или кавычки " следует поступать так: INSERT INTO zv_RGD_about_post ( info, id_vodpoint, zvid_org ) VALUES ('Перевірка апострофу та лапок: об''ява в "лапках"', 0, 0) Если запрос собирается в VBA, то: strSQL = "INSERT INTO zv_RGD_about_post ( info, id_vodpoint, zvid_org ) VALUES ('Перевірка апострофу та лапок: об''ява в ""лапках""', 0, 0)" В случае с VBA удобно будет использовать функцию: ... VALUES ('" & Replace(strTemp, "'", "''") & "') ... =============== В продолжение темы. Для избежания проблем со строками при сборке SQL-запроса в VBA пользуюсь такой функцией: Public Function TextSQLPrepare(val As String ) As String 'val = Replace (val, "'", "`") val = Replace (val, "'", "''") val = Replace (val, "\&quo

WM 6.1 для ASUS P525 (Русская версия)

Изображение
Удалось найти нормальную прошивку для моего ASUS P525. Ничего лишнего, всякая ерунда удалена, грузится быстро и работает шустро. Спасибо Alexx~ , отличная работа. До этого перепробовал все прошивки что указаны здесь , эта правильнее других, ИМХО. Когда надоест, буду пробовать прошивку WM 6.5 для ASUS P525 RUS от того же Alexx~ . А сейчас пробую накрутить сверху Manila. Это мне как-то больше по душе чем интерфейс WM 6.5. Asus Mobile Club Russia :: Просмотр темы - WM 6.1 для ASUS P525 (Русская версия) : WM 6.1 для ASUS P525 (Русская версия) WM 6.1 OS CE 5.2.19214 (Сборка 19214.1.0.4) CPU - 416 Мгц Page Pool - 6 Mb [Описание версии 5.0 Ultra Super Full ] Удалено: Transcriber AUTOUPDATE FWUPDATE SQM (Service Quality Management) Catalog Marketplace) Картинки, звоночки, темы, скины для WMP из OEM ASUSa Состав: ASUS SIM Card Manager v.1.1.0.1, Jeodek 20080228 RUS, Mobile Office Full, One Note, Remote Desktop Mobile, ScrOFF 8 rel 002, Windows Live, Welcome Center, BCR View, Profile (из Р320)

Access 2007 поле MEMO и SQL

Столкнулся с одним неприятным моментом в Access 2007. Впрочем это справедливо и для Access 2003. Есть таблица с полем типа MEMO, и по идее в нем можно хранить неограниченно большой текст. Запросом в таблицу вставляются данные: sSQL = "INSERT INTO zv_RGD_about_post " & _ "SELECT DISTINCT id_vodpoint, " & _ "'... Здесь длинный текст ... ' AS info, " & 1 & " AS zvid_org " & _ " FROM RGD_T21_p1; " DoCmd.RunSQL sSQL Текст вставляется не полностью - обрезается на 255 символе. А вот если сделать так, то все в порядке. INSERT INTO zv_RGD_about_post ( info, department, id_vodpoint, zvid_org ) VALUES ('... Здесь длинный текст ... ', 0, 0, 0) Такой вот нюанс...

Начинаю заметки...

Зачем мне блог? Хороший вопрос. Окончательной мыслью, что подвинула меня на это, стала назойливая идея избавиться от бумажек. В общем, блог будет моей "второй памятью". То, что мне кажется важным запомнить, и то, что может быть полезно другим, - будет здесь. Пока думаю размещать сюда "дневник линуксоида",т.е. то что понял, с чем разобрался и т.д. в своем Ubuntu. Будет куда заглянуть за справкой, если что забуду. А дальше будет видно...