Форум программистов, компьютерный форум, киберфорум
Visual Basic
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.89/9: Рейтинг темы: голосов - 9, средняя оценка - 4.89
Заблокирован
1

Имена столбцов

19.05.2013, 14:19. Показов 1887. Ответов 9
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Добрый день! Есть такой вот код:

Visual Basic
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
Dim statement As String
Dim conn As ADODB.Connection
Dim rs As ADODB.Recordset
Dim c As Integer
Dim r As Long
 
    Set conn = New ADODB.Connection
    conn.ConnectionString = "Driver={Microsoft dBASE Driver (*.dbf)};driveId = 277 ; Dbq=" & Trim(frmMyForm.TextBox2.Text) & ";"
    conn.Open
 
    statement = "SELECT * FROM TEL"
    
    Set rs = conn.Execute(statement, , adCmdText)
 
    MSFlexGrid1.Rows = 2
    MSFlexGrid1.FixedRows = 1
    MSFlexGrid1.FixedCols = 1
 
    MSFlexGrid1.Rows = 1
    MSFlexGrid1.Cols = rs.Fields.Count + 1
 
    For c = 0 To rs.Fields.Count - 1
        MSFlexGrid1.TextMatrix(0, c) = rs.Fields(c).Name
    Next c
 
    r = 1
    Do While Not rs.EOF
        MSFlexGrid1.Rows = MSFlexGrid1.Rows + 1
        For c = 0 To rs.Fields.Count - 1
            MSFlexGrid1.TextMatrix(r, c + 1) = _
                rs.Fields(c).Value
        Next c
 
        rs.MoveNext
        r = r + 1
    Loop
 
    rs.Close
    conn.Close
 
    Call UPDGrid
Выводит следующие данные смотреть картинку. Обратите внимание на заголовки столбцов, они не совпадают на 1. Каждая не на своем месте. Цикл вывода колонок:

Visual Basic
1
2
3
    For c = 0 To rs.Fields.Count - 1
        MSFlexGrid1.TextMatrix(0, c) = rs.Fields(c).Name
    Next c
Любые попытки работы с циклом приводят к ошибки "За пределами значения". Подскажите как их поставить на места, что-то вообще мозг плавится.
Миниатюры
Имена столбцов  
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
19.05.2013, 14:19
Ответы с готовыми решениями:

Вывести фамилии и имена студентов, чьи имена начинаются на букву "б"
известны фамилии,адреса и телефоны 25 человек. Найти фамилии и адреса людей, чей телефон начинается...

Имена столбцов
Всем дд! Такой вопрос, как задать имя столбцам таблицы в DataGridView?

Зафиксировать имена столбцов
Добрый день! Помогите пожалуйста. Нужно в Excel 2013 зафиксировать имена столбцов, чтобы они при...

Считать имена столбцов из DataGridView
Нужно считать имена столбцов, а у меня не выходит. В список записывает пустоту. В чём проблема?...

9
11517 / 3803 / 681
Регистрация: 13.02.2009
Сообщений: 11,222
19.05.2013, 18:24 2
Как написал так и делает:
Visual Basic
1
2
 MSFlexGrid1.TextMatrix(0, c) = rs.Fields(c).Name
 MSFlexGrid1.TextMatrix(r, c + 1) = rs.Fields(c).Value
С+1 для чего?
0
Заблокирован
19.05.2013, 20:36  [ТС] 3
Alex77755, Все равно не работает.

Добавлено через 1 час 53 минуты

Товарищи ну идеи есть, проект встал обновление завтра выпускать надо в этом запарка пошла, отдел ждет! Помогите ! ! ! !
0
6807 / 2837 / 527
Регистрация: 24.04.2011
Сообщений: 5,308
Записей в блоге: 10
19.05.2013, 21:02 4
Цитата Сообщение от inv.DS Посмотреть сообщение
Товарищи ну идеи есть
Идей вагон!
1. Не выходит подвинуть текст (c + 1) - подвинь .Value
2 Не выходит c + 1? попробуй с-1
3. Не рисует в первой колонке? Добавь ещё одну, самую первую, сделай её пустой ( и очень маленькой, невидимой) или добавь "Номер п\п"
0
11517 / 3803 / 681
Регистрация: 13.02.2009
Сообщений: 11,222
20.05.2013, 07:22 5
Покажи скрин что получается при
Visual Basic
1
 MSFlexGrid1.TextMatrix(r, c ) =  rs.Fields(c).Value
0
Заблокирован
20.05.2013, 09:47  [ТС] 6
Цитата Сообщение от Alex77755 Посмотреть сообщение
MSFlexGrid1.TextMatrix(r, c ) = rs.Fields(c).Value
Ошибка цикла (За пределами значения)
0
Модератор
Эксперт функциональных языков программированияЭксперт Python
37302 / 20736 / 4272
Регистрация: 12.02.2012
Сообщений: 34,127
Записей в блоге: 14
20.05.2013, 10:40 7
У flexGrid-а установи fixedCols=0
0
11517 / 3803 / 681
Регистрация: 13.02.2009
Сообщений: 11,222
20.05.2013, 12:16 8
Лучший ответ Сообщение было отмечено The trick как решение

Решение

У меня И fixedCols=1
и рабочий код
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
Private Sub Комманда1_Click() ' Всё. показать весь список
Dim c
With FG ' выбрать таблицу
.Rows = 1 ' назначить в таблице одну строку
 
RS.MoveLast ' две строчки для подсчёта количества записей в таблице
RS.MoveFirst '
.TextMatrix(0, 0) = RS.Fields(0).Name ' заполнить значениями
    For c = 0 To .Cols - 1
      .TextMatrix(0, c) = RS.Fields(c).Name
     Next c
     
For J = 1 To RS.RecordCount ' с начала до конца таблицы
.Rows = .Rows + 1 ' прибавить строчку в таблице
    For c = 0 To .Cols - 1
        .TextMatrix(J, c) = RS.Fields(c) ' заполнить значениями
    Next c
RS.MoveNext ' следующая строка в таблице базы
Next J 'следующая строка
 
End With ' конец выбрать
End Sub 'конец процедуры
И всё соответствует
0
Заблокирован
20.05.2013, 12:35  [ТС] 9
Alex77755, Хорошо, а вот ваш код переделать под мой, не могу понять, что куда добавить?

Добавлено через 9 минут
Alex77755, Если использовать код:

Visual Basic
1
MSFlexGrid1.TextMatrix(r, c ) =  rs.Fields(c).Value
Тогда получается следующие смотреть картинку. И уважаемый Catstail, фиксированная нулевая колонка в гриде должна быть я не могу ее убрать то есть:

Visual Basic
1
MSFlexGrid1.FixedCols = 1
Не могу поставить значение равное нулю.

Мне нужно нулевую колонку не трогать оставить ее пустой. а заполнение начать со следующей.
Миниатюры
Имена столбцов  
0
11517 / 3803 / 681
Регистрация: 13.02.2009
Сообщений: 11,222
20.05.2013, 20:20 10
Ну если не трогать нулевую колонку, то везде вместо "с" пиши "с+1"
И при заполнении шапки и при заполнении значений.
Что непонятно-то?
Вот только на скрине колонок 3. И если нулевую не трогать, то их не зватит
0
20.05.2013, 20:20
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
20.05.2013, 20:20
Помогаю со студенческими работами здесь

Взможно ли отключить имена столбцов?
Здравствуйте! Для формы в режиме таблицы возможно отключить название столбцов?? Так как имеется...

Получить имена столбцов hibernate
Друзья как получить имена столбцов? Делаю нечто public Vector<Object> meta() throws SQLException...

Sqlite3 / Имена столбцов в триггерах
Всем привет! Пишу триггер: CREATE TRIGGER Trigger1 AFTER UPDATE ON...

Вывести списком имена отсутствующих столбцов
Доброго июльского дня! Подскажите, пожалуйста, решение не очень сложного вопроса. Есть лист, в...


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru