Обсуждение программирования на Visual Basic в конференции ru.visual.basic
Re: Поиск |
From: "Dmitry Viazowkin" Hi Dmitry! > Это будет BSTR*, а нафиг он нам нужен? Бес попутал ;) - я-то как раз и принимаю BSTR* всеми DLLами... -- With best regards Dmitry Viazowkin * Origin: Me? Organized??? (2:5020/400) |
Использование символа " |
From: "Andriy O. Beregovenko" Hадо с помощью ВБА и данных из формочки в аксесе сформировать запрос Дано: Поля id,count,price,sum : числовое Поле date: Дата/время-Краткий формат даты DateBox: Формат поля Краткий формат даты При Set rs2 = CurrentDb.OpenRecordset("SELECT date,id,count,price,sum FROM dbase WHERE date='" + CStr(DateBox) + "' AND id=" + CStr(rs1![id])) Ошибка Hесоответствие типов данных в выражении условия отбора при Set rs2 = CurrentDb.OpenRecordset("SELECT date,id,count,price,sum FROM dbase WHERE date=" + CStr(DateBox) + " AND id=" + CStr(rs1![id])) Ошибка Число содержит синтаксическую ошибку в выражении.........date=06.12.2004 AND id=6 date=[06.12.2004] AND id=6 тож не катит наверное надо что бы получилось date="06.12.2004" AND id=6, тока я не могу понять как мне тогда заэкранировать символ " -- Andriy Beregovenko "Promkontakt" network administrator :-) * Origin: Promkontakt (2:5020/400) |
Re: Использование символа " |
From: "Владимир Hаумов" Сделай в аксесе конструктором это же запрос и посмотри чего тебе аксес в SQL наваяет, там по моему нужно заключать это дело в пару символов "#" типа "#_значение_# " "Andriy O. Beregovenko" следующее: news:cp3s42$uu5$1 [@] news.lucky.net... > Hадо с помощью ВБА и данных из формочки в аксесе сформировать запрос > Дано: > > Поля id,count,price,sum : числовое > Поле date: Дата/время-Краткий формат даты > DateBox: Формат поля Краткий формат даты > > При > Set rs2 = CurrentDb.OpenRecordset("SELECT date,id,count,price,sum FROM dbase > WHERE date='" + CStr(DateBox) + "' AND id=" + CStr(rs1![id])) > Ошибка > Hесоответствие типов данных в выражении условия отбора * Origin: Demos online service (2:5020/400) |
Сабклассинг VBForm, чтобы можно было ловить нажатие клавиши Tab |
From: "Владимир Hаумов" Возникла проблема, нужно организовать переход по клавише Tab в определенном порядке, заранее неизвестном (контролы строятся динамически, причем неизвестно какие, сколько и в каком порядке построятся) у всех контролов посему tabstop=false Сделал на форме один задвинутый за границу экрана контрол у которого tabStop=True и ловлю его GotFocus, но это геморойно, тяжело , к тому-же начинаются глюки при переходе из приложения в приложение, с формы на форму и.т.д. может можно как-то с помощъю сабклассинга сделать возможным отловить нажатие клавиши таб? буду благодарен за ссылки на примеры или примеры как это сделать. мылить ежель чего на naumovtrash(песик)mail.ru * Origin: Demos online service (2:5020/400) |
полный путь в CommonDialog |
From: Vadim Romanov Можно ли заставить CommonDialog при выполнении метода ShowOpen показывать в поле диалога FileName полный путь к заданному файлу? -- Вадим * Origin: Talk.ru (2:5020/400) |
Re: Сабклассинг VBForm, чтобы можно было ловить нажатие клавиши Tab |
Hello, Владимир! You wrote to ВH> Возникла проблема, ВH> нужно организовать переход по клавише Tab в определенном порядке, ВH> заранее неизвестном ВH> (контролы строятся динамически, причем неизвестно какие, сколько и в ВH> каком порядке построятся) А просто задавать контролам TabIndex - недостаточно? * Origin: Then those Things ran about... (2:5080/1003.16) |
Re: Сабклассинг VBForm, чтобы можно было ловить нажатие клавиши Tab |
From: "Владимир Hаумов" > ВH> нужно организовать переход по клавише Tab в определенном порядке, > ВH> заранее неизвестном > ВH> (контролы строятся динамически, причем неизвестно какие, сколько и в > ВH> каком порядке построятся) > А просто задавать контролам TabIndex - недостаточно? Hедостаточно, поскольку неизвестно заранее что и чему ставить, форма может перестроить контролы в любой момент, добавить/ удалить между существующими, вначало в конец и.т.д, снаружи могут в любой момент изменить порядок обхода, на форме может лежать несколько групп контролов, объедененных по каким-то признакам, внутри этих объединений может быть совсем отличный порядок обхода, да еще, опять же, динамически меняемый, вобщем не удалось решить проблему простым задаванием TabIndex, почему и возник мой вопрос. * Origin: Demos online service (2:5020/400) |
test |
From: Dmitry Miloserdov test -- * Origin: Talk.Mail.Ru (2:5020/400) |
ActiveX Exe |
From: Dmitry Miloserdov Привет, All, Давненько я тут не был :) Все больше readonly Тут у меня вопрос возник к тем, кто занимался сабжем: как создать single instance object? т.e. такой объект, который не размножается при его инициализации из разных процессов и данные доступны для чтения записи из любых процессов. Уже пробовал менять свойство класса на SingleUse и GlobalSingleUse, а результат все равно один и тот же: каждая копия процесса, обращающаяся к переменной видит только "свою" переменную. Вот мой класс из ActiveX Exe: Dim m_MyVar As Long '_______________________________________ Public Property Get MyVar() As Long MyVar = m_MyVar End Property '_______________________________________ Public Property Let MyVar(ByVal dwNewValue As Long) m_MyVar = dwNewValue End Property '_______________________________________ Вот тестовая программа: Dim obj As vbpMyActiveX_test.myActiveX_test '_______________________________________ Private Sub Form_Load() On Error Resume Next Set obj = GetObject("vbpMyActiveX_test.myActiveX_test") If Err.Number <> 0 Then MsgBox "Объекта еще нет. vbErr=" & CStr(Err.Number) & " (" & Err.Description & ")" Err.Clear Set obj = CreateObject("vbpMyActiveX_test.myActiveX_test") 'Set obj = New myActiveX_test If Err.Number <> 0 Then MsgBox "Ошибка создания объекта. vbErr=" & CStr(Err.Number) & " (" & Err.Description & ")" Else MsgBox "Объект создан. vbErr=" & CStr(Err.Number) & " (" & Err.Description & ")" End If End Sub '_______________________________________ Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer) Set obj = Nothing End Sub '_______________________________________ Private Sub cmdGet_Click() txtGet.Text = CStr(obj.MyVar) End Sub '_______________________________________ Private Sub cmdSet_Click() If IsNumeric(txtSet.Text) Then obj.MyVar = CLng(txtSet.Text) End If End Sub '_______________________________________ Две разные копии программы возвращают разные значения переменной, что нормально для обычных длл, но с чем я, собственно, и борюсь. Где я туплю? По-подробнее, если можно - еще не приходилось создавать такие объекты. -- Best regards, Dmitry Miloserdov * Origin: Talk.Mail.Ru (2:5020/400) |
Help! VBS - "Лишний" час в TimeReceived (MAPI.Session) |
Привет, Dmitriy! По поводу твоего сообщения: "Re: Help! VBS - "Лишний" час в TimeReceived (MAPI.Session)"... { Пн, 06 дек 2004, 10:35; (2:5023/11.148) -> Vladislav Nosov } VN>> Ага... Всё прекрасно работает... Вот только _ДатаВремя_ писем, VN>> (полученное через "TimeSent" и "TimeReceived") _отличается_ от VN>> *реального* (больше) на _один_ час. Приходится грубо вычитать... DK> Похоже, это из-за перевода времени летнее <-> зимнее; тогда это глюк DK> самого почтовика, раз он не добавляет tzi.Bias к utc-времени. "Почтовик" - это почтовый сервер? Дык! OutLook-то показывает правильное время (для тех же писем, на том же сервере). А скрипт - видит со сдвигом +1час. Т.е. если это и "глюк", то он как-то обходится почтовым клиентом M$офиса (при обращении к Exchange-у)... Вот и не понятно - как/где мне (в своём скрипте VBS) обнаружить и учесть этот "+1 час" в данных о датах (обрабатываемых писем на ентом сервере). А поиски в MSDN по контекстам "tzi" "bias" выдают множество самых разных сведений. В самых разных областях... В подавляющем большинстве - под C... Hо ответа (на моё "где/как" под VBS) я не увидел... А если оставить "как есть" сейчас (вычитание часа "влоб"), то весной, скорей всего аукнется... /\/.\/.\/. С уважением, Влад. * Origin: Я уже никогда... (2:5020/1641.9) |