powered by simpleCommunicator - 2.0.56     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Использование элемента VSFlexGrid в MS ACCESS
86 сообщений из 86, показаны все 4 страниц
Использование элемента VSFlexGrid в MS ACCESS
    #37204038
ALEXIS_22
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Уважаемые форумчане,

Мне очень давно хотелось найти какую-нибудь альтернативу стандартному представлению данных в ACCESS в табличном виде.
Т.е. табличной или ленточной форме.
Читая материалы на форуме, я узнал о таком элементе как VSFlexGrid.
Сейчас я пытаюсь разобраться с материалами и примерами (VB) по использованию этого элемента.
Но что-то я пока не могу понять даже для начала, как для этого элемента задать какие-то базовые установки (заполнить шапку, забросить в таблицу данные из таблицы, запроса или рекордсета, задать формат ячеек).

У меня большая просьба к уважаемому сообществу. Если кто-то использовал этот элемент в ACSe и кому не будет совсем в лом помочь с конкретным практическим примером,буду очень признателен.
...
Рейтинг: 0 / 0
Использование элемента VSFlexGrid в MS ACCESS
    #37204924
Arthur_sss
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ALEXIS_22,

Load form()
Dim thers As ADODB.Recordset
thers.Open "SELECT * FROM timezone", CurrentProject.Connection

'Настройка грида
FG.SelectionMode = 1 'выделить только строку
'FG.CellFontName = "Calibri" 'Наименование шрифта
'FG.CellFontSize = 10 'Размер шрифта
'FG.CellFontBold = True 'Жирный

FG.FontName = "Calibri" 'Наименование шрифта
FG.FontSize = 11 'Размер шрифта
FG.FontBold = True 'Жирный

'FG.FloodColor = RGB(100, 255, 100) 'Цввет непонятно чего
FG.FixedRows = 1 'Количество закрепленных заголовок недоступный только одну строчку
FG.FixedCols = 0 'Количество закрепленных колонок
FG.BackColorSel = vbBlue 'Строка выделения
FG.BackColorBkg = RGB(160, 160, 160) 'Цвет заднего фона за гридом
FG.BackColorAlternate = RGB(211, 215, 210) 'цвет альтернативных записей

'Настройка размеров по прямоугольнику
FG.Width = PG.Width - 100
FG.Height = PG.Height - 100
FG.Top = PG.Top + 50
FG.GridlineColor = RGB(211, 215, 210)


'FG.SelectionMode = flexSelectionListBox


'загрузка ресурсов
Set FG.DataSource = thers

'Форматирование заголовков столбцов
FG.FormatString = "#|Картка|Фамилия|Имя|Посада|Дивизион|Email|Мобільний|График"

'Центровка столбцов
FG.ColAlignment(0) = flexAlignCenterCenter
FG.ColAlignment(1) = flexAlignCenterCenter
FG.ColAlignment(2) = flexAlignLeftCenter
'FG.ColAlignment(3) = flexAlignCenterCenter

'Ширина колонок
FG.ColWidth(0) = 700
FG.ColWidth(1) = 700
FG.ColWidth(2) = 2000
FG.ColWidth(3) = 1500
FG.ColWidth(4) = 2500
FG.ColWidth(5) = 2500
FG.ColWidth(6) = 3000
FG.ColWidth(7) = 3000

'Последний растянуть до конца
FG.ExtendLastCol = True

'FG.ColSort(3) = flexSortGenericAscending
'FG.Select

'FG.Sort = flexSortUseColSort

FG.DataMode = 0
'FG.Cols = 4
FG.ColSort(3) = flexSortGenericAscending





'FG.BorderStyle = 4 'Вид бордюра
End Sub
...
Рейтинг: 0 / 0
Использование элемента VSFlexGrid в MS ACCESS
    #37204935
Arthur_sss
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
...
Рейтинг: 0 / 0
Использование элемента VSFlexGrid в MS ACCESS
    #37205020
ALEXIS_22
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо !
Наконец-то что-то увидел в форме. Надо самому поэксперементировать.
...
Рейтинг: 0 / 0
Использование элемента VSFlexGrid в MS ACCESS
    #37205064
Arthur_sss
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ALEXIS_22,

Пиши...Чем смогу...-))
...
Рейтинг: 0 / 0
Использование элемента VSFlexGrid в MS ACCESS
    #37205119
ALEXIS_22
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
Dim thers As ADODB.Recordset
thers.Open "SELECT * FROM Tempor", CurrentProject.Connection

Создал таблицу Tempor, но открыть рекордсет thers не может - не видит таблицу Tempor.
Я обычно работаю с DAO. Но на созданный на основе той же таблицы DAO.Recordset - тоже ошибка свойства
Код: plaintext
Set FG.DataSource
Так что пока в этом затык.
...
Рейтинг: 0 / 0
Использование элемента VSFlexGrid в MS ACCESS
    #37205148
Arthur_sss
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ALEXIS_22,

В редакторе :
Tools-Referens
Подключи Microsof ActiveX Data Objects .. Library
...
Рейтинг: 0 / 0
Использование элемента VSFlexGrid в MS ACCESS
    #37205170
ALEXIS_22
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ссылка есть на ADO 2.1
...
Рейтинг: 0 / 0
Использование элемента VSFlexGrid в MS ACCESS
    #37205191
Arthur_sss
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ALEXIS_22,

У меня например 6 версия 2 не подходит поищи 6
...
Рейтинг: 0 / 0
Использование элемента VSFlexGrid в MS ACCESS
    #37205211
ALEXIS_22
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А так сама таблица с шапкой загрузилась, только полосатая какая-то.
Код: plaintext
FG.BackColorAlternate = RGB( 211 ,  215 ,  210 ) 
Цвет этих полос менять могу, а других нет.

Еще ошибка в строке
Код: plaintext
FG.GridlineColor = RGB( 211 ,  215 ,  210 )
- не находит такого свойства.

И теперь наверное самое главное - с чего собственно нужно было начать. Я использую элемент FlexGrid 8.0 (DAO/RDO)
а еще есть FlexGrid 8.0 (OLEDB) и FlexGrid 8.0 (Light).

Хотя по-моему дело в чем-то другом.
...
Рейтинг: 0 / 0
Использование элемента VSFlexGrid в MS ACCESS
    #37205215
Arthur_sss
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вот как ввыглядят сввязи
...
Рейтинг: 0 / 0
Использование элемента VSFlexGrid в MS ACCESS
    #37205221
Arthur_sss
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Arthur_sss,

OLEDB нужен !
...
Рейтинг: 0 / 0
Использование элемента VSFlexGrid в MS ACCESS
    #37205223
ALEXIS_22
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2.6 подключил с тем же результатом.
...
Рейтинг: 0 / 0
Использование элемента VSFlexGrid в MS ACCESS
    #37205229
ALEXIS_22
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
OLEDB взял - пока тоже самое
...
Рейтинг: 0 / 0
Использование элемента VSFlexGrid в MS ACCESS
    #37205236
Arthur_sss
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ALEXIS_22,

1. Сввязь на Microsof ActiveX Data Objects 6.0 Library
2. Элемент VSFLEX8.OCX (OLEDDB)
...
Рейтинг: 0 / 0
Использование элемента VSFlexGrid в MS ACCESS
    #37205262
ALEXIS_22
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Понял.
У меня в References 6 ADO нет. Добывать надо
Тогда Time Out - спасибо за помощь и внимание.
...
Рейтинг: 0 / 0
Использование элемента VSFlexGrid в MS ACCESS
    #37205322
ZezaM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ALEXIS_22,
фрагмент на гриде -- :-) VideoSoft FlexArray Control
заремленный код м.б. для дугих ФГ - уже не помню
законченный вариант не нашел
может кому сгодится...
...
Рейтинг: 0 / 0
Использование элемента VSFlexGrid в MS ACCESS
    #37205942
ALEXIS_22
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А можно как-то его заполнять, непосредственно указывая адрес ячеек при обращении?
...
Рейтинг: 0 / 0
Использование элемента VSFlexGrid в MS ACCESS
    #37206073
ZezaM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ALEXIS_22А можно как-то его заполнять, непосредственно указывая адрес ячеек при обращении? если вопрос мне...
покопавшись в заремленном коде, Кнопка6_Click - чисто для примера
Код: plaintext
1.
2.
3.
Private Sub Кнопка6_Click()
' Адрес Ячейки  - 33, в кот-ю запишу значение - "!!!!!"
    Me.Flex.TextArray( 33 ) = "!!!!!"
End Sub
...
Рейтинг: 0 / 0
Использование элемента VSFlexGrid в MS ACCESS
    #37206129
ALEXIS_22
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
Private Sub Кнопка6_Click()
' Адрес Ячейки  - 33, в кот-ю запишу значение - "!!!!!"
    Me.Flex.TextArray( 33 ) = "!!!!!"
End Sub

Так не получилось. Только
Код: plaintext
FG.Value = "ФФФФФ"
- тупо пишет значение в самую первую ячейку и все.
...
Рейтинг: 0 / 0
Использование элемента VSFlexGrid в MS ACCESS
    #37206174
ALEXIS_22
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 ZezaM
Только сейчас я могу смотреть Ваш пример. . Хочу повнимательнее с ним разобраться. По непонятностям отпишусь.

Спасибо.
...
Рейтинг: 0 / 0
Использование элемента VSFlexGrid в MS ACCESS
    #37206195
ZezaM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ALEXIS_22,
Адрес Ячейки - не указан
FG.Value = "ФФФФФ"
очевидно поэтому
- тупо пишет значение в самую первую ячейку и все.
...
Рейтинг: 0 / 0
Использование элемента VSFlexGrid в MS ACCESS
    #37206207
ZezaM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
пока отвечал появился этот пост
ALEXIS_222 ZezaM
Только сейчас я могу смотреть Ваш пример. . Хочу повнимательнее с ним разобраться. По непонятностям отпишусь.
Спасибо.чем смогу... : ))
...
Рейтинг: 0 / 0
Использование элемента VSFlexGrid в MS ACCESS
    #37206446
ALEXIS_22
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 ZezaM
Хотел бы для себя еще прояснить два сущетвенных момента:

Возможно ли этот грид сделать интерактивным, ( вводить в ячейки значения с клавиатуры)
и применять условное форматирование для (при заполнении матрицы грида)
...
Рейтинг: 0 / 0
Использование элемента VSFlexGrid в MS ACCESS
    #37206571
ZezaM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ALEXIS_222 ZezaM
Хотел бы для себя еще прояснить два сущетвенных момента:

Возможно ли этот грид сделать интерактивным, ( вводить в ячейки значения с клавиатуры)
и применять условное форматирование для (при заполнении матрицы грида) ничего такого не требовалось, просто тупо заполнял и была выборка по ...
-интерактивным...покопавшись нашел - либо в окне свойств ФГ ставить Editable птицу , либо Me.Flex.Editable = True
-условное форматирование - пока в пути, но мб этот ФГ и не способен...
...
Рейтинг: 0 / 0
Использование элемента VSFlexGrid в MS ACCESS
    #37206604
ZezaM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ZezaM,
в догонку,
-интерактивным...покопавшись нашел - либо в окне свойств ФГ ставить Editable птицу , либо Me.Flex.Editable = True
проверил только на запись в ячейку, на запись из ячейки куда дальше нужно - видимо нужно еще разбираться...
...
Рейтинг: 0 / 0
Использование элемента VSFlexGrid в MS ACCESS
    #37206673
ALEXIS_22
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 ZezaM

У меня VSFlexGrid 8.0. И почему-то не объединяются строки с нижеследующими, где одинаковые значения. Весь код из Вашего примера
Собственно что бы я хотел в перспективе от этого элемента:

1.Программно задавать шапку таблицы с произвольным объединением
необходимых ячеек и не одной строкой.

2.Отображать данные из таблицы или запроса (рекордсетов DAO,
построенных на таблицах или запросах)
3.Иметь возможность условного форматирования ячеек (со штатными
средствами accessa просто беда)
4.Иметь возможность использования "иконок" (из ImageList или хранящиеся
в таблице как бинарные данные) в ячейках грида. (возможно это появилось в версиях после 3)
5.Как работать с представлением данных в гриде в виде дерева (видел такой пример - возможно это тоже появилось в версиях после 3)
...
Рейтинг: 0 / 0
Использование элемента VSFlexGrid в MS ACCESS
    #37206754
ZezaM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ALEXIS_22,
...почему-то не объединяются строки...
в процедуре DoInitialSettings() разкомментируйте строку
Flex.MergeCells = flexMergeRestrictColumns
...с произвольным объединением...
либо в окне свойств на вкладке styles выберите нужное для MergeCells= 1 ' - Free
по всем остальным моментам особо не разбирался... : ))
...
Рейтинг: 0 / 0
Использование элемента VSFlexGrid в MS ACCESS
    #37206805
ZezaM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Использование элемента VSFlexGrid в MS ACCESS
    #37206813
ALEXIS_22
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ZezaM,

еще раз огромное спасибо. Информация очень полезна!
...
Рейтинг: 0 / 0
Использование элемента VSFlexGrid в MS ACCESS
    #37207500
ZezaM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ALEXIS_22,
на том гриде попробуйте добавить в код
типа условное форматирование ; ))
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
  ...
      If Flex.TextMatrix(Flex.rows -  1 , j) =  15  Then
          With Flex
            .Row = Flex.rows -  1  'rws
            .Col = j 'clmn
            .CellBackColor = vbYellow
            '.CellFontItalic = -1
            .CellFontBold = - 1 
            .CellForeColor =  255 
          End With
      End If
   ...
может сгодится
...
Рейтинг: 0 / 0
Использование элемента VSFlexGrid в MS ACCESS
    #37208562
ALEXIS_22
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 ZezaM

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
 If Flex.TextMatrix(Flex.rows -  1 , j) =  15  Then
          With Flex
            .Row = Flex.rows -  1  'rws
            .Col = j 'clmn
            .CellBackColor = vbYellow
            '.CellFontItalic = -1
            .CellFontBold = - 1 
            .CellForeColor =  255 
          End With
      End If

Да так все работоет!

А можно ли шапку таблицы сделать многострочной?
...
Рейтинг: 0 / 0
Использование элемента VSFlexGrid в MS ACCESS
    #37208650
ZezaM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ALEXIS_22... А можно ли шапку таблицы сделать многострочной? попробовал на ФГ из фрагмента: Flex.WordWrap = -1 либо в окне свойств - птичку,
но имя поля пришлось делать с пробелом (не с подчеркиванием), тогда
при изм-и ширины столбца переносятся строки в шапке
...
Рейтинг: 0 / 0
Использование элемента VSFlexGrid в MS ACCESS
    #37208696
Rivkin Dmitry
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мысли вслух...
Если грид пользуем в домашних условиях, еще куда ни шло использование сторонних контролов. Но если это продукт на продажу и будет работать в рантайм версии, стоит проверить регистрацию грида. В предыдущих версиях Акса были затыки.
Вообще, ипольщование сторонних контролов в Аксе может быть проблематичным. Когда-то были дискусссии по эбому поводу. Стоит их поискать и прочитать.
Собственные гриды Акса (собственно, не гриды, а формы ленточные или табличные) во многих случаях более удобны в использовании и более практичны. Например, в грид невозможно вставить аксовский комбобокс. И тд и тп
Я убежден, что использование сторонних гридов в Аксе возможно, но по возможности надо стараться обходиться без них
...
Рейтинг: 0 / 0
Использование элемента VSFlexGrid в MS ACCESS
    #37208714
ZezaM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Rivkin Dmitry...Я убежден, что использование сторонних гридов в Аксе возможно, но по возможности надо стараться обходиться без них
аналогично
вот еще бы тривью в Акс...
...
Рейтинг: 0 / 0
Использование элемента VSFlexGrid в MS ACCESS
    #37208720
R Dmitry
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
что бы не было затыков с установкой мелкософтовского грида, я использую семейку Activex от OneStudio, они хоть и не бесплатные (торент помогает :) ), но всегда ставятся нормально, да и удобнее с ними работать, и функционал по богаче.

ps. Не реклама просто совет :)
...
Рейтинг: 0 / 0
Использование элемента VSFlexGrid в MS ACCESS
    #37208729
R Dmitry
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
R Dmitry,

что я напутал, речь о нем и идет :)
...
Рейтинг: 0 / 0
Использование элемента VSFlexGrid в MS ACCESS
    #37208737
ZezaM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
R Dmitry,
вроде недавно на форуме были картинки с Activex от OneStudio - симпатично...
...
Рейтинг: 0 / 0
Использование элемента VSFlexGrid в MS ACCESS
    #37208758
ALEXIS_22
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[quote автор]попробовал на ФГ из фрагмента: Flex.WordWrap = -1 либо в окне свойств - птичку,
но имя поля пришлось делать с пробелом (не с подчеркиванием), тогда
при изм-и ширины столбца переносятся строки в шапке [/quote
Понятно. Я имел ввиду многострочность в плане когда в шапке под одной ячейкой верхней строки несколько ячеек нижней.

авторВообще, ипольщование сторонних контролов в Аксе может быть проблематичным
Согласен абсолютно.На грабли легко можно наступить. Но для себя прежде всего хочется поппробовать.

Здесь на форуме видел примеры использования VSFlexGrid - очень впечатлило. И размещение иконок в ячейках, и даже TreeView, встроенный в таблицу. Вот и стал копать.
...
Рейтинг: 0 / 0
Использование элемента VSFlexGrid в MS ACCESS
    #37208776
R Dmitry
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ALEXIS_22,

есть свойство fixedrows & fixedcols, которое позволяет закрепить шапку и и столбец,
есть так же свойство frozenrows & frozencols, которое в отличии от первого просто фиксирует от скрола, но позволяет сортировать
...
Рейтинг: 0 / 0
Использование элемента VSFlexGrid в MS ACCESS
    #37210463
ALEXIS_22
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Попробовал во время заполнения данными FlexGrida
вставить в ячейку со значением 4 (по условию) картинку из файла *.ico

Код: plaintext
1.
2.
3.
4.
If Flex.TextMatrix(Flex.Rows -  1 , j) =  4  Then
 With Flex
 .CellPicture = LoadPicture("C:\PreviewWork\Fles\help2.ico")
 End With
 End If
но что-то не получилось, вставка картинки (а вернее ее небольшого фрагмента) происходит почему-то в последнюю колонку заголовка.

А можно ли как-то использовать этот элемент в связке с ImageList ?
...
Рейтинг: 0 / 0
Использование элемента VSFlexGrid в MS ACCESS
    #37213616
ALEXIS_22
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторно что-то не получилось, вставка картинки (а вернее ее небольшого фрагмента) происходит почему-то в последнюю колонку заголовка.

Используя свойство FG.Cell(flexcpPicture, 4, 3) = "C:\PreviewWork\Fles\help2.ico" удалось вставить рисунок в ячейку, но опять же видно только фрагмент, не знаю как его вписать в ячейку полностью.
...
Рейтинг: 0 / 0
Использование элемента VSFlexGrid в MS ACCESS
    #37213752
ZezaM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ALEXIS_22,
на каком гриде ?
...
Рейтинг: 0 / 0
Использование элемента VSFlexGrid в MS ACCESS
    #37213810
ALEXIS_22
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторALEXIS_22,
на каком гриде ?

VSFlexGrid 8.0.
Из ImageList кстати картинка тоже вставляется, но также фрагментом. Наверное нужно сам рисунок для иконки редактировать и делать его меньше.
Так и не понял пока как ввести еще одну строку заголовка, а в первой строке сделать объединение столбцов (к вопросу о многострочной шапке).
...
Рейтинг: 0 / 0
Использование элемента VSFlexGrid в MS ACCESS
    #37213954
ZezaM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ALEXIS_22,
...ввести еще одну строку заголовка...
попробовать
Flex.Rows = 2
но заполняется только верхняя строка...

...а в первой строке сделать объединение столбцов...
- не получается... : ((
...
Рейтинг: 0 / 0
Использование элемента VSFlexGrid в MS ACCESS
    #37213960
ZezaM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
картинка .ico появл-ся вся, но в заголовке ...
...
Рейтинг: 0 / 0
Использование элемента VSFlexGrid в MS ACCESS
    #37213985
ALEXIS_22
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Zezamкартинка .ico появл-ся вся, но в заголовке ...
так и я про то же :))
авторвставка картинки (а вернее ее небольшого фрагмента) происходит почему-то в последнюю колонку заголовка

Код: plaintext
FG.Cell(flexcpPicture,  4 ,  3 ) = "C:\PreviewWork\Fles\help2.ico"
. Так вставляет в ячейку, но беда с размером.
...
Рейтинг: 0 / 0
Использование элемента VSFlexGrid в MS ACCESS
    #37214321
ZezaM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ALEXIS_22
Код: plaintext
FG.Cell(flexcpPicture,  4 ,  3 ) = "C:\PreviewWork\Fles\help2.ico"
. Так вставляет в ячейку, но беда с размером.ставит в цикле - FG.Cell(flexcpPicture, строка, столбец)=...
но с размером беда.. .
и разбираться некогда... :))
...
Рейтинг: 0 / 0
Использование элемента VSFlexGrid в MS ACCESS
    #37214363
ALEXIS_22
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторставит в цикле - FG.Cell(flexcpPicture, строка, столбец)=...
но с размером беда.. .
и разбираться некогда... :))

Аналогично.
...
Рейтинг: 0 / 0
Использование элемента VSFlexGrid в MS ACCESS
    #37214423
ALEXIS_22
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
не понимаю почему если я указал количество строк заголовка
Код: plaintext
FG.FixedRows =  2 
И далее пытаюсь их заполнить значениями
Код: plaintext
1.
2.
3.
FG.Cell(flexcpText,  0 ,  0 ) = "11"
FG.Cell(flexcpText,  0 ,  1 ) = "111"
FG.Cell(flexcpText,  1 ,  2 ) = "22"
FG.Cell(flexcpText,  1 ,  3 ) = "222"
, то отбражается только первая строка заголовка
11 и 111
...
Рейтинг: 0 / 0
Использование элемента VSFlexGrid в MS ACCESS
    #37214477
ZezaM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ALEXIS_22,
в цикле, где грид заполняется поставить
Flex.Rows = 2
у меня работают оба варианта
Flex.Cell(flexcpText, 1, 1) = 11
Flex.TextMatrix(1, 2) = "11"
...
Рейтинг: 0 / 0
Использование элемента VSFlexGrid в MS ACCESS
    #37214796
ALEXIS_22
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть константа (как я понял для фиксированных ячеек) -
Код: plaintext
flexMergeFixedOnly
у свойства
Код: plaintext
VSFlexGrid.MergeCells
.

Но конструкция

Код: plaintext
1.
FG.MergeCells = flexMergeFixedOnly
FG.MergeRow( 1 ) = True
, там гдя я заполняю строку заголовка не отработала.
...
Рейтинг: 0 / 0
Использование элемента VSFlexGrid в MS ACCESS
    #37214913
ZezaM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ALEXIS_22,
пробовал на каждую строку шапки свою проц-ру - заполняет,
но с разной шириной не получается (пропорц-я ширина стр0 - 2столбца и стр1-3столбца)
... MergeCells пробовал и free -1 и restrictall-4 ...
...
Рейтинг: 0 / 0
Использование элемента VSFlexGrid в MS ACCESS
    #37219301
ZezaM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ALEXIS_22,
я поизгалялся слеганца
и 'притянул за уши' шапку ...
...
Рейтинг: 0 / 0
Использование элемента VSFlexGrid в MS ACCESS
    #37219880
ALEXIS_22
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Zezam,

Видел Ваш пост, сейчас нет возможности подробно это посмотреть - после выходных отпишусь.
...
Рейтинг: 0 / 0
Использование элемента VSFlexGrid в MS ACCESS
    #37221242
ALEXIS_22
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ZezaM
Можно использовать вот такой вариант заполнения шапки (см. пример).

Я сейчас пытаюсь понять насколько реально редактирование в гриде с одновременным внесением изменений в табличные данные рекордсета на котором он построен. Пока не знаю как это реализовать.
...
Рейтинг: 0 / 0
Использование элемента VSFlexGrid в MS ACCESS
    #37222099
ZezaM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ALEXIS_22,
редактирование в источнике ч/з ячейку - как вариант 'в лоб' ... ; ))
думаю можно оптимальнее ч/з бинд'ы... и тп
очевидно добавление записей в источнике и гриде
можно по-разному: добавить в гриде - записать в источник
либо-наоборот...
...
Рейтинг: 0 / 0
Использование элемента VSFlexGrid в MS ACCESS
    #37222449
ALEXIS_22
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Zezam

Можно вот так делать

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
Sub FG_RecEdit(frm As Form, rw As Long, clm As Long)
 Dim sql As String
 Dim txt As String
 Dim PoleCol As String
 Dim Pole As String
 PoleCol = Forms![Данные]!Flex.ColKey(clm)
 Pole = "ГридДанные." & PoleCol
 txt = Forms![Данные]!Flex.TextMatrix(rw, clm)
 sql = "UPDATE ГридДанные SET " & Pole & " = '" & txt & "' WHERE (((ГридДанные.кПр) Like '" & rw -  1  & "'));"
 Debug.Print sql
 DoCmd.SetWarnings False
 DoCmd.RunSQL sql
 DoCmd.SetWarnings True
end sub

Только почему-то в Вашем примере и с моим вариантом кода и с Вашим меняется формат редактируемых ячеек (forecolor, backcolor и пр.)
Или только у меня этот глюк?

p.s. Только вот пока никак не соображу как в этом элементе произвольное дерево нарисовать ( не Subtotal по числовым данным, а со своей группировкой как в TreeView).
...
Рейтинг: 0 / 0
Использование элемента VSFlexGrid в MS ACCESS
    #37222568
ALEXIS_22
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторМожно вот так делать

Простите, забыл добавить, в таблице заголовков необходимо исправить данные в поле "Key" в соответствии с названиями полей таблицы с данными и первое поле таблицы с данными использовать как ключ .
...
Рейтинг: 0 / 0
Использование элемента VSFlexGrid в MS ACCESS
    #37222575
ALEXIS_22
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Файл.
...
Рейтинг: 0 / 0
Использование элемента VSFlexGrid в MS ACCESS
    #37222618
ZezaM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ALEXIS_22,
тогда уж
...PoleCol = frm.Flex.ColKey(clm) ... и тд :))
Только почему-то в Вашем примере и с моим вариантом кода и с Вашим меняется формат редактируемых ячеек (forecolor, backcolor и пр.)
не понял КАК меняется...
хотя мб что-то я в конструкторе(не программно) наковырял с форматами - не помню... : ))
насчет деревьев - если есть фрагмент покажите, а то сам не сподвигнусь
...
Рейтинг: 0 / 0
Использование элемента VSFlexGrid в MS ACCESS
    #37222744
ZezaM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ALEXIS_22,
В возвращенном файле ваш код не редактирует источник ....?
...
Рейтинг: 0 / 0
Использование элемента VSFlexGrid в MS ACCESS
    #37222786
R Dmitry
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я работаю с гридом подомным образом
...
Рейтинг: 0 / 0
Использование элемента VSFlexGrid в MS ACCESS
    #37222871
R Dmitry
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
R Dmitry,

на до бы подправить цикл заполнения
Код: plaintext
For i =  0  To UBound(arr,  2 )
...
Рейтинг: 0 / 0
Использование элемента VSFlexGrid в MS ACCESS
    #37222927
ZezaM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
R DmitryR Dmitry,

на до бы подправить цикл заполнения
Код: plaintext
For i =  0  To UBound(arr,  2 )
тогда уж так
For i = 0 To UBound(arr, 2) ' - 2
...
Рейтинг: 0 / 0
Использование элемента VSFlexGrid в MS ACCESS
    #37222937
R Dmitry
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я так и написал :) без (-2)
...
Рейтинг: 0 / 0
Использование элемента VSFlexGrid в MS ACCESS
    #37222951
ZezaM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
R Dmitry,
ну да, это я между постом и кодом в базе не 'переключился' ... : ((
, сорри
...
Рейтинг: 0 / 0
Использование элемента VSFlexGrid в MS ACCESS
    #37223016
R Dmitry
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ну и так по теме
почему через массив и ADD
1. можно дополнительно фильтровать записи, не изменяя строку запроса. (if then)
2. можно применять форматирование к любой ячейке исходя из значения (if then)
3. можно все хранить в глобальном массиве и синхронизировать его с гридом, и уже по событию (Нажатие кнопки) производить обновление данных. Удобно использовать, когда нужно используя checkbox отмечать необходимые записи
...
Рейтинг: 0 / 0
Использование элемента VSFlexGrid в MS ACCESS
    #37223468
ALEXIS_22
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторALEXIS_22,
В возвращенном файле ваш код не редактирует источник ....?

Почему? У меня редактирует. Но мой пример действительно не совсем корректный в том плане, что должно быть использовано собственно ключевое скрытое поле. А в чем ошибка?
...
Рейтинг: 0 / 0
Использование элемента VSFlexGrid в MS ACCESS
    #37223526
ZezaM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ALEXIS_22,
наверное поэтому
...должно быть использовано собственно ключевое скрытое поле...
разобраться не успел, просто глянул where и Debug.Print sql .... :)
на всякий тот файл приложу
...
Рейтинг: 0 / 0
Использование элемента VSFlexGrid в MS ACCESS
    #37223574
ZezaM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
R Dmitry,
конечно ADD быстрее,
в моем первом файле заремлен и такой вариант
просто руками ч/з vbTab не хотелось...
за консультацию спасибо : ))
...
Рейтинг: 0 / 0
Использование элемента VSFlexGrid в MS ACCESS
    #37267710
ALEXIS_22
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не хотел бы поднимать новый топик.
Уважаемые, кто, подсказать как правильно работать со св-вом
Код: plaintext
.DataSource 
этого элемента.

Пробовал так
Код: plaintext
1.
2.
3.
4.
5.
Me!Grid8.DataMode = flexDMBound
Dim r As DAO.Recordset
Set r = CurrentDb.OpenRecordset("SELECT DAT.* FROM DAT;",  2 )
r.MoveLast: r.MoveFirst
Set Me!Grid8.DataSource = r
r.Close: Set r = Nothing
' не находит такого св-ва.

Из обсуждений понял, что видимо нужно использовать ADO только какой ? А можно ли DAO?

Загружая этот элемент записями в цикле из рекордсета, столкнулся с проблемой тормозов при более менее больших объемах записей (что естественно). Надо биндится. Подскажите как это можно сделать?
...
Рейтинг: 0 / 0
Использование элемента VSFlexGrid в MS ACCESS
    #37361559
КириллН
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Перелопатил почти весь штатный хелп по VSFlexGrid, но не нашел, как создавать узлы (FlexNode) в данном элементе управления... В примерах из инсталлятора данного компонента заполнение дерева происходит автоматически, а я хочу вручную из рекордсета. Помогите кто чем может...
...
Рейтинг: 0 / 0
Использование элемента VSFlexGrid в MS ACCESS
    #37361598
КириллН
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В частности есть два класса VSFlexGrid и VSFlexNode. Но вот связи между ними я не нашел...
...
Рейтинг: 0 / 0
Использование элемента VSFlexGrid в MS ACCESS
    #37361836
ALEXIS_22
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В справке по VS FlexGridPro 8.0 (раздел VS FlexGrid Tutorials - OutlineDemo - далее по шагам)
...
Рейтинг: 0 / 0
Использование элемента VSFlexGrid в MS ACCESS
    #37361852
КириллН
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ALEXIS_22,

Эва как!.. Спасибо =)
...
Рейтинг: 0 / 0
Использование элемента VSFlexGrid в MS ACCESS
    #37361854
ALEXIS_22
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вы такое представление имеете ввиду?
...
Рейтинг: 0 / 0
Использование элемента VSFlexGrid в MS ACCESS
    #37361882
ALEXIS_22
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Маленькое уточнение - в примере речь идет о построении дерева на основании чтения строк ini - файлов WINDOWS.
Но это не принципиально - можно на основе инструкции SQL.

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
Sub AddNode()
Dim r As DAO.Recordset
Dim ln As String
Set r = CurrentDb.OpenRecordset("SELECT tbl1.* FROM tbl1 ORDER BY tbl1.Key;",  2 )
r.MoveLast: r.MoveFirst
   With fg
   Do Until r.EOF
       If Len(r( 3 )) =  1  Then
       .AddItem r( 0 )
       .IsSubtotal(.Rows -  1 ) = True
       .TreeColor = vbBlue
       .Cell(flexcpFontBold, .Rows -  1 ,  0 ) = True
       .Cell(flexcpForeColor, .Rows -  1 ,  0 ) = vbBlue
            ElseIf Len(r( 3 )) =  2  Then
            .AddItem r( 0 )
            .IsSubtotal(.Rows -  1 ) = True
            .TreeColor = vbBlue
            .RowOutlineLevel(.Rows -  1 ) =  1 
            .Cell(flexcpFontBold, .Rows -  1 ,  0 ) = True
            ElseIf Len(r( 3 )) =  3  Then
            .AddItem r( 0 ) & vbTab & vbNullString & vbTab & r( 2 )
            .IsSubtotal(.Rows -  1 ) = True
            .RowOutlineLevel(.Rows -  1 ) =  2 
            .Cell(flexcpFontBold, .Rows -  1 ,  0 ) = True
            ElseIf Len(r( 3 )) =  4  Then
            .AddItem r( 0 ) & vbTab & vbNullString & vbTab & r( 2 )
            .IsSubtotal(.Rows -  1 ) = True
            .RowOutlineLevel(.Rows -  1 ) =  3 
            ElseIf Len(r( 3 )) =  5  Then
            .AddItem r( 0 ) & vbTab & vbNullString & vbTab & r( 2 )
            .IsSubtotal(.Rows -  1 ) = True
            .RowOutlineLevel(.Rows -  1 ) =  4 
            ElseIf Len(r( 3 )) =  6  Then
            .AddItem r( 0 ) & vbTab & vbNullString & vbTab & r( 2 )
            .IsSubtotal(.Rows -  1 ) = True
            .RowOutlineLevel(.Rows -  1 ) =  5 
             ElseIf Len(r( 3 )) =  7  Then
            .AddItem r( 0 ) & vbTab & vbNullString & vbTab & r( 2 )
            .IsSubtotal(.Rows -  1 ) = True
            .RowOutlineLevel(.Rows -  1 ) =  6 
       End If
    r.MoveNext
    Loop
    End With
    r.Close
    Set r = Nothing
    End Sub
...
Рейтинг: 0 / 0
Использование элемента VSFlexGrid в MS ACCESS
    #37361890
КириллН
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ALEXIS_22,

Вот теперь совсем спасибо! :) Буду ковыряться дальше
...
Рейтинг: 0 / 0
Использование элемента VSFlexGrid в MS ACCESS
    #37362019
КириллН
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А я правильно понимаю, что ни строки, ни ячейки в VSFlexGrid не имеют никаких свойств типа Key или Tag? Т.е. это исключительно информационно-просмотровый инструмент, из которого нельзя (при том, что он отвязанный) выйти на какую-либо запись, не внося в ячейки идентификаторов?
...
Рейтинг: 0 / 0
Использование элемента VSFlexGrid в MS ACCESS
    #37362266
ALEXIS_22
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторА я правильно понимаю, что ни строки, ни ячейки в VSFlexGrid не имеют никаких свойств типа Key или Tag? Т.е. это исключительно информационно-просмотровый инструмент, из которого нельзя (при том, что он отвязанный) выйти на какую-либо запись, не внося в ячейки идентификаторов?

У FlexGrid как бы можно определить что-то вроде уникального индекса ячейки, но это мне кажется не совсем то, что Вы имеете ввиду.
"Для доступа к содержимому произвольной ячейки используется свойство TextArray. Оно имеет один параметр - Index. Это индекс ячейки, содержимое которой нужно изменить или получить. Он вычисляется следующим образом. К номеру столбца ячейки прибавляется произведение ее номера строки на количество колонок, определяемое свойством Cols. Для расчёта индекса ячейки удобно использовать эту функцию:
Код: plaintext
1.
2.
Function GetCellIndex (MSFlexGrid As MSFlexGrid, row As Integer, col As Integer)
GetCellIndex = row * MSFlexGrid.Cols + col
End Function"
...
Рейтинг: 0 / 0
Использование элемента VSFlexGrid в MS ACCESS
    #37362894
КириллН
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ALEXIS_22,

Та не... Я вот о чем:
В ComboBox есть т.н. присоединенный (и, как правило, скрытый) столбец - поле, из которого берутся идентификаторы для дальнейшего использования. В ListBox тоже такое имеется. В TreeView и ListView каждый Node/Item имеет свой .Key для хранения в нем ID записи, которой этот Node/Item соответствует, плюс еще .Tag, по которому можно определить, какого типа данная запись (для TreeView, например, это могут быть категории товаров - [Tag = "StockType"] - либо сами наименования - [Tag = "StockItem"]) - очень удобно для обработки выбранных узлов/строк: выбрал наименование, нажал кнопку Cmd_Modify в форме - открылась форма редактирования, заполнившаяся значениями связанных записей (производитель, поставщик, количество, вес и т.п.). Либо, выбрал узел дерева, а справа от дерева заполнилась какая-то справочная форма, расписывающая в подробностях свойства выбранного наименования.
А вот во FlexGrid нету у строк никаких .Key, что затрудняет обработку выбранных записей. Или я недоглядел?
...
Рейтинг: 0 / 0
Использование элемента VSFlexGrid в MS ACCESS
    #37363041
ALEXIS_22
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тот пример построения дерева в FlexGrid на основе таблицы подразумевает, что в таблице есть поле, содержащее значение ключа, который и является по сути уникальным идентификатором.

Про свойство .Key этого элемента я ничего не знаю. Может что-то не дочитал:)). А про .Tab
Из справки:

Код: plaintext
1.
2.
3.
4.
5.
Tag Property
Stores any extra data needed for your program.
Syntax
[[form!]VSFlexGrid.Tag[ = value As String ]
Data Type
String

Но это по-моему опять не то.
...
Рейтинг: 0 / 0
Использование элемента VSFlexGrid в MS ACCESS
    #37363096
КириллН
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ALEXIS_22,

Да, это опять не то. Form!VSFG.Tag - это свойство контрола, а мне надо, чтобы это свойство было присуще строкам (а лучше вообще ячейкам), расположенным внутри этого контрола.

А поле ID в таблице (читай - рекордсете), на основе которой заполняется VSFG, есть, но значения этих ID никуда не впихнуть в строки так, чтобы их было не видно. Или можно сделать какую-нибудь колонку скрытой и впихивать в ее ячейки ID-шки записей?
...
Рейтинг: 0 / 0
Использование элемента VSFlexGrid в MS ACCESS
    #37363425
ALEXIS_22
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
КириллН Или можно сделать какую-нибудь колонку скрытой и впихивать в ее ячейки ID-шки записей?
Ну да, так и делается. Ведь при заполнении FlexGrida необходимо при загрузке формы ему ряд установок задать, в том числе и тех что касаются количества столбцов (или их видимости).

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
fg.Cols =  3 
fg.ExtendLastCol = True
fg.FixedCols =  0 
fg.Rows =  1 
fg.FormatString = "УЗЕЛ|Текст 1|Текст 2"
fg.OutlineBar = flexOutlineBarComplete
fg.GridLines = flexGridNone
fg.MergeCells = flexMergeSpill
fg.ColWidth( 0 ) =  3500 
fg.ColWidth( 1 ) =  2000 
fg.ColWidth( 2 ) =  2000 
fg.BackColor = vbYellow

или так
Код: plaintext
fg.ColHidden( 0 ) = True
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
Использование элемента VSFlexGrid в MS ACCESS
    #39088715
Romanz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
FG1.Col = 5
FG1.Row = 6
FG1.CellBackColor = 16114643

Можно ли иначе задать цвет произвольной ячейки?
...
Рейтинг: 0 / 0
86 сообщений из 86, показаны все 4 страниц
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Использование элемента VSFlexGrid в MS ACCESS
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]