Форум программистов, компьютерный форум, киберфорум
Наши страницы
MS Access
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.50/8: Рейтинг темы: голосов - 8, средняя оценка - 4.50
V_Monomax
651 / 584 / 18
Регистрация: 09.08.2011
Сообщений: 1,477
Записей в блоге: 1
Завершенные тесты: 1
1

Как из графика получить значение указанное мышью

12.08.2011, 15:27. Просмотров 1433. Ответов 7
Метки нет (Все метки)

Есть база Access, в котой есть формаглавная и подчиненая, в подчиненной форме строится график. Как по клику мышкой на кривой графика получить значения в определенную строку в главной форме?

В Access при наведении на график появляются значения, какой класс отвечает за работу с граффиками?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.08.2011, 15:27
Ответы с готовыми решениями:

По массиву А получить массив В, присвоив его k элементу значение true, если выполнено указанное ниже условие и значение false
По массиву А получить массив В, присвоив его k элементу значение true, если...

Получить значение с графика
Здравствуйте. Есть график построенный по точкам и аппроксимированный...

Как сделать чтобы по нажатию на Button в ListBox заносилось указанное значение
Всем привет! Подскажите как сделать чтобы по нажатию на button в listbox...

Как получить координаты места клика мышью относительно объекта, а не формы
Как получить координаты места клика мышью относительно определенного объекта, а...

Передвижение мышью графика.
Есть программа которая рисует графики. Код который передвигает график: ...

7
ironegg
1899 / 776 / 31
Регистрация: 11.02.2010
Сообщений: 1,567
13.08.2011, 23:58 2
интересный вопрос. выложи пример
0
V_Monomax
651 / 584 / 18
Регистрация: 09.08.2011
Сообщений: 1,477
Записей в блоге: 1
Завершенные тесты: 1
16.08.2011, 20:50  [ТС] 3
по сути любой может создать график в Access-е, если рассматривать мой случай, мне необходимо видя график указать некоторое количество констант. Точных математических обработок для получения констант в 100% случаев не удаеться. однако проще пользователю указать константы. Константы указаны на рис в форме вход.
С другой стороны стандартно при наведении на график мы видим имя ряда, ординату и абсциссу точки на которую наводим курсор мыши См рис.

А вот и сама база, главное окно пока Вход (Vhod)
0
Миниатюры
Как из графика получить значение указанное мышью  
Вложения
Тип файла: zip Метод_Площадей_Симою.zip (621.3 Кб, 42 просмотров)
V_Monomax
651 / 584 / 18
Регистрация: 09.08.2011
Сообщений: 1,477
Записей в блоге: 1
Завершенные тесты: 1
23.08.2011, 15:17  [ТС] 4
Вот нашел некое описание для excel:
Sub GetChartElement (x as long, y as long, elementid as long, argl as long, arg2 as long). Представьте себе, что пользователь щелкнул кнопку мыши где-то над диаграммой. Обработав это событие, можно получить координаты курсора мыши – x и y. Если теперь вызвать метод getchartelement с этими координатами, то он вернет значение параметра elementid – идентификатор элемента диаграммы и значения двух параметров, связанных с этим элементом. Конечно, параметры зависят от типа того элемента, чьи координаты x и y заданы.
Возникает вопрос, нужно ли что-то переделать или, вставляем напрямую в код формы с декларацией своего класса?
И Вообще куда вставлять код для обработки событий в форме диаграммы???

Добавлено через 6 часов 1 минуту
после того как вставил GetChartElement на клик мышки, выдает что оле объект не является объектом оле... То ли я сошел с ума, то ли перевод у лицензии кривой.
0
V_Monomax
651 / 584 / 18
Регистрация: 09.08.2011
Сообщений: 1,477
Записей в блоге: 1
Завершенные тесты: 1
31.08.2011, 11:05  [ТС] 5
итак кое-что все таки получилось:
1. Через вставку Activex мне удалось вставить в форму график Microsoft Graf 11.0
2. Потанцевав с бубном и справкой нашел такой код:
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Private Sub ChartSpace0_Click()
Dim chConstants
   Dim iSeriesNum
   Dim iPointNum
   Dim chtChart1
   Set chConstants = ChartSpace0.Constants
    Set chtChart1 = ChartSpace0.Charts(0)
 
   If ChartSpace0.SelectionType = chConstants.chSelectionPoint Then
      ' Point parent is series.
      iSeriesNum = ChartSpace0.Selection.Parent.Index
 
      iPointNum = ChartSpace0.Selection.Index
 
      MsgBox "Series: " & iSeriesNum & " Point: " & iPointNum
   End If
End Sub
который позволяет поределить номер точки, на которую мы нажали.
Однако возникает вопрос, как зная номер точки вытащить данные которые она несет (абсциссу и ординату)?
0
V_Monomax
651 / 584 / 18
Регистрация: 09.08.2011
Сообщений: 1,477
Записей в блоге: 1
Завершенные тесты: 1
06.09.2011, 11:46  [ТС] 6
Нашел выход, сначала создал функцию
Visual Basic
1
2
3
 Public Function numeric(N, m)
  If N = 1 Then numeric = N Else numeric = 1 + (N - m)
 End Function
Далее создал запрос на выборку наименьшего числа
SQL
1
2
3
SELECT MIN(Vhod.Id) AS IdF, Vhod.N_Ras, MinT.T
FROM Vhod INNER JOIN MinT ON Vhod.Id = MinT.Id
GROUP BY Vhod.N_Ras, MinT.T;
Затем используя запрос перенумеровал значения, и это дало возможность создать поля для выведения значений Кстати ранее приведенный код дейсвует в основном на OWC11
SQL
1
2
3
4
SELECT Vhod.X AS T, Vhod.Y AS H, Vhod.Lamda AS УП, NUMERIC([Id],[M]) AS N, Vhod.N_Ras, Vhod.Id, L.[Min-Id] AS M
FROM Vhod, L
WHERE (((Vhod.N_Ras)=0))
ORDER BY Vhod.X;
Ну и далее ворос практически закрыт, если не одно но!
Приходится танцевать с бубном.
0
ironegg
1899 / 776 / 31
Регистрация: 11.02.2010
Сообщений: 1,567
07.09.2011, 09:47 7
вот еще код через ScreenTip.
Visual Basic
1
2
3
4
5
6
Private Sub Form_BeforeScreenTip(ByVal ScreenTipText As Object, ByVal SourceObject As Object)
If StrComp(Left(ScreenTipText, 3), "ГђГїГ¤", vbBinaryCompare) <> 0 Then Exit Sub
Debug.Print SourceObject.GetValue(1); Tab; "êîîðäèГ*Г*ГІГ* Гµ"
Debug.Print Trim(SourceObject.GetValue(2)); Tab; "êîîðäèГ*Г*ГІГ* Гі"
Debug.Print String(20, "_")
End Sub
сваял его еще с месяц назад используя твою идею о экранных подсказках. это, конечно, тоже - не то. чувствую, можно лучше, но времени разобраться катастрофически не хватает.
кстати, я выяснил, для того, чтобы эффективно работать с формой в виде диаграммы через код VBA нужно установить и подключить к проекту библиотеку Web-компонентов офиса (OWC). однако, приведенный мною код работает и без этой библиотеки
1
V_Monomax
651 / 584 / 18
Регистрация: 09.08.2011
Сообщений: 1,477
Записей в блоге: 1
Завершенные тесты: 1
08.09.2011, 20:31  [ТС] 8
Я действительно использовал OWC11, правда даже сам не знал об этом (был установлен ранеее с визуал студио экспресс). Выяснил следующиие особености:
Цитата Сообщение от V_Monomax Посмотреть сообщение
iPointNum = ChartSpace0.Selection.Index
это определение номера точки,

Цитата Сообщение от V_Monomax Посмотреть сообщение
iSeriesNum = ChartSpace0.Selection.Parent.Index
определение ряда (номер ряда)
попробую ваш код
0
08.09.2011, 20:31
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.09.2011, 20:31

Графика: расстановка точек мышью
Не пойму как мне отслеживать мышку,т.е надо поставить четыре точки,и там короче...

Как получить уравнение из графика?
Здравствуйте! Подскажите, пожалуйста, есть ли в MathCad 13 возможность...

Как получить уравнение графика в Матлабе
Я на осцылографе получил график. Как мне получить или узнать уравнение этого...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru