VB, Access, DBGrid

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
fishh
Обычный пользователь
Обычный пользователь
 
Сообщения: 81
Зарегистрирован: 21.10.2005 (Пт) 9:50

VB, Access, DBGrid

Сообщение fishh » 17.02.2007 (Сб) 12:54

Дана таблица в Accesse из полей: ФИО, Предмет, Оценка. Например, Иванов С.А. имеет несколько оценок по разным предметам. Как можно сделать, чтобы список предметов был в заголовке табл DBGrid.
Пример:
________________________________
|_ФИО_|_Физика_|_Химия_|_Лит-ра_|
----------------------------------------------
|Иванов|___4____|___3___|____5___|
------------------------------------------
Можно использовать др элемент упр-ия

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 17.02.2007 (Сб) 13:05

Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

VVitafresh
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1641
Зарегистрирован: 12.05.2005 (Чт) 14:44
Откуда: Херсон, UA

Сообщение VVitafresh » 17.02.2007 (Сб) 13:32

fishh, кроме ключевого слова transform поищи еще по Crosstab Queries
В результате поиска у тебя должно получится что-то вроде:
Код: Выделить всё
TRANSFORM Avg(Ocenka) AS Ocenka_avg
SELECT fio
FROM school
GROUP BY fio
PIVOT predmet;
Никакую проблему невозможно решить на том же уровне, на каком она возникла. Нужно стать выше этой проблемы, поднявшись на следующий уровень.

fishh
Обычный пользователь
Обычный пользователь
 
Сообщения: 81
Зарегистрирован: 21.10.2005 (Пт) 9:50

Сообщение fishh » 19.02.2007 (Пн) 12:17

Хорошо, я сделала чтобы данные отображались так как надо (спасибо вам). Но теперь в этой таблице я хочу изменить оценки. Как это сделать? Возможно ли это?

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 19.02.2007 (Пн) 12:36

В pivot? Нет конечно.
Последний раз редактировалось GSerg 19.02.2007 (Пн) 12:40, всего редактировалось 1 раз.
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

VVitafresh
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1641
Зарегистрирован: 12.05.2005 (Чт) 14:44
Откуда: Херсон, UA

Сообщение VVitafresh » 19.02.2007 (Пн) 12:37

Нельзя, это запрос для отображения.
Никакую проблему невозможно решить на том же уровне, на каком она возникла. Нужно стать выше этой проблемы, поднявшись на следующий уровень.

fishh
Обычный пользователь
Обычный пользователь
 
Сообщения: 81
Зарегистрирован: 21.10.2005 (Пт) 9:50

Сообщение fishh » 19.02.2007 (Пн) 14:02

а если обойти это как-нибудь? Например, создать запрос основанный на выбранной колонке и строке. Нажимаем правую кнопку мыши и из всплывающего меню выбираем оценку. Тем самым изменяем данные в основной таблице. После чего обновляем перекрестный запрос.

Код: Выделить всё
Private Sub DBGrid1_BeforeColEdit(ByVal ColIndex As Integer, ByVal KeyAscii As Integer, Cancel As Integer)
reytru = DBGrid1.Columns(ColIndex).Caption
End Sub


Это я определяю название колонки. А как определить выбранную строку?

VVitafresh
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1641
Зарегистрирован: 12.05.2005 (Чт) 14:44
Откуда: Херсон, UA

Сообщение VVitafresh » 19.02.2007 (Пн) 14:35

А если у Иванова было несколько оценок по Физике (мы ведь среднюю выводим)? Как тогда будешь менять?
Никакую проблему невозможно решить на том же уровне, на каком она возникла. Нужно стать выше этой проблемы, поднявшись на следующий уровень.

fishh
Обычный пользователь
Обычный пользователь
 
Сообщения: 81
Зарегистрирован: 21.10.2005 (Пт) 9:50

Сообщение fishh » 19.02.2007 (Пн) 14:56

Нет. У него не может быть несколько оценок, т.к. существуют еще поля Месяц и Год.

Спасибо всем большое за помощь. Очень, очень, очень помогли
Я думаю, тему можно уже закрыть


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: Google-бот, Yandex-бот и гости: 105

    TopList