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

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

02.06.2013, 06:56. Показов 6186. Ответов 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,907
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
Модератор
10057 / 3902 / 884
Регистрация: 22.02.2013
Сообщений: 5,853
Записей в блоге: 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
Модератор
10057 / 3902 / 884
Регистрация: 22.02.2013
Сообщений: 5,853
Записей в блоге: 79
02.06.2013, 09:57
Цитата Сообщение от inv.DS Посмотреть сообщение
там не так все просто
Что не получается то?
Миниатюры
Заполнение данными FlexGrid значениями из БД  
0
Заблокирован
02.06.2013, 10:02  [ТС]
The trick, Странно у меня пишет, что объект не поддерживает свойство!
0
Модератор
10057 / 3902 / 884
Регистрация: 22.02.2013
Сообщений: 5,853
Записей в блоге: 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
Модератор
10057 / 3902 / 884
Регистрация: 22.02.2013
Сообщений: 5,853
Записей в блоге: 79
02.06.2013, 10:06
Сейчас скину пример там и от и тот используется. Просто обычный FlexGrid работает c DAO. Его надо наполнять в цикле насколько мне известно.
0
Модератор
10057 / 3902 / 884
Регистрация: 22.02.2013
Сообщений: 5,853
Записей в блоге: 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
Модератор
10057 / 3902 / 884
Регистрация: 22.02.2013
Сообщений: 5,853
Записей в блоге: 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
Модератор
10057 / 3902 / 884
Регистрация: 22.02.2013
Сообщений: 5,853
Записей в блоге: 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
Модератор
10057 / 3902 / 884
Регистрация: 22.02.2013
Сообщений: 5,853
Записей в блоге: 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
Модератор
10057 / 3902 / 884
Регистрация: 22.02.2013
Сообщений: 5,853
Записей в блоге: 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
Ответ Создать тему
Новые блоги и статьи
Вывод данных через динамический список в справочнике
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2. Задача: вывести данные из ТЧ нетипового документа. . .
Функция заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению. На форме документа создается. . .
К слову об оптимизации
kumehtar 01.04.2026
Вспоминаю начало 2000-х, университет, когда я писал на Delphi. Тогда среди программистов на форумах активно обсуждали аккуратную работу с памятью: нужно было следить за переменными, вовремя. . .
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
10 пpимет, которые всегда сбываются
Maks 31.03.2026
1. Чтобы, наконец, пришла маршрутка, надо закурить. Если сигарета последняя, маршрутка придет еще до второй затяжки даже вопреки расписанию. 2. Нaдоели зима и снег? Не надо переезжать. Достаточно. . .
Перемещение выделенных строк ТЧ из одного документа в другой
Maks 31.03.2026
Реализация из решения ниже выполнена на примере нетипового документа "ВыдачаОборудованияНаСпецтехнику" с единственной табличной частью "ОборудованиеИКомплектующие" разработанного в конфигурации КА2. . . .
Functional First Web Framework Suave
DevAlt 30.03.2026
Sauve. IO Апнулись до NET10. Из зависимостей один пакет, работает одинаково хорошо как в режиме проекта так и в интерактивном режиме. из сложностей - чисто функциональный подход. Решил. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru