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

Заполнение данными FlexGrid значениями из БД

02.06.2013, 06:56. Показов 6156. Ответов 19
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Дайте пожалуйста у кого есть код для заполнения FlexGrid данными с базы. Через набор записей ADODB.Recordset.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
02.06.2013, 06:56
Ответы с готовыми решениями:

Пример с использованием FlexGrid в форме Access, в котором в FlexGrid заносятся данные с таблицы или с запроса
Если кто может помочь и скинуть пример с использованием FlexGrid в форме Access, в котором в FlexGrid заносятся данные с таблицы или с...

Автоматическое заполнение ячеек данными, взятыми из одной ячейки с динамическими данными
Добрый день! Подскажите, есть ли решение моей задачи: В одной и той же ячейке постоянно (ежесекундно) меняется число (данные...

Прокрутка в MSFlexGrid: FlexGrid.Row = 100 FlexGrid.TopRow = 100
Когда я из кода переставляю 'курсор' (рамочку) на другую клетку за пределами экрана, мне нужно, чтобы происходила прокрутка на эту клетку....

19
 Аватар для Апострофф
9908 / 3924 / 742
Регистрация: 11.10.2011
Сообщений: 5,904
02.06.2013, 08:40
Лучший ответ Сообщение было отмечено как решение

Решение

http://support.microsoft.com/kb/313330/ru - похоже ли?
Правда, там про DataGrid.

Добавлено через 3 минуты
http://support.microsoft.com/kb/189406/ru - вот ещё что-то более теплое...

Добавлено через 14 минут
И ещё такая портянка от Shocker.Pro
Кликните здесь для просмотра всего текста
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
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
Private Sub Command1_Click()
Beep
End
End Sub
 
Private Sub mnuCloseItem_Click()
Beep
End
End Sub
 
Private Sub mnuGosItem_Click()
Form3.Show
End Sub
 
Private Sub mnuPerepodItem_Click()
Form4.Show
End Sub
 
Private Sub mnuRypItem_Click()
Form2.Show
End Sub
 
 
Form2
 
Option Explicit
 
 
Private Sub Command1_Click()
MSFlexGrid1.AddItem ""
End Sub
 
Private Sub Command2_Click()
MSFlexGrid1.RemoveItem MSFlexGrid1.Row
End Sub
 
Private Sub Command3_Click()
Dim strFileName As String
Dim strFileContent As String
Dim nFreeFile As Integer
nFreeFile = FreeFile
CommonDialog1.ShowSave
strFileName = CommonDialog1.FileName
If strFileName <> "" Then
Open strFileName For Output As nFreeFile
strFileContent = MSFlexGrid1.TextMatrix(MSFlexGrid1.RowSel, MSFlexGrid1.ColSel)
Print #nFreeFile, strFileContent
Close
End If
End Sub
 
Private Sub Command4_Click()
Beep
Form1.Show
Form2.Hide
End Sub
 
Private Sub MSFlexGrid1_GotFocus()
MSFlexGrid1.ColWidth(0) = 400
MSFlexGrid1.ColWidth(1) = 1000
MSFlexGrid1.ColWidth(2) = 4000
MSFlexGrid1.ColWidth(3) = 1000
End Sub
 
Private Sub MSFlexGrid1_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyCode = vbKeyDelete Then
    MSFlexGrid1.Text = Empty
End If
End Sub
 
Private Sub MSFlexGrid1_KeyPress(KeyAscii As Integer)
If KeyAscii = 8 Then
        If Len(Trim(MSFlexGrid1.TextMatrix(MSFlexGrid1.RowSel, MSFlexGrid1.ColSel))) > 0 Then
            MSFlexGrid1.TextMatrix(MSFlexGrid1.RowSel, MSFlexGrid1.ColSel) = Mid(MSFlexGrid1.TextMatrix(MSFlexGrid1.RowSel, MSFlexGrid1.ColSel), 1, Len(MSFlexGrid1.TextMatrix(MSFlexGrid1.RowSel, MSFlexGrid1.ColSel)) - 1)
            Exit Sub
        Else
        Exit Sub
        End If
    ElseIf KeyAscii = 13 Then
        If MSFlexGrid1.Col <= 2 Then
            SendKeys "{right}"
            Exit Sub
        ElseIf MSFlexGrid1.Col = 3 Then
            MSFlexGrid1.Rows = MSFlexGrid1.Rows + 1
            SendKeys "{home}" + "{down}"
            Exit Sub
        End If
    Else
        If MSFlexGrid1.Col = 0 Then
               ElseIf MSFlexGrid1.Col = 1 Then
               ElseIf MSFlexGrid1.Col = 2 Then
               End If
    End If
    MSFlexGrid1.Text = MSFlexGrid1.Text + Chr(KeyAscii)
End Sub
 
Form3
 
Option Explicit
 
Private Sub Command1_Click()
MSFlexGrid1.AddItem ""
End Sub
 
Private Sub Command2_Click()
MSFlexGrid1.RemoveItem MSFlexGrid1.Row
End Sub
 
Private Sub Command3_Click()
CommonDialog1.Filter = " Files(*.mdb)|*.mdb"
CommonDialog1.ShowSave
If CommonDialog1.FileName <> "" Then
Close #1
Print MSFlexGrid1.Text
Open CommonDialog1.FileName For Output As #1
End If
End Sub
Private Sub Command4_Click()
Beep
Form1.Show
Form3.Hide
End Sub
 
Private Sub MSFlexGrid1_GotFocus()
MSFlexGrid1.ColWidth(0) = 400
MSFlexGrid1.ColWidth(1) = 4000
MSFlexGrid1.ColWidth(2) = 1500
End Sub
 
Private Sub MSFlexGrid1_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyCode = vbKeyDelete Then
    MSFlexGrid1.Text = Empty
End If
End Sub
 
Private Sub MSFlexGrid1_KeyPress(KeyAscii As Integer)
If KeyAscii = 8 Then
        If Len(Trim(MSFlexGrid1.TextMatrix(MSFlexGrid1.RowSel, MSFlexGrid1.ColSel))) > 0 Then
            MSFlexGrid1.TextMatrix(MSFlexGrid1.RowSel, MSFlexGrid1.ColSel) = Mid(MSFlexGrid1.TextMatrix(MSFlexGrid1.RowSel, MSFlexGrid1.ColSel), 1, Len(MSFlexGrid1.TextMatrix(MSFlexGrid1.RowSel, MSFlexGrid1.ColSel)) - 1)
            Exit Sub
        Else
        Exit Sub
        End If
    ElseIf KeyAscii = 13 Then
        If MSFlexGrid1.Col <= 2 Then
            SendKeys "{right}"
            Exit Sub
        ElseIf MSFlexGrid1.Col = 3 Then
            MSFlexGrid1.Rows = MSFlexGrid1.Rows + 1
            SendKeys "{home}" + "{down}"
            Exit Sub
        End If
    Else 
        If MSFlexGrid1.Col = 0 Then
               ElseIf MSFlexGrid1.Col = 1 Then
               ElseIf MSFlexGrid1.Col = 2 Then
               End If
    End If
    MSFlexGrid1.Text = MSFlexGrid1.Text + Chr(KeyAscii)
End Sub
 
Form4
 
Option Explicit
 
Private Sub Command4_Click()
Beep
Form1.Show
Form4.Hide
End Sub
 
Private Sub Command5_Click()
Dim strFileName As String
Dim strFileContent As String
Dim nFreeFile As Integer
Dim nFileLenght As Integer
CommonDialog1.ShowOpen
strFileName = CommonDialog1.FileName
nFreeFile = FreeFile
If strFileName <> "" Then
Close #nFreeFile
Open strFileName For Input As nFreeFile
nFileLenght = FileLen(strFileName)
strFileContent = Input(nFileLenght, #nFreeFile)
MSFlexGrid1.TextMatrix(MSFlexGrid1.RowSel, MSFlexGrid1.ColSel) = strFileContent
Close
End If
End Sub
 
Private Sub Command6_Click()
Dim strFileName As String
Dim strFileContent As String
Dim nFreeFile As Integer
Dim nFileLenght As Integer
CommonDialog1.ShowOpen
strFileName = CommonDialog1.FileName
nFreeFile = FreeFile
If strFileName <> "" Then
Close #nFreeFile
Open strFileName For Input As nFreeFile
nFileLenght = FileLen(strFileName)
strFileContent = Input(nFileLenght, #nFreeFile)
MSFlexGrid2.TextMatrix(MSFlexGrid2.RowSel, MSFlexGrid2.ColSel) = strFileContent
Close
End If
End Sub
 
Private Sub MSFlexGrid1_GotFocus()
MSFlexGrid1.ColWidth(0) = 400
MSFlexGrid1.ColWidth(1) = 2000
MSFlexGrid1.ColWidth(2) = 3000
End Sub
 
Private Sub MSFlexGrid1_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyCode = vbKeyDelete Then
    MSFlexGrid1.Text = Empty
End If
End Sub
 
Private Sub MSFlexGrid1_KeyPress(KeyAscii As Integer)
If KeyAscii = 8 Then
        If Len(Trim(MSFlexGrid1.TextMatrix(MSFlexGrid1.RowSel, MSFlexGrid1.ColSel))) > 0 Then
            MSFlexGrid1.TextMatrix(MSFlexGrid1.RowSel, MSFlexGrid1.ColSel) = Mid(MSFlexGrid1.TextMatrix(MSFlexGrid1.RowSel, MSFlexGrid1.ColSel), 1, Len(MSFlexGrid1.TextMatrix(MSFlexGrid1.RowSel, MSFlexGrid1.ColSel)) - 1)
            Exit Sub
        Else
        Exit Sub
        End If
    ElseIf KeyAscii = 13 Then
        If MSFlexGrid1.Col <= 2 Then
            SendKeys "{right}"
            Exit Sub
        ElseIf MSFlexGrid1.Col = 3 Then
            MSFlexGrid1.Rows = MSFlexGrid1.Rows + 1
            SendKeys "{home}" + "{down}"
            Exit Sub
        End If
    Else       
        If MSFlexGrid1.Col = 0 Then
               ElseIf MSFlexGrid1.Col = 1 Then
               ElseIf MSFlexGrid1.Col = 2 Then
               End If
    End If
    MSFlexGrid1.Text = MSFlexGrid1.Text + Chr(KeyAscii)
End Sub
 
Private Sub MSFlexGrid2_GotFocus()
MSFlexGrid2.ColWidth(0) = 400
MSFlexGrid2.ColWidth(1) = 2000
MSFlexGrid2.ColWidth(2) = 3000
End Sub
 
Private Sub MSFlexGrid2_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyCode = vbKeyDelete Then
    MSFlexGrid2.Text = Empty
End If
End Sub
 
Private Sub MSFlexGrid2_KeyPress(KeyAscii As Integer)
If KeyAscii = 8 Then
        If Len(Trim(MSFlexGrid2.TextMatrix(MSFlexGrid2.RowSel, MSFlexGrid2.ColSel))) > 0 Then
            MSFlexGrid2.TextMatrix(MSFlexGrid2.RowSel, MSFlexGrid2.ColSel) = Mid(MSFlexGrid2.TextMatrix(MSFlexGrid2.RowSel, MSFlexGrid2.ColSel), 1, Len(MSFlexGrid2.TextMatrix(MSFlexGrid2.RowSel, MSFlexGrid2.ColSel)) - 1)
            Exit Sub
        Else
        Exit Sub
        End If
    ElseIf KeyAscii = 13 Then
        If MSFlexGrid2.Col <= 2 Then
            SendKeys "{right}"
            Exit Sub
        ElseIf MSFlexGrid2.Col = 3 Then
            MSFlexGrid2.Rows = MSFlexGrid2.Rows + 1
            SendKeys "{home}" + "{down}"
            Exit Sub
        End If
    Else      
        If MSFlexGrid2.Col = 0 Then
               ElseIf MSFlexGrid2.Col = 1 Then
               ElseIf MSFlexGrid2.Col = 2 Then
               End If
    End If
    MSFlexGrid2.Text = MSFlexGrid2.Text + Chr(KeyAscii)
End Sub
 
Private Sub MSFlexGrid3_GotFocus()
MSFlexGrid3.ColWidth(1) = 3000
MSFlexGrid3.ColWidth(2) = 2000
End Sub
 
Private Sub MSFlexGrid4_GotFocus()
MSFlexGrid4.ColWidth(1) = 3000
MSFlexGrid4.ColWidth(2) = 2000
End Sub
 
Private Sub Form_Load()
Dim conn As New ADODB.Connection
Dim SourceBase As ADODB.Connection
Dim ConnString As MSFlexGrid
Dim SQL As String
    SourceBase = "D:\...."
    ConnString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & SourceBase & ";Persist Security Info=False"
    conn.Open ConnString
    
Dim rs As New ADODB.Recordset
 
    rs.CursorLocation = adUseClient
    rs.CursorType = adOpenDynamic
    rs.LockType = adLockOptimistic
 
SQL = "SELECT RYP.[Название дисциплины],RYP1.[Название дисциплины]" & "FROM RYP,RYP1" & "WHERE RYP.[Название дисциплины] <> RYP1.[Название дисциплины];"
rs.Open SQL, conn
    Do Until rs.EOF = True
    conn.Execute SQL
    rs.MoveNext
    Loop
rs.Close
conn.Close
 
End Sub
 
'15 авг 11, 21:02    [11123045]
1
Заблокирован
02.06.2013, 09:35  [ТС]
Апострофф, Не там по другому, не могу вспомнить как. Ребят ну, что с БД вообще не работаете?
0
Модератор
10048 / 3894 / 883
Регистрация: 22.02.2013
Сообщений: 5,847
Записей в блоге: 79
02.06.2013, 09:53
Если работаешь с ADO можно использовать MSHFlexGrid.
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
Option Explicit
Dim DB As adodb.Connection
Dim Emp As adodb.Recordset
Private Sub Form_Load()
    Set DB = New adodb.Connection
    DB.CursorLocation = adUseClient
    DB.ConnectionString = "Provider=Microsoft.Jet.oledb.4.0;" & _
    "Data Source=" & App.Path & "\DB.MDB"
    DB.Open
    Set Emp = DB.Execute("SELECT * FROM tblEmployees")
    Set HFlexGrid.DataSource = Emp
End Sub
0
Заблокирован
02.06.2013, 09:54  [ТС]
The trick, ADODB с ним работаем, там не так все просто.
0
Модератор
10048 / 3894 / 883
Регистрация: 22.02.2013
Сообщений: 5,847
Записей в блоге: 79
02.06.2013, 09:57
Цитата Сообщение от inv.DS Посмотреть сообщение
там не так все просто
Что не получается то?
Миниатюры
Заполнение данными FlexGrid значениями из БД  
0
Заблокирован
02.06.2013, 10:02  [ТС]
The trick, Странно у меня пишет, что объект не поддерживает свойство!
0
Модератор
10048 / 3894 / 883
Регистрация: 22.02.2013
Сообщений: 5,847
Записей в блоге: 79
02.06.2013, 10:03
Цитата Сообщение от inv.DS Посмотреть сообщение
The trick, Странно у меня пишет, что объект не поддерживает свойство!
Цитата Сообщение от The trick Посмотреть сообщение
Если работаешь с ADO можно использовать MSHFlexGrid.
Microsoft Hierarchical FlexGrid Control 6
0
Заблокирован
02.06.2013, 10:04  [ТС]
The trick, Обижаешь меня таким сообщением!
0
Модератор
10048 / 3894 / 883
Регистрация: 22.02.2013
Сообщений: 5,847
Записей в блоге: 79
02.06.2013, 10:06
Сейчас скину пример там и от и тот используется. Просто обычный FlexGrid работает c DAO. Его надо наполнять в цикле насколько мне известно.
0
Модератор
10048 / 3894 / 883
Регистрация: 22.02.2013
Сообщений: 5,847
Записей в блоге: 79
02.06.2013, 10:19
Лучший ответ Сообщение было отмечено The trick как решение

Решение

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
Option Explicit
Dim DB As adodb.Connection
Dim Emp As adodb.Recordset
Private Sub Form_Load()
    Dim N As Long
    Set DB = New adodb.Connection
    DB.CursorLocation = adUseClient
    DB.ConnectionString = "Provider=Microsoft.Jet.oledb.4.0;" & _
    "Data Source=" & App.Path & "\DB.MDB"
    DB.Open
    Set Emp = DB.Execute("SELECT * FROM tblEmployees")
    HFlexGrid.FixedCols = 0
    Set HFlexGrid.DataSource = Emp
    FlexGrid.Cols = Emp.Fields.Count
    FlexGrid.FixedCols = 0
    FlexGrid.Row = 0
    ' Заполняем столбцы
    For N = 0 To Emp.Fields.Count - 1
        FlexGrid.Col = N
        FlexGrid.Text = Emp.Fields(N).Name
    Next
    ' Заполняем строки
    Emp.MoveFirst
    FlexGrid.Rows = Emp.RecordCount + 1
    Do Until Emp.EOF
        For N = 0 To Emp.Fields.Count - 1
            FlexGrid.Col = N
            FlexGrid.Text = Emp.Fields(N).Value
        Next
        If FlexGrid.Row < FlexGrid.Rows - 1 Then FlexGrid.Row = FlexGrid.Row + 1
        Emp.MoveNext
    Loop
End Sub
Вложения
Тип файла: rar Temp.rar (13.5 Кб, 72 просмотров)
2
Заблокирован
02.06.2013, 10:36  [ТС]
The trick, Было бы можно, я бы тебе максимум репутации дал, вопрос один остался, как сделать стандартную маску даты в колонке, то есть к примеру 01.01.2013 вместо 01/01/2013

Добавлено через 12 минут
The trick, И такое можно сделать, чтобы фиксированная 1 колонка осталась, а заполнение продолжилось не с нее, а дальше:

Visual Basic
1
FlexGrid.FixedCols = 1
0
Модератор
10048 / 3894 / 883
Регистрация: 22.02.2013
Сообщений: 5,847
Записей в блоге: 79
02.06.2013, 10:46
Цитата Сообщение от inv.DS Посмотреть сообщение
The trick, Было бы можно, я бы тебе максимум репутации дал, вопрос один остался, как сделать стандартную маску даты в колонке, то есть к примеру 01.01.2013 вместо 01/01/2013
Visual Basic
1
Set Emp = DB.Execute("SELECT Id,ФИО,Должность,Format(Дата, 'dd.mm.yyyy') as [Дата]  FROM tblEmployees")
0
Заблокирован
02.06.2013, 10:47  [ТС]
И такое можно сделать, чтобы фиксированная 1 колонка осталась, а заполнение продолжилось не с нее, а дальше:

Visual Basic
1
FlexGrid.FixedCols = 1
0
Модератор
10048 / 3894 / 883
Регистрация: 22.02.2013
Сообщений: 5,847
Записей в блоге: 79
02.06.2013, 10:50
Цитата Сообщение от inv.DS Посмотреть сообщение
И такое можно сделать, чтобы фиксированная 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
23
24
25
26
27
28
29
30
31
32
33
34
35
Option Explicit
Dim DB As adodb.Connection
Dim Emp As adodb.Recordset
Private Sub Form_Load()
    Dim N As Long
    Set DB = New adodb.Connection
    DB.CursorLocation = adUseClient
    DB.ConnectionString = "Provider=Microsoft.Jet.oledb.4.0;" & _
    "Data Source=" & App.Path & "\DB.MDB"
    DB.Open
    Set Emp = DB.Execute("SELECT NULL,Id,ФИО,Должность,Format(Дата, 'dd.mm.yyyy') as [Дата]  FROM tblEmployees")
    HFlexGrid.FixedCols = 1
    
    Set HFlexGrid.DataSource = Emp
    
    FlexGrid.Cols = Emp.Fields.Count
    FlexGrid.FixedCols = 1
    FlexGrid.Row = 0
    ' Заполняем столбцы
    For N = 1 To Emp.Fields.Count - 1
        FlexGrid.Col = N
        FlexGrid.Text = Emp.Fields(N).Name
    Next
    ' Заполняем строки
    Emp.MoveFirst
    FlexGrid.Rows = Emp.RecordCount + 1
    Do Until Emp.EOF
        For N = 0 To Emp.Fields.Count - 1
            FlexGrid.Col = N
            If Not IsNull(Emp.Fields(N).Value) Then FlexGrid.Text = Emp.Fields(N).Value
        Next
        If FlexGrid.Row < FlexGrid.Rows - 1 Then FlexGrid.Row = FlexGrid.Row + 1
        Emp.MoveNext
    Loop
End Sub
0
Заблокирован
02.06.2013, 10:55  [ТС]
Не прокатило, смотри.

1 колонка должна быть пустая, начинается со второй, 1 фиксированная и пустая.
Миниатюры
Заполнение данными FlexGrid значениями из БД  
0
Модератор
10048 / 3894 / 883
Регистрация: 22.02.2013
Сообщений: 5,847
Записей в блоге: 79
02.06.2013, 11:03
Кликните здесь для просмотра всего текста
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
Option Explicit
Dim DB As adodb.Connection
Dim Emp As adodb.Recordset
Private Sub Form_Load()
    Dim N As Long
    Dim FirstCol As Long                ' С какой заполнять от 0
    Set DB = New adodb.Connection
    DB.CursorLocation = adUseClient
    DB.ConnectionString = "Provider=Microsoft.Jet.oledb.4.0;" & _
    "Data Source=" & App.Path & "\DB.MDB"
    DB.Open
    
    Set Emp = DB.Execute("SELECT Id,ФИО,Должность,Format(Дата, 'dd.mm.yyyy') as [Дата]  FROM tblEmployees")
    FirstCol = 3
    FlexGrid.Cols = Emp.Fields.Count + FirstCol
    FlexGrid.FixedCols = FirstCol
    FlexGrid.Row = 0
    ' Заполняем столбцы
    For N = 0 To Emp.Fields.Count - 1
        FlexGrid.Col = N + FirstCol
        FlexGrid.Text = Emp.Fields(N).Name
    Next
    ' Заполняем строки
    Emp.MoveFirst
    FlexGrid.Rows = Emp.RecordCount + 1
    Do Until Emp.EOF
        For N = 0 To Emp.Fields.Count - 1
            FlexGrid.Col = FirstCol + N
            FlexGrid.Text = Emp.Fields(N).Value
        Next
        If FlexGrid.Row < FlexGrid.Rows - 1 Then FlexGrid.Row = FlexGrid.Row + 1
        Emp.MoveNext
    Loop
End Sub

Не?
Миниатюры
Заполнение данными FlexGrid значениями из БД  
1
Заблокирован
02.06.2013, 18:39  [ТС]
The trick, Все, огромное спасибо, я в студиях слабоват просто. Как выйду с "Бана" я за сообщение по максимум репутацию поставлю, спасибо друг!

The trick, Не могу найти свойство чтобы спрятать одну из колонок. Visible = False колонки. Как?
0
Модератор
10048 / 3894 / 883
Регистрация: 22.02.2013
Сообщений: 5,847
Записей в блоге: 79
02.06.2013, 18:56
Цитата Сообщение от inv.DS Посмотреть сообщение
The trick, Не могу найти свойство чтобы спрятать одну из колонок. Visible = False колонки. Как?
Можно сделать ColWidth=0 и AllowUserResizing = False, либо делать выборку каждый раз, исключая то поле которое надо
0
Заблокирован
03.06.2013, 06:59  [ТС]
MS FlexGrid не выдерживает нагрузки в 100.000 записей. Приходится разделять по таблицам при загрузке данных. А вот еще глюк с Microsoft Hierarchical FlexGrid некоторые колонки упорно не желают принимать форматирование "По центру". Как исправить?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
03.06.2013, 06:59
Помогаю со студенческими работами здесь

Перестановка узлов списка с данными значениями
Добрый день. Надо написать процедуру в классе на вход которой даются 2 ЗНАЧЕНИЯ узлов, она должна поменять местами эти УЗЛЫ. Здесть надо,...

Заполнение массива значениями
Камрады, есть еще одна задача. в массив int month = new int надо с помощью цикла for внести значения, дней месяца. то-есть: ...

Заполнение массива значениями
Всем привет! В результате данная программа выдает массив. Но не могу понять, почему он заполняется именно этими цифрами - от 0 до 6?...

Заполнение матрицы значениями
Создать матрицу 36 35 34 33 32 31 30 29 28 27 26 25 19 20 21 22 23 24 13 14 15 16 17 18 12 11 10 9 8 7 6 5 4 3 2 1

Заполнение структуры значениями
Как правильно заполнить структуру рандомными значениями? Проблема с инициализацией :( #include &lt;iostream&gt; #include...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Первый деплой
lagorue 16.01.2026
Не спеша развернул своё 1ое приложение в kubernetes. А дальше мне интересно создать 1фронтэнд приложения и 2 бэкэнд приложения развернуть 2 деплоя в кубере получится 2 сервиса и что-бы они. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит токи на L и напряжения на C в установ. режимах до и. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Изучаю kubernetes
lagorue 13.01.2026
А пригодятся-ли мне знания kubernetes в России?
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru