Выбрать дату в календареВыбрать дату в календаре

Страницы: 1
проблема кодировки в SQL выражениях, Select c фильтром значений на русском не работает при региональных настройках другой страны
 
Доброго времени суток, коллеги!
Давно я не заходил сюда, но вот судьба подкинула проблемку и я понял, что без помощи наших гуру мне не обойтись. Может кто сталкивался уже мой проблемой и у него есть решение?
Суть проблемы в следующем:
Через ADODB пытаюсь получить данные с листа Excel с учетом фильтров по ряду полей и диапазону дат:
Код
fName = ThisWorkbook.Path & "\" & ThisWorkbook.Name

Set objConnection = CreateObject("ADODB.Connection")
Set objRecordset = CreateObject("ADODB.Recordset")
    
objConnection.Open "Provider='Microsoft.ACE.OLEDB.12.0';Data Source=""" & fName & """;Extended Properties='Excel 12.0;HDR=Yes;IMEX=1';"

objRecordset.Open "Select distinct [Order Number] FROM [" & tbl1 & "] WHERE Product = '" & prodName & "' and Status = '" & stat & "' " & _
                    "and (Commodity = '" & cmdty & "' or '" & cmdty & "' = '- ПО ВСЕМ') " & _
                    "and (Strategy = '" & strtgy & "' or '" & strtgy & "' = '- ПО ВСЕМ') " & _
                    "and [Est Mvt Date] >= #" & Format(estBeg, "DD\/MM\/YYYY") & "# " & _
                    " and [Est Mvt Date] < #" & Format(estFin, "DD\/MM\/YYYY") & "#", objConnection, adOpenStatic, adLockOptimistic, adCmdText

У меня на компьютере работает все прекрасно, но у знакомого в региональных настройках системы указан United Kingdom и кириллица в тексте Select-а отражается так:


Естественно селект ничего не возвращает.
Как можно устранить проблему "???" и "кракозябр"? Может кто подскажет?
Заранее благодарен за любую помощь.
Учимся сами и помогаем другим...
Передам проект в хорошие руки, Ищу коллегу, который возьмется за проект, начатый мною
 
Доброго времени суток, коллеги!
Так уж сложилось, что на время я вынужден отойти от работы с большими проектами в Excel. На сегодня у меня висит один проект, который я реализовал где-то на 30-40%. До последнего думал, что закрою его сам, но видимо не судьба. С заказчиком я переписываюсь давно и знаю его как ответственного и адекватного человека. Поэтому и передать проект могу только тем форумчанам, с которыми я более или менее общался на форуме и в личке и которым я могу доверять. Не хочу подвести человека. Если кто готов взяться, то прошу писать сюда или в личку. Передам все свои наработки (хотя по себе знаю, что лучше самому сделать все с нуля, чем изучать чужой код :-))) и посвящу в суть проекта.  
Изменено: ber$erk - 19.07.2016 15:00:38
Учимся сами и помогаем другим...
Ищется специалист на постоянку в г. Уфа, автоматизация autodesk Revit
 
Доброго дня, коллеги!
В Уфе ищется программист с уклоном на VB, VBA. Основная задача - автоматизация autodesk Revit. Насколько я понял из интернета там все таки используется VB.
Полная занятость. От работодателя - покупка лицензий и курса обучения по работе с программой.
Учимся сами и помогаем другим...
копирование данных через массив, заменяются точки на запятые
 
Доброго дня, коллеги!
Столкнулся с проблемой, к которой даже не понимаю как подступиться. Может у кого есть опыт в решении данной проблемы? Суть в следующем:
Программа собирает данные с разных файлов в один. Делаю вроде все стандартно: открываю файл, заношу данные одной колонки в массив
Код
arrOut = iTempWB.Sheets(1).Range(iTempWB.Sheets(1).Cells(2, i), iTempWB.Sheets(1).Cells(iLastRowTMP, i)).Value

потом этот массив переношу в основной файл.
Код
ThisWorkbook.Sheets("Данные").Cells(2, iCol).Resize(UBound(arrOut), 1).Value = arrOut

и вот тут возникает магия. В файле сидят данные в виде "2.2015", формат ячейки общий. При переносе они становятся "2,2015". Если заменить потом все запятые на точку, то ячейки становятся "01.02.2015" с форматом даты и отображаются как "фев.15".
В общем мне надо получить "2.2015" а как это сделать? я в ступоре. Менять принцип переноса данных? че-то не хочется.
Изменено: ber$erk - 14.03.2015 11:14:52
Учимся сами и помогаем другим...
не работает F2, Ячейка не редактируется, а очищается
 
Доброго дня, коллеги!
Столкнулся с проблемой, которая мне уже весь мозг съела. Может кто подскажет?
Суть в следующем: есть запароленный лист (разрешено только выделение незаблокированных ячеек и автофильтр). Есть объединенная ячейка. Она не защищена. При попытке нажать F2, стоя на данной ячейке, весь текст в ней стирается, хотя по логике курсор должен просто встать в конец текста для редактирования.
В чем может быть проблема? Никто не сталкивался с таким? Заранее спасибо за отклики
Учимся сами и помогаем другим...
парсинг XML: надо выбрать атрибуты из конкретной группы
 
Доброго дня, уважаемые коллеги!
Прошу помощи по работе с XML. Вопрос срочный, а я еще с этой областью почти не работал.
Суть проблемы: есть xml-файл. в нем сидит напр. такая структура
Код
<ggg1>
       <param>_____</param>
</ggg1>
<fff2>
       <param>_____</param>
</fff2>
<kkk3>
       <param>_____</param>
</kkk3>
как вытащить значение param из второго блока (<fff2>  ;)  ?
в коде подключаю
Код
CreateObject("MSXML2.DOMDocument")

P.S.: и поделитесь ссылочкой на хорошую справку по работе с xml. желательно русифицированную. Спасибо
Учимся сами и помогаем другим...
Не полная выгрузка данных через ADODB
 
Доброго времени суток, уважаемые однополчане!
Впервые столкнулся с проблемой и не могу понять как ее решить. Суть в следующем:
Есть два файла. В одном сидят данные. В другой копируются данные из первого файла через ADODB.Connection. Сперва все было нормально, но теперь появились два странных нюанса:
1) строки, у которых в колонке "Счет" сидит любое текстовое значение (не числовое) на выходе обнуляются.
2) если в момент загрузки данных сам файл с данными открыт, то колонка "Сумма" в нем обретает формат даты, хотя там изначально числовые данные.

Чтобы не быть голословным прикладываю пример.
Заранее спасибо за любую помощь в данном направлении.
Учимся сами и помогаем другим...
Странная ссылка на подписанную тему в письме-оповещении
 
Уже давно на почту приходят письма со странной ссылкой в конце: "http://planetaexcel.ru/user/#user_id#/"
Раньше была нормальная ссылка на тему форума. По ней очень удобно было сразу переходить в подписанную тему, а сейчас приходится искать ее через главную ветку.
Что случилось случилось и когда это поправят?
Учимся сами и помогаем другим...
Анимация Flash на немодальной форме, При открытии userform в немодальном режиме анимация не работает
 
Доброго времени дня, коллеги!
Решил тут намедни приукрасить программку следующим образом: на листе есть большая таблица-отчет с формулами. на другом листе вносятся данные, которые отражаются на листе-отчете. Т.к. отчет большой (много формул), то добавлении записи на втором листе занимает некоторое время (понятно что из-за пересчета формул). Я отключил автовычисление формул и включаю его только когда, активируется лист с таблицей-отчетом. Захотелось мне, чтобы при активации листа-отчета появлялась форма с flash-анимацией типа "loading..." и была видна пока происходит пересчет формул. С этим проблем не возникло: Закинул на форму ShockwaveFlash, прописал там все что нужно (в режиме edit-a эта анимация крутится - проблем нет). Далее макрос на активацию листа:
Код
Private Sub Worksheet_Activate()
    fmWait.Show False
    DoEvents
    Application.CalculateFull
    Unload fmWait
End Sub

И тут происходит затык: не работает анимация  :(  Причем если показать форму модально, то все работает нормально. Никто не сталкивался с такой проблемой? Можно ее как-нибудь решить?
Учимся сами и помогаем другим...
Список наиболее частых слов в диапазоне, отсортированный по убыванию, Ищу решение проблемы одной формулой без допстолбцов
 
Доброго времени суток, коллеги!
Никогда не был силен в формулах и поэтому прошу вашей помощи! Суть проблемы в следующем: есть диапазон ячеек с набором слов. Мне необходимо получить список из 5и наиболее часто встречающихся слов из этого диапазона. Самое главное чтобы это получалось одной формулой. Мои попытки, кроме добавления доп.столбцов, ни к чему не пришли. К сожалению КРАЙНЕ ЖЕЛАТЕЛЬНО обойтись без них. Более того, даже с ними, есть проблема, когда количество двух слов в диапазоне совпадает (видно из примера по слову "телефон" - там должно идти следом другое слово  :D )
Заранее спасибо!
Учимся сами и помогаем другим...
Раскрасить динамический диапазон в разные цвета
 
Не знаю, сталкивался ли кто-нибудь, кроме меня, с такой проблемой, когда заранее неизвестно сколько будет столбцов данных, но каждый столбец надо раскрасить отличным, от других столбцов, цветом. Поиск решения данной проблемы в интернете мне мало чего дал (может быть плохо искал). Основной затык состоял в том, что заливка в Excel-е осуществляется в RGB - цветовой схеме, а в ней заложить нормальное пошаговое изменение цвета не получится (ИМХО). простой рандом R,G и В составляющих цвета решения не даст, т.к. цвета выходят жуткие и нет гарантии, что соседние цвета не совпадут.
Углубившись в изучение теории цвета, я нашел решение в цветовой схеме HSL. В отличие от общераспространенной схемы RBG (где R - это красная составляющая цвета, G -зеленая а B - голубая), в HSL используется H (Hue) - оттенок цвета, S (Saturation) - насыщенность цвета и L (Lightness) - "светлота"/ яркость цвета. Здесь цвет фактически зависит только одного параметра H, а шаг для него задать уже не представляет сложности.
Осталась только одна проблема – научить Excel работать с HSL (может он все таки это умеет, но я видимо об этом не знаю). В итоге я написал функцию, которая переводит формат HSL в формат RGB. Его то я и хочу выложить на всеобщее обсуждение: может пригодится кому, или может кто-что посоветует по доработке кода. А может кто-то уже решил подобную проблему другим способом. В общем критика и советы приветствуются  :)
Для того, чтобы показать работу функции, прикладываю файл – пример. В первом варианте раскраска столбцов происходит стандартно с определенным шагом. Естественно, что чем больше столбцов надо раскрасить, тем менее плавный между столбцами переход. Решить такой момент можно меняя не только оттенок, но и насыщенность (вариант 2). А можно, опять же, рандомить насыщенность и яркость цвета (вариант 3) – но это так, чисто для показухи.
Учимся сами и помогаем другим...
Открыт ли файл из сетевой папки?, Не могу написать функцию, проверяющую файл.
 
Доброго времени суток, уважаемые коллеги! (надеюсь уже имею право так Вас называть  :D  )
Бьюсь уже второй день, но так и не могу понять как реализовать функцию, которая будет проверять открыт ли файл excel из сетевой папки.
стандартные функции вроде
Код
Private Function WorkbookIsOpen(iName$) As Boolean 
    On Error Resume Next 
    WorkbookIsOpen = (TypeName(Workbooks(iName$)) = "Workbook") 
End Function

работают только с файлами, открытыми на этом же компьютере.

Пытаюсь сделать проверку через открытие файла для записи
Код
Function ExcelIsOpen(fileName$)
    Dim ff As Long, ErrNo As Long

    On Error Resume Next
    ff = FreeFile()
    Open fileName For Input Lock Read As #ff
    Close ff
    ErrNo = Err
    On Error GoTo 0
    MsgBox ErrNo
    Select Case ErrNo
    Case 0:    ExcelIsOpen = False
    Case 70:   IsWorkBookOpen = True
    Case Else: ExcelIsOpen = True
    End Select
End Function

но всегда выходит ошибка №70 Permission denied. Хотя код Wokbooks.Open(fileName) спокойно открывает файл.
Может кто уже решил эту проблему? Подскажите как?
Изменено: ber$erk - 21.03.2013 07:59:43
Учимся сами и помогаем другим...
Прекращение работы MS Excel
 
Приветствую вас, гуру Excel-я!
Возникла проблема, которую я даже осмыслить пока не могу. Может кто уже сталкивался с этим и подскажет в какую сторону копать?
Суть проблемы такова: довольно большой макрос при пошаговом выполнении отрабатывает как надо. Но стоит его запустить, то после выполнения (а я вижу, что он отрабатывает до конца) происходит сбой Excel-я. Появляется окно (во вложении).
Я думал, что сам файл запоролся. Перенес руками данные и сам код в новую книгу, но проблема повторилась. Подскажите, плз, в чем может быть дело?

Сигнатура проблемы:
Имя события проблемы: APPCRASH
Имя приложения: EXCEL.EXE
Версия приложения: 14.0.4756.1000
Отметка времени приложения: 4b9c08e8
Имя модуля с ошибкой: EXCEL.EXE
Версия модуля с ошибкой: 14.0.4756.1000
Отметка времени модуля с ошибкой: 4b9c08e8
Код исключения: c0000005
Смещение исключения: 00037b42
Версия ОС: 6.1.7601.2.1.0.256.1
Код языка: 1049

Дополнительные сведения об этой проблеме:
LCID: 1049
skulcid: 1049
Учимся сами и помогаем другим...
Подписка, Не совсем понятная логика оформления подписки
 
Уважаемые администраторы!
Это у меня только так или у всех? При оформлениии подписки на обновления какой-либо темы на почтовый ящик сваливаются ссылки на все предыдущие сообщения этой темы, хотя в самой галке написано "Подписаться на новые сообщения этой темы"
И предложение: мне кажется, что не зачем слать на ящик ссылки на мои же сообщения. Можно ли этот момент подправить?
Учимся сами и помогаем другим...
Получить список всех CommandBarControl
 
Доброго всем времени суток!  
Что-то не могу я понять как получить все контролы менюшки.  
Код "For j = 1 To MyMenu.Controls.Count..." выдает только контролы "первого" уровня. т.е. если среди них есть контрол типа msoControlPopup (раскрывающаяся вправо/влево менюшка) со своими контролами, то они в список не попадут. Я с рекурсией не особо в ладах. Неужели без нее никак не получится?    
________________________  
khafizovtt@gmail.com
Учимся сами и помогаем другим...
Ищу иконки
 
Доброго всем дня!  
Помню, что кто-то здесь выкладывал файл со всеми иконками Excel-я. Не их FaceId и imageMso, а именно сами иконки. Но поиском не могу найти. Может кто сохранил себе этот файл? Поделитесь пожалуйста.  
________________________  
khafizovtt@gmail.com
Учимся сами и помогаем другим...
Off. Игры в Excel
 
Время от времени сижу на пикабу, и вот недавно встретил это: http://pikabu.ru/view/arcanoid_v_excel_750935  
Там гифка на 11Мб, поэтому здесь выложить не могу.    
 
Авторы: http://www.yriver.it/proekti/-index_ru.html  
Просто понравилось, что кто-то решил это сделать в Excel-e. Ув. гуру, а вы что-нибудь подобное делали?  
________________________  
khafizovtt@gmail.com
Учимся сами и помогаем другим...
Перевод Pixels в Points
 
Уважаемые коллеги!  
Подскажите, ато что-то сам не могу найти ответ.  
В VBA есть функция ActiveWindow.PointsToScreenPixelsX, которая переводит размеры документа в экранные пиксели. Мне же нужно совсем наоборот: знаю разрешение экрана и исходя из него хочу задать размеры формы. Есть такая функция?  
 
З.Ы.: небольшой вопрос в догонку по теме. При активации формы меняю ее размеры и хочу расположить форму по центру. Но "Me.StartUpPosition = CenterScreen" в конце процедуры не отрабатывает. Что-то нужно сделать еще?  
Заранее спасибо.  
________________________  
khafizovtt@gmail.com
Учимся сами и помогаем другим...
Зависание окна прогресса
 
Уважаемые гуру!  
Вот и я назрел со своим вопросом. Надеюсь вы мне поможете.  
Запускаю на листе долгий процесс. Чтобы было видно процесс расчета создал userForm с lable-ом на нем, где прописываю процент выполнения (Repaint формы вызываю). Проблема в том, что где-то на 30-ом проценте форма как бы перестает отвечать, т.е. не отрисовывается (хотя конечно же процесс расчета идет своих ходом). Как-то можно решить эту проблему?  
________________________  
khafizovtt@gmail.com
Учимся сами и помогаем другим...
Страницы: 1
Наверх