powered by simpleCommunicator - 2.0.55     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / DBGRID
4 сообщений из 4, страница 1 из 1
DBGRID
    #36987412
DUDALS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всем доброго времени суток.
Не могу неделю разобраться. На форуме не нашел. Суть вопроса: Почему в процессе разработки работает, а при компилировании глючит. Вот часть кода ставящего фильтр на количество записей по определенному условию.
Код: plaintext
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.
....
Select Case Me.cmbFiltr.ListIndex
Case  0  'область
strSQLFiltr = "SELECT * FROM FIO WHERE AdrOblast = '"
    If iSelCheck =  1  Then
        For iCheck =  1  To iAllCheck
          If Me.lstFiltr.Nodes(iCheck).Checked Then
                strSQLFiltr = strSQLFiltr & Me.lstFiltr.Nodes(iCheck).Text
          End If
        Next
    Else
    bolCheck = False
        For iCheck =  1  To iAllCheck
          If Me.lstFiltr.Nodes(iCheck).Checked Then
            If bolCheck = False Then
                strSQLFiltr = strSQLFiltr & Me.lstFiltr.Nodes(iCheck).Text
                bolCheck = True
            Else
                strSQLFiltr = strSQLFiltr & "' OR AdrOblast = '" & Me.lstFiltr.Nodes(iCheck).Text
            End If
          End If
        Next iCheck
    End If
    dtaTemp.RecordSource = strSQLFiltr & "' ORDER BY Fam, Im, Ot, God"
    dtaTemp.Refresh
    If Not (Me.dtaTemp.Recordset.EOF) And Not (Me.dtaTemp.Recordset.BOF) Then
        Me.dtaTemp.Recordset.MoveLast
        iCountFiltrRec = Me.dtaTemp.Recordset.RecordCount
        bolFiltr = True
    Else
        bolFiltr = False
    End If
Case  1 
....
If bolFiltr = True Then
    'устанавливаем фильтр
    frmMain.optFiltr.Value =  1 
    frmMain.optFiltr.Caption = "СНЯТЬ ФИЛЬТР"
    frmMain.optFiltr.ForeColor = &HFF&
        frmMain.dtaInfo.RecordSource = dtaTemp.RecordSource
        frmMain.dtaInfo.Refresh
        frmMain.dbgFIO.Refresh
        frmMain.stbInfo.Panels( 3 ).Text = iCountFiltrRec 'Информация о количестве записей
        'End With
    'MsgBox "Найдено " & iCountFiltrRec & " записей удовлетворяющих условию.", vbOKOnly + vbInformation, "Фильтр установлен!"
    Unload Me
Else
    MsgBox "Записей удовлетворяющих условию не найдено.", vbOKOnly + vbCritical, "Внимание!"
    frmMain.optFiltr.ForeColor = &H0&
    frmMain.optFiltr.Value =  0 
    frmMain.optFiltr.Caption = "УСТАНОВИТЬ ФИЛЬТР"
    'frmMain.mnuFile.Checked = False
    Unload Me
End If
...
Понимаю, что DBGRID не ахти, но ... не хочу переписывать много кода и переходить на другой грид.
Буду очень признателен за помощь.
...
Рейтинг: 0 / 0
DBGRID
    #36987499
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В чем глюк-то?
...
Рейтинг: 0 / 0
DBGRID
    #36987715
Фотография VladConn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DUDALS,

Потому что Вы видимо используете Menu Run, а не Run with Debug. Если это так, то используйте последнее, и скорее всего при разработке заглючит тоже. У меня перед глазами щас нет VB, могу неточно что-то назвать.
...
Рейтинг: 0 / 0
DBGRID
    #36987750
DUDALS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.Pro,

Глюк в том, что сформированный запрос и обновление грида выполняется только в среде разработки. В компилированной версии видно, что запрос выполняется (выводятся только нужные записи), но потом отображаются все записи. Проверял запрос через msgbox и так и так. В среде разработки 2 идущих в подряд msgboxa показывают 2 одинаковых запроса к базе, а в компилированной 1 запрос "select * from FIO where AdrOblast = 'МИНСКАЯ' order by Fam, Im, Ot, God", а сразу идущий за этим msgbox показывает, что запрос ни с того ни с сего стал "select * from FIO order by Fam, Im, Ot, God" - без where. Сломал уже моСг.
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / DBGRID
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]