VBNet
VBMania
Голосование: Голосования сайта VBNet.Ru. Результаты голосований передаются на сайт. Проследите, что есть соединение с интернетом. Ссылки: |
Господа!!! читайте MSDN!!! Несколько слов от автора:
За отсутствием кодов и неимением времени на создание новых кодов, пришлось этот раздел упразднить... Теперь будет публиковаться раздел "НеЧаВо" - Не Часто задаваемые Вопросы.
Читайте! Содержание выпуска
Книги
Остальные книги о VB можно найти здесь. наверх Эксперт - Привет, Серый. - Угу, привет. Ты проходи, садись, я щас, с функцией тут разберусь... - Да я на момент. Вопросец имеется. - Вопросец, вопросец... Так, тут переменная не объявлена... Вопросец... С вопросами в систему, к экспертам... А тут точку не поставил! Вот она где, соб-бака!! - Ты че, какая система? Ты о чем? - О! Все, работает... Чего ты говоришь? - Ты про каких это экспертов тут заикаешься? - А-а. А ты что, первый раз слышишь, что ли? Ты на СообЧа бывал? - Где?!! - Да вот, гляди. Щас соединимся... Во! http://soobcha.ru, зришь? - М-да... Занятно. Так я с вопросом к тебе... - А я вот и говорю: туда иди, в систему "Эксперт", там ответят. - Это чайники, что ли, ответят? - Не сомневайся, ответят. Там у них такое наворочено... Короче, ты по почте вопрос свой задаешь - и все:)))))) Больше не изволь беспокоиться, там они сами будут искать ответ на твой вопрос. А через некоторое время вывалят тебе на ящик не один, а несколько ответов. Пользуйся и радуйся:) - А чего это они там такие добрые да услужливые? У них чего, своих проблем нет? Сколько я должен платить за такое трогательное беспокойство? - Ну, это немного. Меньше, чем ты думаешь:) Тебе достаточно только подтвердить правильный ответ. Давишь на соответствующую ссылку, дескать, вот этот ответ мне понравился, помог, и я доволен. Просто пустое письмо засылаешь к ним, и вся оплата. А если хочешь у них экспертом стать, то пожалуйста, регистрируйся и отвечай на вопросы. - Кем? Экспертом? - А что? Что-то ты ведь знаешь, не вчера за комп сел. - А на фига мне это надо? Разбираться с чужими проблемами... У меня своих - хоть отбавляй... - Ага. Вот ты только что спрашивал: а сколько? И если уж ты со своими проблемами обращаешься к людям, то ведь надеешься, что тебе помогут. А сам-то что, влом, что ли, помочь кому-то? Да ладно! Тебя, вобщем-то, никто и не тянет, не заставляет. А вот те, кому интересно, кому не жаль поделиться, те там и работают. Я, между прочим, давно уже с ними. - В смысле, экспертом, что ли, заделался? И сколько тебе платят? - А ты не прикалывай. Там никто никому не платит. А вот конкурсы, между прочим, проводят, и не хилые. Представляешь, за лучший ответ дают бесплатно три месяца платного хостинга, да еще домен регистрируют. За просто так. А вот тебе, если ты задашь самый лучший вопрос, тоже приз может выгореть. - Это как: лучший? На который никто ответить, что ли, не сможет? Так я щас таких вопро... - Причем тут это? Просто ты, если вопрос пишешь к ним, так сподобься хоть запятые в нужных местах поставить, там, грамотно, короче, обрисуй свой трабл. - Ну ладно, въехал. Ты мне вот лучше помоги с моим траблом. Мой Фотошоп не хочет по русски работать... - Ха, так этот трабл там уже сколько раз появлялся. У них на сайте и ответ есть... Вот, любуйся: Заходим в редактор реестра (regedit.exe). Находим ключ HKEY_LOCAL_MACHINE\System\CurrentControlSet\control\Nls\Codepage В нем изменяем значение параметра 1252 с cp_1252.nls на cp_1251.nls. Перезагружаемся... - Понял... погоди, запишу... - Да чего записывать? Шагай домой, входи на сайт и копируй... - Да я ссылку запишу... Слушай, а как там в эту систему вопрос задать? Вообще, как она работает? - Так тут же, на сайте, все есть. А вообще, можешь по почте пустое письмо загнать на mailto:reply.infoexpert@soobcha.ru, и получишь всю необходимую инфу. А вообще, ты лучше в следующий раз с вопросами не ко мне, а туда. Может, я и отвечу там. - А не проше тебе здесь ответить? - Э-э-э... Там я баллы зарабатываю... - А это еще зачем? - Ладно, мотай. Дома почитаешь, все о них узнаешь. У меня тут халтурка... Давай, пока. - Пока. А как ты экспертом там зарегился? - Иди, иди! Инфу читай... наверх НеЧаВо Вопрос: В Excel 2000 при копировании листа Sheets("Name").Copy After:="NameA" Где-то на 26-31-й копии возникает ошибка #1004 и лист не копируется. Что это за глюк? Как с ним бороться? Ответ: Используй следующий метод: не Sheets("Name").Copy, а ActiveSheet.Copy str1 = ActiveSheet.Name + "_svod" ActiveSheet.Name = "proverka" ActiveSheet.Copy before:=Workbooks(WBN).Worksheets("START") ActiveSheet.Copy before:=Worksheets(Worksheets.Count) zhebelev Вопрос: Как сделать, чтобы программа добавлялась в автозагрузку (не в меню "Автозагрузка", а в реестр)? Ответ: Для этого необходимо создать в разделе реестра HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run строковый параметр. В значении параметра установить путь программы. В модуле пишешь: Option Explicit Public Const REG_SZ As Long = 1 Public Const REG_DWORD As Long = 4 Public Const HKEY_LOCAL_MACHINE = &H80000002 Public Const HKEY_CLASSES_ROOT = &H80000000 Public Const HKEY_CURRENT_USER = &H80000001 Public Const HKEY_USERS = &H80000003 Public Const ERROR_NONE = 0 Public Const ERROR_BADDB = 1 Public Const ERROR_BADKEY = 2 Public Const ERROR_CANTOPEN = 3 Public Const ERROR_CANTREAD = 4 Public Const ERROR_CANTWRITE = 5 Public Const ERROR_OUTOFMEMORY = 6 Public Const ERROR_INVALID_PARAMETER = 7 Public Const ERROR_ACCESS_DENIED = 8 Public Const ERROR_INVALID_PARAMETERS = 87 Public Const ERROR_NO_MORE_ITEMS = 259 Public Const KEY_ALL_ACCESS = &H3F Public Const REG_OPTION_NON_VOLATILE = 0 Declare Function RegCloseKey Lib "advapi32.dll" (ByVal hKey As Long) As Long Declare Function RegCreateKeyEx Lib "advapi32.dll" Alias "RegCreateKeyExA" (ByVal hKey As Long, ByVal lpSubKey As String, ByVal Reserved As Long, ByVal lpClass As String, ByVal dwOptions As Long, ByVal samDesired As Long, ByVal lpSecurityAttributes As Long, phkResult As Long, lpdwDisposition As Long) As Long Declare Function RegOpenKeyEx Lib "advapi32.dll" Alias "RegOpenKeyExA" (ByVal hKey As Long, ByVal lpSubKey As String, ByVal ulOptions As Long, ByVal samDesired As Long, phkResult As Long) As Long Declare Function RegQueryValueExString Lib "advapi32.dll" Alias "RegQueryValueExA" (ByVal hKey As Long, ByVal lpValueName As String, ByVal lpReserved As Long, lpType As Long, ByVal lpData As String, lpcbData As Long) As Long Declare Function RegQueryValueExLong Lib "advapi32.dll" Alias "RegQueryValueExA" (ByVal hKey As Long, ByVal lpValueName As String, ByVal lpReserved As Long, lpType As Long, lpData As Long, lpcbData As Long) As Long Declare Function RegQueryValueExNULL Lib "advapi32.dll" Alias "RegQueryValueExA" (ByVal hKey As Long, ByVal lpValueName As String, ByVal lpReserved As Long, lpType As Long, ByVal lpData As Long, lpcbData As Long) As Long Declare Function RegSetValueExString Lib "advapi32.dll" Alias "RegSetValueExA" (ByVal hKey As Long, ByVal lpValueName As String, ByVal Reserved As Long, ByVal dwType As Long, ByVal lpValue As String, ByVal cbData As Long) As Long Declare Function RegSetValueExLong Lib "advapi32.dll" Alias "RegSetValueExA" (ByVal hKey As Long, ByVal lpValueName As String, ByVal Reserved As Long, ByVal dwType As Long, lpValue As Long, ByVal cbData As Long) As Long Declare Function RegDeleteKey& Lib "advapi32.dll" Alias "RegDeleteKeyA" (ByVal hKey As Long, ByVal lpSubKey As String) Declare Function RegDeleteValue& Lib "advapi32.dll" Alias "RegDeleteValueA" (ByVal hKey As Long, ByVal lpValueName As String) 'Создание нового ключа (подключа) Public Function CreateNewKey(lPredefinedKey As Long, sNewKeyName As String) Dim hNewKey As Long Dim lRetVal As Long lRetVal = RegCreateKeyEx(lPredefinedKey, sNewKeyName, 0&, vbNullString, REG_OPTION_NON_VOLATILE, KEY_ALL_ACCESS, 0&, hNewKey, lRetVal) RegCloseKey (hNewKey) End Function 'Запись данных в ключ Public Function SetKeyValue(lPredefinedKey As Long, sKeyName As String, sValueName As String, vValueSetting As Variant, lValueType As Long) Dim lRetVal As Long Dim hKey As Long lRetVal = RegOpenKeyEx(lPredefinedKey, sKeyName, 0, KEY_ALL_ACCESS, hKey) lRetVal = SetValueEx(hKey, sValueName, lValueType, vValueSetting) RegCloseKey (hKey) End Function Public Function SetValueEx(ByVal hKey As Long, sValueName As String, lType As Long, vValue As Variant) As Long Dim lValue As Long Dim sValue As String Select Case lType Case REG_SZ sValue = vValue SetValueEx = RegSetValueExString(hKey, sValueName, 0&, lType, sValue, Len(sValue)) Case REG_DWORD lValue = vValue SetValueEx = RegSetValueExLong(hKey, sValueName, 0&, lType, lValue, 4) End Select End Function 'Возвращает значения записанные в ключе Public Function QueryValue(lPredefinedKey As Long, sKeyName As String, sValueName As String) Dim lRetVal As Long Dim hKey As Long Dim vValue As Variant lRetVal = RegOpenKeyEx(lPredefinedKey, sKeyName, 0, KEY_ALL_ACCESS, hKey) lRetVal = QueryValueEx(hKey, sValueName, vValue) QueryValue = vValue RegCloseKey (hKey) End Function Function QueryValueEx(ByVal lhKey As Long, ByVal szValueName As String, vValue As Variant) As Long Dim a As Integer Dim cch As Long Dim lrc As Long Dim lType As Long Dim lValue As Long Dim sValue As String On Error GoTo QueryValueExError 'Определение размера и типа считываемых данных lrc = RegQueryValueExNULL(lhKey, szValueName, 0&, lType, 0&, cch) If lrc <> ERROR_NONE Then a = 0 Select Case lType 'Для символьных Case REG_SZ: sValue = String(cch, 0) lrc = RegQueryValueExString(lhKey, szValueName, 0&, lType, sValue, cch) If lrc = ERROR_NONE Then vValue = Left$(sValue, cch) Else vValue = Empty End If 'Для числовых Case REG_DWORD: lrc = RegQueryValueExLong(lhKey, szValueName, 0&, lType, lValue, cch) If lrc = ERROR_NONE Then vValue = lValue 'Для остальных не поддержанных типов данных Case Else lrc = -1 End Select QueryValueExExit: QueryValueEx = lrc Exit Function QueryValueExError: Resume QueryValueExExit End Function 'Удаление значений ключа Public Function DeleteValue(lPredefinedKey As Long, sKeyName As String, sValueName As String) Dim lRetVal As Long Dim hKey As Long lRetVal = RegOpenKeyEx(lPredefinedKey, sKeyName, 0, KEY_ALL_ACCESS, hKey) lRetVal = RegDeleteValue(hKey, sValueName) RegCloseKey (hKey) End Function 'Удаление ключа Public Function DeleteKey(lPredefinedKey As Long, sKeyName As String) Dim lRetVal As Long lRetVal = RegDeleteKey(lPredefinedKey, sKeyName) End Function В примере написан полный код работы с реестром, если необходимо только записать данные, то лишнее можно убрать. Применение: Private Sub Command1_Click() Dim path As String path = "Software\Microsoft\Windows\CurrentVersion\Run" CreateNewKey HKEY_LOCAL_MACHINE, path SetKeyValue HKEY_LOCAL_MACHINE, path, "Назавание программы", "здесь пишешь полный путь программы", REG_SZ End Sub Иван Вопрос: Что бы послать почту, пишу: Private Declare Function ShellExecute& Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) Private Declare Function GetDesktopWindow Lib "user32" () As Long Private Sub Label1_Click() 'Выяываем маил с адресом Call ShellExecute(0&, "Open", "mailto:" + "ЛОГИН@СЕРВЕР.ru" + "?Subject=" + "'Здесь описана тема...'" + "?body=" + "'Сдесь нужно написать сообщение'", "", "", SW_SHOWNORMAL) End Sub Но в почтовой программе текст 'Сдесь нужно написать сообщение' выводится там где вводится тема. Помогите сделать так чтобы в текстовом поле ияображалать текст Ответ: Все дело в том что у вас получается след вызываемая комманда: mailto:ЛОГИН@СЕРВЕР.ru?Subject=описана тема...?body=Сдесь нужно написать сообщение Между Subject и Body должен быть знак (& - амперсанд), а не ? иначе ничего работать небудет! Александр Вопрос: Если на VB написать программу и записать на CD-R, а затем написать соответствующий autorun.inf, чтобы программа запускалась при вставке диска в привод, то если на компьютере нет нужных библиотек (например, msvbvm60.dll), то программа не будет работать. Как быть? Ответ: Надо просто поместить все необходимые библиотеки в корневой каталог твоего CD. Будет работать. Sobic Вопрос: Как запустить файл .mp3? Ответ: В разделе формы General Declarations объявляем следующую API-функцию: Private Declare Function mciExecute Lib "winmm.dll" (ByVal lpstrCommand As String) As Long 'чтобы воспроизвести файл Private Sub Command2_Click() Call mciExecute("play d:\Music01.mp3") End Sub 'чтобы закрыть файл Private Sub Command1_Click() Call mciExecute("close d:\Music\01.mp3") End Sub Иван наверх Мои программы BalloonMessage for MS Agent BalloonMessage for Microsoft Agent реализует диалог программы с
пользователем, используя при этом технологию Microsoft Agent. OCX реализует три
типа диалоговых окон: InputBox, MsgBox и MsgLabels. Автора: Шатрыкин Иван и Павел Сурменок. наверх Вопрос/Ответ Здесь Вы можете задать вопрос, или ответить на уже имеющиеся вопросы. Вопросы:Автор вопроса: Alex Ответ ожидается по этому адресу Каким образом можно отловить сигналы с COM порта, например с инфры, подключенного к нему? Автор вопроса: Валера Ответ ожидается по этому адресу Если нет AddressOf инструкции в VBA, то как передать в программу адрес другой программы? Можно ли через VarPtr (имя программы)? Автор вопроса: XXX Ответ ожидается по этому адресу Как сделать, чтобы мою прогу нельзя было закрыть через Ctrl+Alt+Del? Автор вопроса: Роганов Владимир Ответ ожидается по этому адресу В модуле пишу: Public Declare Function SetCursorPos Lib "user32" (ByVal x As Long, ByVal y As Long) As Long При выполнении выдаётся ошибка: "Constants, fixid-lenght strings, arrays, user defined types and Declare statements not allowed as Public members as object modules". Что делать? Автор вопроса: Роганов Владимир Ответ ожидается по этому адресу Какой контрол будет распологать папки так, как в моём компьюторе(крупные значки, отображать как веб страницу)? Автор вопроса: Taras Prikhodko Ответ ожидается по этому адресу Как получить список всех папок диска в виде полного пути для каждой папки? Автор вопроса: Мелёшин Андрей Ответ ожидается по этому адресу Как сделать Shape1 или Command1 поверх TextBox? Автор вопроса: Сергей Гаан Ответ ожидается по этому адресу У меня вопрос про WindowsXP Visual Style. Как написано в MSDN и Интернете, я создал в папке с программой файл .manifest. Однако программа работает только с включенной опцией совместимости, а если она выключена, то программа вообще не запускается. Я даже пробовал запихнуть этот manifest в exe-файл (с помощью проги PE Explorer). Результат тот же. Кто знает, подскажите что надо сделать, чтобы прога работала без совместимости. Автор вопроса: Роман Ответ ожидается по этому адресу Как можно из приложения написанного на VB6 отключить базу данных от SQL Server Enterprise Manager? Автор вопроса: OXYGEN Ответ ожидается по этому адресу В ресурсах приложения есть несколько файлов формата BMP. Как сделать, чтобы при загруяке формы в контроле picture1.picture проиявольно (!) устанавливалась любая из этих картинок. Автор вопроса: OXYGEN Ответ ожидается по этому адресу Изменяю раямеры формы. Как можно ограничить ресайзинг (форма сжимается до определённых раямеров) и как сделать, чтобы при изменении раямеров формы изменялись раямеры контролов на этой форме? Ответы: Вопрос: Как с помощью нашего любимого VB сделать скриншот и записать его в jpg? Ответ: Автор ответа: valix Ставишь на форму PictureBox: 'API Private Declare Function BitBlt Lib "gdi32" (ByVal hDestDC As Long, ByVal x As Long, ByVal y As Long, ByVal nWidth As Long, ByVal nHeight As Long, ByVal hSrcDC As Long, ByVal xSrc As Long, ByVal ySrc As Long, ByVal dwRop As Long) As Long Private Declare Function GetDC Lib "user32" (ByVal hwnd As Long) As Long Private Declare Function GetDesktopWindow Lib "user32" () As Long 'код Dim sw As Long, sh As Long sw = Screen.Width: sh = Screen.Height Picture1.AutoRedraw = True Picture1.ScaleMode = vbPixels Picture1.Width = sw Picture1.Height = sh BitBlt Picture1.hDC, 0, 0, sw, sh, GetDC(GetDesktopWindow), 0, 0, vbSrcCopy SavePicture Picture1.Image, "c:\screenshot.bmp" В jpg стандартными функц. VB сохранить не получится, надо юзать спец. DLL. Вопрос: А есть в VB 6.0 какой-нибудь контрол, чтобы при передачи в него данных из TextBox он их отображал в HTML? Ответ: Автор ответа: valix Есть компонент такой Microsoft Internet Controls: Project > Components > Microsoft Internet Controls Кидаешь на форму WebBrowser и пишешь: open "c:\temp.htm" for output as #1 print #1,text1.text; close #1; webbrowser1.navigate "c:\temp.htm" Вопрос: Как нажать "Alt" + "TAB" програмно при помощи VB 6.0. Ответ: Автор ответа: valix 'API Private Declare Sub keybd_event Lib "user32" (ByVal bVk As Byte, ByVal bScan As Byte, ByVal dwFlags As Long, ByVal dwExtraInfo As Long) Private Const KEYEVENTF_KEYUP = &H2 Private Const VK_TAB = &H9 'Код keybd_event 18, 0, 0, 0 keybd_event VK_TAB, 0, 0, 0 keybd_event VK_TAB, 0, KEYEVENTF_KEYUP, 0 keybd_event 18, 0, KEYEVENTF_KEYUP, 0 Вопрос: По мере изучения VB столкнулся с двумя проблемами: 1) Нужно из формы запустить посторонний exe-шник с ключами, например winrar.exe 2) Часто встречал, что в VB-шных прогах для вывода отчетов использовался Word. Заранее созданный шаблон имел *.doc формат. Причем для заполнения данными в нужные ячейки таблицы помещали так называемые маркеры. Например: Поставщик: %001 Покупатель: %002 и т.п. Вот и я бы хотел реализовать нечто подобное в своих прогах. Ответ: Автор ответа: KAS (c) Что бы запустить exe'шник: shell "winrar.exe -a" Ответ: Автор ответа: Alexander 1. Надо использовать Shell: Dim ReturnValue, I ReturnValue = Shell("calc.exe", 1) ' запуск калькулятора AppActivate ReturnValue ' активация калькулятора For I = 1 To 100 ' установка счётчика SendKeys I & "{+}", True ' посылаем нажатия клавиш Next I ' с текущим I SendKeys "=", True ' Получаем "Всего" SendKeys "%{F4}", True ' Посылаем ALT+F4 для закрытия калькулятора 2. Пример моего использования Word 97-2002 как "генератора отчётов". В References установим ссылку на Microsoft Word 9.0 Object Library Attribute VB_Name = "PrintForm" ' agorby@hotmail.com Declare Function FindWindow Lib "user32" Alias _ "FindWindowA" (ByVal lpClassName As String, _ ByVal lpWindowName As Long) As Long Declare Function SendMessage Lib "user32" Alias _ "SendMessageA" (ByVal hWnd As Long, ByVal wMsg As Long, _ ByVal wParam As Long, _ ByVal lParam As Long) As Long Const TemplatePath As String = "C:\Program Files\Common Files\Счет.dot" Sub InitForm() Dim appWD As Word.Application Dim nNewIndDoc Dim nRow nRow = ActiveCell.row ' Проверка, выполняется ли Microsoft Word. On Error Resume Next ' Отложенный перехват ошибок. ' Функция GetObject, вызванная без указания первого аргумента, ' возвращает ссылку на экземпляр приложения. Если это приложение ' не запущено, возвращается ошибка. Обратите внимание на запятую, ' стоящую на месте отсутствующего первого аргумента. Set appWD = GetObject(, "Word.Application") If Err.Number <> 0 Then 'Word Was Not Running = 429 Err.Clear ' Очищаем объект Err на случай ошибки. Set appWD = CreateObject("Word.Application") Else DetectWord End If On Error GoTo 0 appWD.Visible = False appWD.Documents.Add Template:=TemplatePath, NewTemplate:=False appWD.Documents.Add Template:=TemplatePath appWD.Activate appWD.ScreenUpdating = False appWD.Selection.Goto What:=wdGoToBookmark, Name:="Плательщик" appWD.Selection.TypeText Text:="Мой текст" ..... appWD.ActiveDocument.PrintOut appWD.ActiveDocument.Close SaveChanges:=wdDoNotSaveChanges End Sub Sub DetectWord() ' Процедура находит выполняемый Word и регистрирует его. Const WM_USER = 1024 Dim hWnd As Long ' Если Word выполняется, этот вызов API возвращает его дескриптор. hWnd = FindWindow("OpusApp", 0) If hWnd = 0 Then ' 0 означает, что Word не выполняется. Exit Sub Else ' Word выполняется. Используйте функцию API SendMessage, чтобы ввести его в таблицу выполняемых объектов (Running Object Table). SendMessage hWnd, WM_USER + 18, 0, 0 End If End Sub Вопрос: У меня тут такая проблема - не работает SQL-запрос с предикатом LIKE. Вот код: Set db = New ADODB.Connection db.ConnectionString = "Driver=Microsoft Access Driver (*.mdb);DBQ=" & App.Path & "\MP3Base.mdb" db.Open Set DynSet = New ADODB.Recordset DynSet.ActiveConnection = db SQL = "SELECT * FROM Таблица1 WHERE Путь LIKE '*чего-то там*'" DynSet.Open SQL Все проходит без ошибок, но записи в рекордсет не возвращаются, хотя я точно знаю, что в базе они есть. Причем если указать не шаблон, а конкретное слово, то все нормально. Подскажите, пожалуйста, в чем проблема. Ответ: Автор ответа: Tatyana L. Hordynskaya Попробуй LIKE '%чего-то там%' Ответ: Автор ответа: Sergey А что если переписать запрос так: SQL = "SELECT * FROM Таблица1 WHERE Путь LIKE '%чего-то там%'" Ответ: Автор ответа: Alexey Pavlov В последних версиях ADO оператор LIKE работает с символом '%' в аксессовских базах, так же как и с MSSQL. Символ '*' не используется. Ответ: Автор ответа: Alexander На эти грабли я сам в своё время наступил! Причём, сначала увидел как надо, а после экспериментов с Access вылетело из головы! Спасибо, люди добрые надоумили вспомнить! Итак, "фокус" состоит в следующем: там, где мы считаем, чтот обобщаем через знак '*', в VB используется ... '%'. Об этом написано в документации! Т.е. SQL = "SELECT * FROM Таблица1 WHERE Путь LIKE '*чего-то там*'" надо записать как SQL = "SELECT * FROM Таблица1 WHERE Путь LIKE '%чего-то там%'" Работает как часики! Вопрос: Подскажите пожалуйста такую вещь - есть процедура, которая выделяет цветом определённый диапазон ячеек в MSFlexGrid, но при щелчке по любой из ячеек выделение цветом теряется. Как зафиксировать цвет выделеных ячеек? Процедура ниже... Sub SelLineGrid() Dim ir As Integer, istr As Integer 'номер строки ir = 1 Do Until ir = 6 If flxDivizion.TextMatrix(ir, 1) = txtTeam Then istr = ir ir = ir + 1 Loop flxDivizion.row = istr flxDivizion.Col = 0 flxDivizion.RowSel = istr flxDivizion.ColSel = 7 flxDivizion.BackColorSel = RGB(150, 150, 250) End Sub Ответ: Автор ответа: Andrew Isakov Прога твоя работает ПРАВИЛЬНО ;-) Ты используешь свойство Selected. Вместо выделения ячеек, просто изменяй цвет фона КАЖДОЙ нужной тебе ячейки… Можете заполнить эту форму, либо отослать вопрос СЮДА Форма для добавления нового вопроса в этот раздел. Информация отсылается по E-mail владельцу сайта. |
|||||||||||||||
Выпуск подготовили: |
Сурменок Павел |